@import url('fonts.css');


:root {
  --dunkelgruen_quotes: #287024;
  --dunkelgruen: #41813e;
  --lindgruen: #93b892;
  --dunkelblau: #04407f;
  --hellblau: #9bcdde;
  --tcm_braun: #825929;
  --bodytext: #444;
  --helles_beige: #f2ede8;
  --helles_beige2: #f4e9db;

  --transition-time: 250ms;
  --current-item: #4d7b4b;
  --current-item-hover: hsl(118, 20%, 44%);

  --padding: 5%;
  --team-overview-gap: 2rem;
}

/*
    l1  =  Therapieangebote -> Subpage
    team  =  Team
    l3  =  Kontakt
*/


/* --------------------------------------------------------------------------------------- */


html, body {
    margin: 0;
    padding: 0;
    width: 100%;
    height: 100%;
}

body {
    font: 400 1em/1.5 'Red Hat Display', 'Questrial', Tahoma, Verdana, Arial, Helvetica, sans-serif;
    font-size: clamp(1rem, 1.2vw, 1.2rem);
    color: var(--bodytext);
    overflow-x: hidden;
}

*,
*:after,
*:before {
   -webkit-box-sizing: border-box;
   -moz-box-sizing: border-box;
    box-sizing: border-box;
}


.clearfix:before,
.clearfix:after {
    content: '';
    display: table;
}

.clearfix:after {
    clear: both;
}

a,
a:visited {
    outline: none; /* Sorry */
}
/*
a:hover,
a:active {}
*/
a,
a:hover,
a:active,
a:visited,
body.team main .images a img.logo {
    transition: all var(--transition-time);
    text-decoration: none;
}

main a:not(#scrolldown),
main a:not(#scrolldown):visited {
    color: var(--dunkelgruen);
    border-bottom: 2px solid transparent;
    padding-bottom: 0.2em;
    word-break: break-all; /* Lamge Links umbrechen */
}

main a:not(#scrolldown):hover,
main a:not(#scrolldown):active {
    color: var(--dunkelgruen);
    border-bottom: 2px solid var(--dunkelgruen);
}

body.tcm main a:not(#scrolldown),
body.tcm main a:not(#scrolldown):visited {
    color: var(--tcm_braun);
}

body.tcm main a:not(#scrolldown):hover,
body.tcm main a:not(#scrolldown):active {
    color: var(--tcm_braun);
    border-bottom: 2px solid var(--tcm_braun);
}

/* Bei verlinkten Bildern keine border-bottom */
main a:not(#scrolldown) img,
main a:not(#scrolldown):hover img {
    display: block;
    border-bottom: none;
    margin: 0;
    max-width: 100%;
}

/* More-Links (Startseite) */
main *:not(#scrolldown).more,
main *:not(#scrolldown).more:visited {
    color: var(--dunkelblau);
}

/* Pfeil nach rechts bei More-Links */
/*main a:not(#scrolldown):after*/
main /*a*/.more:after {
    position: relative;
    top: 0.05em;
    margin: 0 0 0 0.5em;
    content: "\f105";
    font-family: FontAwesome;
    font-weight: normal;
    color: var(--hellblau);
}

a[href$=".pdf"]:before,
a[href$=".zip"]:before,
a[href$=".jpg"]:before,
p.btn > a:before,
nav ul li.open:before {
    font-family: FontAwesome;
    font-weight: normal;
    margin: 0 0.5em 0 0;
}

a[href$=".pdf"]:before {
    /* content: "\00a0\f1c1"; */
    /* 00a0 = non-breaking space
    f1c1 = pdf symbol */
    content: "\f1c1";
    float: left;
}


/* Download-Bereich bei „Service“ */
main ul.downloads {
    list-style: none !important;
    margin: 0 !important;
}

main ul.downloads li {
    list-style: none !important;
    margin: 0 0 1.4rem 0 !important;
}

main ul.downloads li::before {
    display: none;
}

main ul.downloads li a span {
    display: block;
    color: var(--dunkelblau);
}

main ul.downloads li a {
    display: inline-block;
}


h1, h2, h3, h4, h5, h6, p, ul, ol {
    margin: 0 0 1.5em 0;
    font-weight: 400;
    line-height: 1.5;
    hyphens: auto;
    hyphenate-limit-chars: 8 3 3;
    hyphenate-limit-lines: 2;
}

h1 {
    font-size: 1.5em;
    line-height: 1.1;
}

h2 {
    font-size: 1.5em;
    line-height: 1.5;
    margin-bottom: 3em;
    margin: 0 0 7% 0;
}

body:not(.home) h2 {
    margin-bottom: 1em;
}

body.service h2 {
    line-height: 1;
    color: var(--dunkelblau);
}

h3, h4 {
    font-size: 1.3em;
    line-height: 1.3;
    margin-bottom: 0.7em;
}

h4 {
    font-weight: 600;
}

h5, h6 {
    font-size: 1.2em;
    font-weight: 400;
}

hr {
    float: left;
    width: 100%;
    margin: 1em 0 2.5em 0;
    height: 0;
    border: 0;
    border-bottom: 1px solid silver;
}

strong {
    font-weight: 700;
}

ul, ol {
    list-style: none;
}

figure {
  margin: 0;
}

figcaption:empty {
  display: none;
}

/* Wenn die Figcaption keinen Text (oder nur Leerzeichen) enthält, blende sie aus */
figcaption:not(:has(> *)):not(:has(text)) {
  display: none;
}

/* ODER noch einfacher, falls du nur auf echten Text prüfst: */
figcaption:empty,
figcaption:blank {
  display: none;
}

/* --------------------------------------------------------------------------------------- */
/*  Fixed Sidebar rechts
-------------------------------------------------------------------------------------------*/

#sidebar {
    position: fixed;
    z-index: 1000;
    top: calc(30% - 3em);
    right: 0;
    width: 3em;
    transition: right var(--transition-time);
}

/* --------------------------------------------------------------------------------------- */


    /*@media screen and (max-width: 40em) { /* 640 */
    @media screen and (max-width: 46.250em) { /* 740 */

        #sidebar {
            right: -3.5em;
        }

    }

/* --------------------------------------------------------------------------------------- */

#sidebar article {
    position: relative;
    cursor: pointer;
    display: block;
    width: 3em;
    height: 3em;
}

#sidebar article:not(:last-child) {
    border-bottom: 3px solid white;
}

#sidebar article > div {
    position: absolute;
    z-index: 1;
    cursor: auto; /* default */
    top: 0;
    right: calc(3em - 2px);
    width: 25em;
    padding: 1em 1.2em 1em 2em;
    background-color: white;
    border: 3px solid var(--hellblau);
    display: none;
}

#sidebar article:hover > div {
    display: block;
}

/* Erstes Element nicht nach oben verschieben */
#sidebar article:first-child:hover > div {
    top: 0;
}

/* Zweites Element 3em nach oben verschieben */
#sidebar article:hover > div {
    top: calc(-3em - 2px);
    top: -3em;
}

#sidebar article > div > *:last-child {
    margin-bottom: 0.5em;
}

#sidebar article * {
    text-align: left;
    margin-left: 0;
}

#sidebar article > div h2 {
    margin: 0.5em 0 1em 0;
    color: var(--dunkelgruen);
}

body.tcm #sidebar article > div h2 {
    color: var(--tcm_braun);
}

/* Logo in der Sidebar */
#sidebar article > div img {
    width: 80%;
    float: none;
}

#sidebar article:before {
    position: absolute;
    text-align: center;
    font-family: FontAwesome;
    font-weight: normal;
    color: white;

    margin: 0.85em 0 0 0.1em;
    font-size: 1.75em;

    line-height: 0;
    width: 1.5em;
}

#sidebar article.openinghours {
    background-color: var(--hellblau);
}

#sidebar article.openinghours:before {
    content: "\f017"; /* Clock */
}

#sidebar article.map {
    background-color: var(--hellblau);
}

#sidebar article.map:before {
    content: "\f041"; /* Map-Marker */
    /*content: "\f278"; /* Map */
}

#sidebar a {
    color: var(--bodytext);
    text-decoration: underline;
    text-underline-offset: 2px;
    text-decoration-color: var(--dunkelgruen_quotes);
    text-decoration-thickness: 0.1rem;
}

#sidebar a:hover {
    color: var(--dunkelgruen_quotes);
    text-decoration-color: var(--bodytext);
}

/* --------------------------------------------------------------------------------------- */
/*  Navigation bei kleineren Ausgabegeräten
-------------------------------------------------------------------------------------------*/


#showhide {
    /*cursor: pointer; /* default */
    display: none;
    position: fixed;
    z-index: 1000;
    top: 0;
    left: 0;
    width: 100%;
    height: 120px;
    padding: 0 var(--padding);
    background-color: rgba(250,250,250,0.95);
    filter: drop-shadow(0 0 2px rgba(0,0,0,0.5));
}

/* body.tcm #showhide {
    background-color: #f2ede8;
} */

#showhide > a {
    position: relative;
    float: left;
    padding: 1.5% 15% 0 15%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

#showhide > a > img {
    display: block;
    width: 100%;
    max-width: 304px;
}

body.tcm #showhide > a > img {
    max-width: 400px;
}

#showhide > div {
    cursor: pointer; /* default */
    position: absolute;
    padding: 2em;
    top: 15px;
    right: calc(var(--padding) - 2em);
}

#showhide span {
    display: block;
    width: 30px;
    height: 3px;
    background: #666;
    margin-bottom: 7px;
}

#showhide span:last-of-type {
    margin-bottom: 0;
}

/* --------------------------------------------------------------------------------------- */


    /*@media screen and (max-width: 60em) { /* 960 */
    @media screen and (max-width: 80em) { /* 1280 */

        #showhide {
            display: block;
        }

        #showhide > a {
            padding: 1.5% 10% 0 15%;
        }

    }

/* --------------------------------------------------------------------------------------- */


    @media screen and (max-width: 30em) { /* 480 */

        #showhide > a {
            padding: 1.5% 20% 0 0;
        }

    }

/* --------------------------------------------------------------------------------------- */
/*  Header
-------------------------------------------------------------------------------------------*/


header {
    position: fixed;
    z-index: 100;
    display: flex;
    width: 100%;
    padding: 0 var(--padding);
    top: 0;
    height: 150px;
    background-color: white;
    filter: drop-shadow(0 0 2px rgba(0,0,0,0.5));
    transition: height var(--transition-time);
}

header a.logo {
    display: flex;
    align-items: center;
    width: 40%;
    height: auto;
}

header.small a.logo {
    padding-bottom: .5rem;
}

header a.logo img {
    width: 100%;
    max-width: 304px;
    transition: max-width var(--transition-time), padding var(--transition-time);
}

body.tcm header a.logo img {
    max-width: 500px;
}

body.tcm header a.logo img.small {
    max-width: 410px;
}

header a.logo img.small {
    max-width: 250px;
    padding: 1.8em 0 1em 0;
}

header nav {
    margin: 0 0 0 auto; /* <ul> rechtbündig setzen */
    padding: 0;
    align-self: end;
}

header nav > ul {
    margin: 0;
    padding: 0;  
    display: flex;
}

header.small {
    height: 100px;
}

header nav > ul > li:not(:last-child) {
    border-right: .06em solid rgba(0,0,0,0.8);
}

header nav ul li {
    display: flex;
}

header nav ul li a {
    display: block;
    width: 100%;
    white-space: nowrap;
    padding: .6em 1em;
    color: rgba(0,0,0,0.8);
    background-color: white;
}

header nav ul li a span {
    display: block;
    font-size: 75%;
    padding: 0;
    color: rgba(0,0,0,0.4);
    background-color: transparent;
}

header nav ul li a:hover {
    color: white;
    background-color: var(--current-item-hover);
}

header nav ul li.tcm a:hover {
    background-color: #87745d;
}

header nav ul li a:hover span {
    color: white;
}

header > nav > ul > li.currentpath.open > a span,
header > nav > ul > li.current > a span {
    color: rgba(255,255,255,0.7);
}

header > nav > ul > li.currentpath.open > a,
header > nav > ul > li.current > a {
    color: white;
    background-color: #79644a;
    background-color: var(--current-item);
}

body.ergotherapie header > nav > ul > li.current > a {
    background-color: var(--current-item);
}

/* Gewählten Button unterhalb des übergeordneten Buttons highlighten */
header > nav > ul > li.currentpath.open > a + ul > li.current a {
    background-color: var(--current-item);
    color: white;
}

body.tcm header > nav > ul > li.current > a {
    background-color: #79644a;
}

header > nav > ul > li:first-child > a {
    border-top-left-radius: .3rem;
}

header > nav > ul > li:last-child > a {
    border-top-right-radius: .3rem;
}

/* --------------------------------------------------------------------------------------- */
/*  Header -> Nav -> Zweite Ebene
-------------------------------------------------------------------------------------------*/


header nav > ul > li > ul {
    position: absolute;
    top: 100%;
    margin: 0;
    padding: 0;
    min-width: 12em;
    background-color: rgba(250,250,250,0.95);
    display: none;
}

header nav > ul > li:hover ul {
    display: block;
}

/* --------------------------------------------------------------------------------------- */


    /*@media screen and (max-width: 60em) { /* 960 */
    @media screen and (max-width: 80em) { /* 1280 */

        header {
            position: absolute;
            width: 100%;
            height: auto;
            top: 0;
            display: block;
        }

        header a.logo,
        header.default a.logo {
            display: none;
        }

        header nav {
            position: absolute;
            display: none;
            top: 120px;
            left: 0;
            width: 100%;
            /* background-color: rgba(250,250,250,0.95); */
            background-color: white;
        }

        /* body.tcm header nav {
            background-color: var(--helles_beige);
        } */

        header nav > ul {
            position: relative;
            width: 100%;
            display: block;
            padding: 0;
        }

        header nav ul li {
            display: block;
        }

        header nav > ul > li:not(:last-child) {
            border-right: none;
        }

        header > nav > ul > li:first-child > a,
        header > nav > ul > li:last-child > a {
            border-radius: 0;
        }

        /* Submenü */
        header nav > ul > li ul {
            position: relative;
            width: 100%;
            display: block;
            left: auto;
            top: auto;
            margin: 0;
            padding: 0;
        }

        header nav ul li a {
            padding: 1.2em var(--padding) 1.2em var(--padding);
            border-bottom: 1px solid rgba(0,0,0,0.2);
        }
        
        header nav ul li a,
        header nav ul li a span {
            transition: all var(--transition-time);
        }

        header nav ul li a:hover,
        header nav ul li a:active,
        header nav ul li.current a {
            color: white;
        }


        header nav > ul > li > ul > li > a {
            padding-left: 60px;
        }

        .current .sub-navigation li > a {
            color: rgba(0,0,0,0.8);
        }

        .current .sub-navigation li > a:hover {
            color: white;
            background-color: var(--current-item);
        }


    }

/* --------------------------------------------------------------------------------------- */
/*  Slideshow-Visuals auf *anderen* Seiten (momentan full-width.php)
-------------------------------------------------------------------------------------------*/

section.slide-visual {
    position: relative;
    width: 100%;
    /*margin-*/top: 150px;
    /*min-*//*height: 100%; /* https://stackoverflow.com/questions/40775317/align-items-align-self-not-working-on-ie11 */
    height: 360px;
    background-repeat: no-repeat;
    background-position: top center;
    background-size: cover;
    transition: height var(--transition-time);
}

/* --------------------------------------------------------------------------------------- */


    @media screen and (max-width: 60em) { /* 960 */

        section.slide-visual {
            /*margin-*/top: 120px;
            height: 300px;
        }

    }

/* --------------------------------------------------------------------------------------- */


    @media screen and (max-width: 40em) { /* 640 */

        section.slide-visual {
            height: 200px;
        }

    }

/* --------------------------------------------------------------------------------------- */
/*  Content
-------------------------------------------------------------------------------------------*/

/* main {
    position: relative;
    display: block;
    margin: 0;
    width: 100%;
} */

body:not(.home):not(.tcm) main {
    margin: 220px 0 0 0;
}

/* --------------------------------------------------------------------------------------- */


    @media screen and (max-width: 40em) { /* 640 */

        body:not(.home):not(.tcm) main {
            margin-top: 160px;
        }

    }

/* --------------------------------------------------------------------------------------- */


main > section {
    padding: var(--padding);
}

main > section:first-child {
    padding-top: 0;
}

main h1 {
    color: var(--dunkelgruen);
}

body.tcm main h1 {
    color: var(--tcm_braun);
}

main h3,
main h4,
main h5,
main h6 {
    font-size: 1.1em;
    color: var(--dunkelblau);
}

main h5 {
    color: var(--dunkelgruen);
}

body.tcm main h5 {
    color: var(--tcm_braun);
}

/* main > section > article:not(:last-child) {
    border-bottom: 1px dashed grey;
    padding-bottom: 3em;
    margin-bottom: 4.5em;
} */

main ul {
    padding: 0;
}

main li {
    margin-left: 1em;
    margin-bottom: 0.75em;
}

/* Use em or % */
main li:before {
    position: relative;
    content: '\2022'; /* \2022 Round bullet, \25A0 Square bullet */
    margin-right: 3em;
    /*content: '•'; /* Alt-0149 = •; Alt-0183 = · */
    display: block;
    max-width: 0;
    max-height: 0;
    left: -1em;
    font-size: 1em;
    color: var(--lindgruen);
}

main ol {
    counter-reset: list-item;
    margin: 1.5em 0 2.5em 1.3em;
    padding: 0;
}

main ol li {
    counter-increment: list-item;
    margin-bottom: 0.75em;
}

main ol li:before {
    position: relative;
    content: counter(list-item) '.';
    top: 0.05em;
    text-align: right;
    text-indent: -0.3em;
    color: var(--dunkelgruen);
}

/* --------------------------------------------------------------------------------------- */
/* Team-Overview
-------------------------------------------------------------------------------------------*/


body.team main > section.team-overview > article {
    width: 100%;
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
    /* gap: var(--team-overview-gap); */
}

body.team main > section.team-overview > article a {
    width: calc(33.33333% - 10px);
    background-color: rgb(147, 184, 146);
    margin-bottom: 15px;
    transition: all var(--transition-time);
    /* flex: 1 1 calc(33.33333% - var(--team-overview-gap)); */
}

body.team main > section.team-overview > article a:last-child {
    margin-right: auto !important;
    margin-left: 15px;
}

body.team main > section.team-overview > article a[href]:hover {
    scale: 1.05;
    z-index: 1;
}

body.team main > section.team-overview > article a img {
    width: 100%;
    float: left;
}

body.team main > section.team-overview > article a > div {
    position: relative; /* :after */
    margin: 0 0 15px 0 !important;
    padding: 25px 30px 0 30px;
}

/* Roberto mittig und hellblauer Hintergrund */
body.team main > section.team-overview > article a:nth-child(2),
body.team main > section.team-overview > article a:nth-child(2) > div {
    background-color: var(--hellblau);
}

/* Roberto mittig und hellblauer Hintergrund -> Dreieck nach oben */
body.team main > section.team-overview > article a:nth-child(2) > div:after {
    content: url('../assets/lightblue-arrow.png');
    position: absolute;
    width: 39px;
    height: 19px;
    top: -19px;
    left: calc(50% - 19.5px);
}

body.team main > section.team-overview > article h4 {
    width: 100%;
    margin: 10px 0 25px 0 !important;
    transition: all var(--transition-time);
    color: white;
    font-size: 1.3em;
    text-align: center;
}

body.team main > section.team-overview > article a > div p {
    margin: 0 0 15px 0;
    color: white;
}

body.team main > section.team-overview > article a > div p:first-of-type {
    color: var(--dunkelblau);
    margin: 0 0 25px 0;
}

body.team main > section.team-overview > article a > div > /*p*/.more {
    margin: 0 0 10px 0;
    border: 1.5px solid rgba(255,255,255,0.7) !important;
    padding: 4px 15px;
    display: inline-block;
    color: white !important;
    transition: all var(--transition-time);
}

/* Pfeil nach rechts weiß anlegen */
body.team main > section.team-overview > article a > div > .more:after {
    color: white !important;
}

body.team main > section.team-overview > article a:hover > div > .more {
    /*background-color: var(--dunkelblau); /* blau */
    /*border-color: var(--dunkelblau); /* blau */
    background-color: rgb(155, 205, 222);
}

body.team main > section.team-overview > article a:hover > div > h4 {
    color: white;
}

/* --------------------------------------------------------------------------------------- */


    @media screen and (max-width: 60em) { /* 960 */

        body.team main > section.team-overview > article {
            justify-content: space-between;
        }

        body.team main > section.team-overview > article a {
            width: calc(50% - 10px);
            margin-bottom: 20px;
        }

        body.team main > section.team-overview > article a:last-child {
            margin-left: 0;
        }

    }

/* --------------------------------------------------------------------------------------- */


    @media screen and (max-width: 40em) { /* 640 */

        body.team main > section.team-overview > article {
            flex-direction: column;
            padding-bottom: 2rem;
        }

        body.team main > section.team-overview > article a {
            width: 100%;
            margin: 0;
            border: none !important;
        }

        body.team main > section.team-overview > article a:not(:last-child) {
            margin: 0 0 5% 0 !important;
        }

        body.team main > section.team-overview > article a > div {
            padding: 10px var(--padding) 0 var(--padding);
        }

    }

/* --------------------------------------------------------------------------------------- */
/*  Startseite
-------------------------------------------------------------------------------------------*/


body.home h2 {
    color: var(--dunkelblau);
    text-align: center;
}

/* Herzlich willkommen in Ihrer Praxis für Ergotherapie in Hamburg Barmbek-Süd */
body.home section.welcome h2 {
    margin-bottom: 1em;
}

/* Unser Team ist montags bis freitags von 8 - 18.30 Uhr für Sie da [...] */
body.home h5 {
    text-align: center;
    margin-bottom: 6%;
}

body:not(.home) main section h2,
main section article div h3 {
    display: inline-block;
    margin-bottom: 2em;
    border-left: 4px solid var(--hellblau);
    padding-left: 1em;
    color: var(--bodytext);
    font-size: 1em;
    /*font-style: italic;*/
    font-weight: 600;
}

/* ************************************************************************************************************************* */


body.home.tcm main section h1 {
    text-align: center;
    /*background: red;*/
    margin: var(--padding) 0 var(--padding) 0;
}

/* Team -> Mitglied-im-DVE-Logo, AGTCM-Logo */
body.team-member .images {
    display: flex;
    padding: var(--padding);
    justify-content: center;
    align-items: center;
    gap: 2em;
}

body.team-member .images a img {
    width: auto;
    height: 113px;
}

/* --------------------------------------------------------------------------------------- */


    /*@media screen and (max-width: 60em) { /* 960 */
    /*@media screen and (max-width: 40em) { /* 640 */
    @media screen and (max-width: 46.250em) { /* 740 */

        body.team-member .column_item figure img {
            margin-bottom: 2em;
        }

        /* Team -> Mitglied-im-DVE-Logo, AGTCM-Logo */
        body.team-member .images {
            gap: 1em;
        }

        body.team-member .images a img {
            width: 100%;
            height: auto;
        }

    }


/* ************************************************************************************************************************* */


body.l3 main h1,
/*body.team main h1,*/
body.l1 main h1,
body.l1 main h2,
body.l1 main h3,
body.l1 main h4,
body.l1 main h5,
body.l1 main h6,
body.l1 main p {
    margin-left: 50%;
}

body.l1 main ul,
body.l1 main ol {
    margin-left: calc(50% + 1em);
}

body.l1 main > section img {
    position: relative;
    width: 100%;
    max-width: 100% !important;
    height: auto !important;
    margin: 2em 0 3em 0;
}

body.team > main > section article > div img {
    margin: 0 0 1em 0;
}

/*
body.team > main > section article > div:first-child,
body.team > main > section article > div:last-child h3:first-child {
    position: -webkit-sticky;
    position: sticky;
    top: 10em;
}
*/

body.team > main > section article > div:last-child img {
    margin: 2em 0 1em 0;
}

/* Bild nur im Textfluss rechts, nicht links herausragend */
body.l1 > main > section img.bild-im-text {
    position: relative;
    left: 50%;
    width: 50%;
    margin: 2em 0 1em 0;
}

/* alt-Bilddescription über jQuery ausgelesen */
/* body.l1 > main > section img + figcaption, */
body.l1 > main > section img.bild-im-text + div {
    position: relative; /* relative */
    display: block;
    left: 50%;
    max-width: 50%;
    margin: 0.4em 0 3em 0;
    padding: 1.5em 1.5em 1.5em 2em;
    background-color: var(--lindgruen);
    color: white;
}

/* alt-Bilddescription über jQuery ausgelesen */
body.l1 > main > section img + figcaption,
body.l1 > main > section img + div,
body.team > main > section img + div {
    position: absolute; /* relative */
    display: block;
    left: 0;
    max-width: 25%;
    margin: 0.4em 0 0 var(--padding);
    padding: 1.5em 1.5em 1.5em 2em;
    background-color: var(--lindgruen);
    color: white;
}

body.team > main > section img + div {
    position: relative;
    clear: both;
    max-width: 100%;
    margin: 0.4em 0 3em 0;
}

body.l1 > main > section img + figcaption:before,
body.l1 > main > section img + div:before,
body.team > main > section img + div:before {
    content: '';
    position: absolute;
    top: -19px;
    left: 50%;
    transform: translateX(-50%);
    width: 39px;
    height: 19px;
    background: url('../assets/alt-bg.png') no-repeat center top;
}

/* --------------------------------------------------------------------------------------- */


    @media screen and (max-width: 60em) { /* 960 */

        /* Zusatzangebote */
        body.full-width main > section:first-child {
            margin-top: 120px;
        }

        body.l3 main h1,
        body.l1 main h1,
        body.l1 main h2,
        body.l1 main h3,
        body.l1 main h4,
        body.l1 main h5,
        body.l1 main h6,
        body.l1 main p,
        body.l1 main ul,
        body.l1 main ol {
            margin-left: 0;
        }
        
        body.l1 > main > section img + figcaption,
        body.l1 > main > section img + div,
        body.team > main > section img + div {
            display: none;
        }
    }

/* --------------------------------------------------------------------------------------- */


    /*@media screen and (max-width: 60em) { /* 960 */
    /*@media screen and (max-width: 40em) { /* 640 */
    @media screen and (max-width: 46.250em) { /* 740 */

        /* body.l3 h1,
        body.team h1,
        body.l1 h1,
        body.l1 h2,
        body.l1 h3,
        body.l1 h4,
        body.l1 h5,
        body.l1 h6,
        body.l1 p,
        body.l1 main ul,
        body.l1 main ol {
            margin-left: 0 !important;
        } */

        /* body:not(.home) main > section img {
            margin-bottom: 1.5em;
        } */

        body.l1 main > section img {
            margin: 0 0 2em 0;
        }

        /* Zweispalter (Kontakt) */
        body.l3 main > section > article {
            width: 100%;
        }

        /* Zweispalter (Kontakt) */
        body.l3 main > section > article:first-of-type {
            padding-right: 0;
        }

        /* Zweispalter (Team) */
        body.team main > section > article > div:first-child,
        body.team main > section > article > div:last-child {
            width: 100%;
            padding: 0;
        }

        /* Erstem Element in der rechten Spalte mehr Abstand nach unten geben */
        body.team > main > section > article > div:last-child > *:first-child {
            /*margin: 2em 0 3em 0;*/
            margin: 0 0 3em 0;
        }

        /* Team -> Mitglied-im-DVE-Logo, AGTCM-Logo */
        body.team main .images {
            flex-direction: column;
        }

        body.team main .images p {
            margin: 1em 0;
        }

        /* Team -> Mitglied-im-DVE-Logo, AGTCM-Logo innerhalb von <p> */
        body.team main .images p:not(:last-child) {
            margin-right: 0;
        }

        /* Bild nur im Textfluss rechts, nicht links herausragend */
        body.l1 > main > section img.bild-im-text {
            left: 0;
            width: 100%;
        }

        /* alt-Bilddescription über jQuery ausgelesen */
        body.l1 > main > section img.bild-im-text + div {
            left: 0;
            max-width: none;
        }

        /* alt-Bilddescription über jQuery ausgelesen */
        body.l1 > main > section img + div,
        body.team > main > section img + div {
            position: relative;
            max-width: none;
            margin: 0 0 3em 0;
        }
    }

/* --------------------------------------------------------------------------------------- */
/*  Visual auf der Startseite
-------------------------------------------------------------------------------------------*/


main > section.visual {
    position: relative;
    width: 100%;
    height: 100vh; /* https://stackoverflow.com/questions/40775317/align-items-align-self-not-working-on-ie11 */

    /* background-position: center 150px;
    background-image: url('../assets/ergotherapie-start.png'); */

    background-position: center 0px;
    /* background-image: url('../assets/ergotherapie-start-v2.png'); */
    background-image: url('../assets/ergotherapie-start-v4.webp');

    background-repeat: no-repeat;
    background-size: cover;
    display: flex;
    justify-content: center;
    align-items: flex-end;
}

body.tcm main > section.visual {
    background-image: url('../assets/akupunkturpuppe.png'); /* Akupunkturpuppe von Gemini */
}

/* --------------------------------------------------------------------------------------- */
/*  Zitat auf dem Visual auf der Startseite
-------------------------------------------------------------------------------------------*/


main > section.visual blockquote {
    position: relative;
    width: 50%;
}

body.tcm main > section.visual blockquote {
    margin: 0 0 0 30%; /* Akupunktur-Modell, farblich abgestimmt */
}

main > section.visual blockquote:before,
main > section.visual blockquote:after {
    position: absolute;
    font-family: 'Amaranth', cursive;
    font-style: normal;
    font-size: 9em;
    line-height: 0;
    /* color: var(--dunkelgruen_quotes); */
    color: white;
    opacity: 0.8;
}

main > section.visual blockquote:before {
    content: '„';
    top: -0.5em;
    left: -0.4em;
}

main > section.visual blockquote:after {
    content: '“';
    right: 0em;
    bottom: -0.25em;
}

main > section.visual blockquote h2 {
    font-size: calc(1.5em + 1vw);
    text-align: left;
    line-height: 200% !important;
}

main > section.visual blockquote h2 .author {
    position: relative;
    display: block;
    padding: 0;
    font-size: 70%;
    color: white;
    font-weight: 600;
    text-align: right;
    line-height: 1;
}

main > section.visual blockquote h2 .highlight {
    display: inline;
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
    color: white;
    background-color: var(--current-item);
    padding: 0.2em 0.6em 0.3em 0.6em;
    border-radius: .15rem;
}

body.tcm main > section.visual blockquote h2 {
    color: white;
}

body.tcm main > section.visual blockquote h2 .highlight {
    color: white;
    background-color: #79644a;
    background-color: hsl(33, 28%, 32%);
}

/* --------------------------------------------------------------------------------------- */


    /*@media screen and (max-width: 60em) { /* 960 */
    @media screen and (max-width: 80em) { /* 1280 */

        main > section.visual {
            background-position: center 120px;
        }

        body.tcm main > section.visual {
            background-position: -200px 120px;
        }

        main > section.visual blockquote {
            margin: -8em 0 0 3em;
        }

        body.tcm main > section.visual blockquote {
            margin: 3em 0 0 10%;
        }

    }

/* --------------------------------------------------------------------------------------- */


    @media screen and (max-width: 40em) { /* 640 */

        main > section.visual {
        height: 100vh;
        /* background-position: center 120px; */
        background-position: 73% 0;
        display: flex;
        justify-content: center;
        align-items: flex-end;
        }

        main > section.visual blockquote {
            /* font-size: calc(0.8rem + 0.05vw); */
            font-size: 60%;
            margin-bottom: 60px;
        }

        main > section.visual blockquote h2 .author {
            margin-top: 10px;
        }

    }

/* --------------------------------------------------------------------------------------- */
/*  Sektionen auf der Startseite (und Zusatzangebote)
-------------------------------------------------------------------------------------------*/


body.full-width main > section img {
    width: 100% !important;
    height: auto !important;
}

/*body.home main > section*/.green {
    background: var(--lindgruen) url('../assets/green-bg.png') no-repeat center top;
}

/*body.home main > section*/.beige {
    background: var(--helles_beige2) url('../assets/beige-bg.png') no-repeat center top;
}

/*body.home main > section*/.lightblue {
    background: var(--hellblau) url('../assets/lightblue-bg.png') no-repeat center top;
}

.lightgrey {
    background: #eeeeee url('../assets/white-arrow.png') no-repeat center top;
}

body.home main > section.green h2,
body.home main > section.green p {
    color: white;
}

body.home main > section.beige h2/*,
body.home main > section.beige p*/ {
    color: var(--dunkelgruen);
}

body.home main > section.lightblue h2 {
    color: white;
}

body.home main > section.lightblue p {
    color: black;
}

/* Neu 13.07.2018 */
body.home main > section.therapieangebote {
    padding-bottom: 0;
}

body.home main > section.therapieangebote > section {
    width: 100%;
    display: -webkit-flex;
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;

    padding: 0;
    /*background-color: rgba(245,245,0,0.5);*/
}

body.home main > section.therapieangebote > section article {
    flex-basis: 47.5%;
}

body.home main > section.therapieangebote > section article:nth-child(odd) {
    margin: 4em auto 4em 0;
}

body.home main > section.therapieangebote > section article:nth-child(even) {
    margin: 4em 0 4em auto;
}

body.home main > section.therapieangebote > section article h3 {
    text-align: center;
    text-transform: uppercase;
    font-size: 1.3em;
    color: var(--dunkelgruen);
    margin-bottom: 1.2em;
}

body.home.tcm main > section.therapieangebote > section article h3 {
    color: var(--tcm_braun);
}


/*body.tcm main > */section.image {
    padding: 0;
}

/*body.tcm main > */section.image img {
    width: 100%;
    float: left; /* 6/7-Pixel-Fix */
}

/* --------------------------------------------------------------------------------------- */


    @media screen and (max-width: 40em) { /* 640 */

        /* Auf ganze Breite ausdehnen */
        body.home main > section.therapieangebote > section article {
            flex-basis: 100%;
        }

        body.home main > section.therapieangebote > section article:nth-child(odd),
        body.home main > section.therapieangebote > section article:nth-child(even) {
            margin: 3em 0 3em 0;
        }

    }

/* --------------------------------------------------------------------------------------- */
/*  Therapieangebote auf der Startseite
-------------------------------------------------------------------------------------------*/

/* Momentan auf allen Browsern gleich aussehende Lösung */
body.home main > section.therapieangebote > section article > div {
    position: relative; /* für die Platzierung des Bildes zwischen <div> */
    display: block;
    margin-top: -6em;
    margin-bottom: 4em;
    text-align: center;
    border-bottom: 1px solid #bbb;
    line-height: 0;
}

body.home main > section.therapieangebote > section article > div > img {
    position: relative;
    background: white;
    padding: 0 1em;
    width: 100%;
    height: 100%;
    max-width: 6em;
    bottom: -2em;
} /* Ende Momentan auf allen Browsern gleich aussehende Lösung */


/* body.home main > section.therapieangebote > section article p {
    text-align: justify;
} */


/* Spaltensatz */
main > section.columns p {
    /*column-width: 5em;
    column-gap: 1em;
    column-rule: thin solid black;*/
   -moz-column-count: 2;
   -moz-column-gap: 3em;
   /*-moz-column-rule-color: #ddd;
   -moz-column-rule-style: solid;
   -moz-column-rule-width: 1px;*/
   -webkit-column-count: 2;
   -webkit-column-gap: 3em;
   /*-webkit-column-rule-color: #ddd;
   -webkit-column-rule-style: solid;
   -webkit-column-rule-width: 1px;*/
    column-count: 2;
    column-gap: 3em;
}

/* --------------------------------------------------------------------------------------- */


    @media screen and (max-width: 40em) { /* 640 */

        /* Spaltensatz aufheben */
        main > section.columns p {
           -moz-column-count: 1;
           -moz-column-gap: 0;
           -webkit-column-count: 1;
           -webkit-column-gap: 0;
            column-count: 1;
            column-gap: 0;
        }
    }

/* --------------------------------------------------------------------------------------- */
/*  Preisliste mit auffüllenden Dots
-------------------------------------------------------------------------------------------*/

.preisliste {
    margin-top: 4rem;
}

.preisliste ul {
    list-style: none;
}

.preisliste li {
    display: flex;
    justify-content: space-between;
    margin: 0;
    padding: 0.5rem 0 0.5rem 0;
    background: white;
    border-bottom: 1px dotted #222;
}

.preisliste li:before {
    all: unset;
}

.preisliste.lightgrey li {
    background: #eee;
    border-bottom: 1px dotted #222;
}

.preisliste .preisliste-angebot {
    padding-right: 0.5em;
}

.preisliste .preisliste-preis {
    text-align: right;
}

/*
.preisliste .preisliste-preis:after {
    content: '€';
}
*/

/* --------------------------------------------------------------------------------------- */


@media screen and (max-width: 40em) { /* 640 */


    .preisliste li {
        flex-flow: column;
        padding: 0.7em 0 0.8em 0;
    }

    .preisliste .preisliste-angebot {
        width: 100%;
        padding-right: 0;
        margin-bottom: .5em;
    }
    
    .preisliste .preisliste-preis {
        width: 100%;
        text-align: left;
        font-weight: 600;
    }
}

/* --------------------------------------------------------------------------------------- */
/*  Footer
-------------------------------------------------------------------------------------------*/

footer {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 3em 2.5% 3em 2.5%;
    background-color: var(--bodytext);

    display: flex;
    justify-content: flex-start;
}

footer:before {
    content: '';
    position: absolute;
    top: -19px;
    left: 50%;
    transform: translateX(-50%);
    width: 39px;
    height: 19px;
    background: url('../assets/footer-bg.png') no-repeat center top;
}

footer > * {
    padding: 0 2.5%; /* Jetzt haben wir an allen Seiten 5% Abstand zum Rand */
}

footer > *:not(:last-child) {
    border-right: 1px dotted #666;
}

footer > section {
    position: relative;
    width: 100%;
}

footer nav {
    width: 100%;
}

footer h2,
footer h3 {
    margin: 0 0 1em 0;
    padding: 0;
    font-size: 1em;
    text-align: left !important;
    color: #9bcdde !important;
}

footer section h3 {
    margin: 1.5em 0 1em 0;
}

footer p {
    margin: 0;
    padding: 0;
    color: #bbb;
}

/* Icons vor den Bereichen Ergo und TCM */
footer p.to-ergo,
footer p.to-tcm {
    padding: 0 0 0 1.7em;
}

footer p.to-ergo {
    background: url('../assets/ergotherapie-icon.png') no-repeat left center / 1.3em;
    margin-bottom: 1em;
}

/* Ende Icons vor den Bereichen Ergo und TCM */

footer p.to-tcm {
    background: url('../assets/tcm-icon.png') no-repeat left center / 1.3em;
}

body.l1 footer ul,
body.team footer ul,
body.l3 footer ul {
    margin: 0;
}

footer nav > ul {
    margin: 0;
    padding: 0;
}

footer nav > ul > li {
    margin: 0;
    padding: 0;
}

footer a {
    display: inline-block;
    color: #bbb;
    margin: 0;
    padding: 0;
}

/* <li> und <p> können .current haben */
footer a:hover,
footer a:active,
footer .current > a/*,
footer nav > ul > li.current.open > a*/ {
    color: white;
}

footer nav > ul > li.open > a {
    color: #ddd;
    border-bottom: 2px solid #ccc;
    margin-bottom: 0.5em;
}

footer + section {
    padding: 1.5em var(--padding) 3em var(--padding);
    color: #bbb;
    text-align: center;
    background-color: #2a2a2a;
}

/* --------------------------------------------------------------------------------------- */
/*  Footer-Navigation -> Zweite Ebene = Entfällt, weil keine Navigation wie im Header mehr vorhanden
-------------------------------------------------------------------------------------------*/
/*
footer nav > ul > li ul {
    margin: 0;
    padding: 0;
}

footer nav > ul > li ul li a {
    padding: 0.3em 0 0.3em 0;
}
*/

/* --------------------------------------------------------------------------------------- */


    @media screen and (max-width: 60em) { /* 960 */

        footer {
            padding: 0;
            flex-direction: column;
        }

        footer > *:not(nav) {
            padding: 2em var(--padding);
            /*border: 1px solid red;*/
            border-bottom: 1px solid #666;
        }

        footer nav {
            width: 100%;
            padding: 0;
        }

        footer section h3 {
            margin: 2em 0 1em 0;
        }

        footer nav h2 {
            margin: 2em var(--padding) 0 var(--padding);
        }

        footer nav > ul {
            display: block;
        }

        /*footer nav > ul > li.currentpath.open > a {
            border-bottom: 1px solid #666;
            margin-bottom: 0;
        }*/

        footer nav ul li a/*,
        footer nav ul li ul li a*/ {
            display: block;
            padding: 1em var(--padding);
        }

        footer nav ul li:not(:last-child) a {
            border-bottom: 1px solid #666;
        }

    }

/* --------------------------------------------------------------------------------------- */
/*  Scrolldown-Animation auf der Startseite
-------------------------------------------------------------------------------------------*/

body.home #scrolldown {
    position: absolute;
    /**/top: calc(100% - 230px);
    left: calc(50% - 20px);
    /*transform: translate(-50%, -50%);*/
    /*font-size: 1.5em;*/
    /*left: calc(50% - 0.3em);*/
    transform: translateX(-50%);
    font-size: 64px;
    color: var(--hellblau);
    line-height: 0;
    z-index: 1;

   -webkit-animation-name: scrollelement;
   -webkit-animation-duration: 1500ms;
   -webkit-animation-iteration-count: infinite;

   -moz-animation-name: scrollelement;
   -moz-animation-duration: 1500ms;
   -moz-animation-iteration-count: infinite;

   -o-animation-name: scrollelement;
   -o-animation-duration: 1500ms;
   -o-animation-iteration-count: infinite;

    animation-name: scrollelement;
    animation-duration: 1500ms;
    animation-iteration-count: infinite;

    /*animation-direction: alternate;*/
}

    /*@media screen and (min-width: 60em) { /* 960 */ /* http://caniuse.com/#search=keyframes */

        @-webkit-keyframes scrollelement {
            0% {
              /*top: calc(100% - 150px);*/ /* Doesn't work in IE11 */
              transform: translateY(90px);
              opacity: 0;
            }
            50% {
              opacity: 1;
            }
            100% {
              /*top: calc(100% - 90px);*/
              transform: translateY(150px);
              opacity: 0;
            }
        }

        @-moz-keyframes scrollelement {
            0% {
              /*top: calc(100% - 150px);*/
              transform: translateY(90px);
              opacity: 0;
            }
            50% {
              opacity: 1;
            }
            100% {
              /*top: calc(100% - 90px);*/
              transform: translateY(150px);
              opacity: 0;
            }
        }

        @-o-keyframes scrollelement {
            0% {
              /*top: calc(100% - 150px);*/
              transform: translateY(90px);
              opacity: 0;
            }
            50% {
              opacity: 1;
            }
            100% {
              /*top: calc(100% - 90px);*/
              transform: translateY(150px);
              opacity: 0;
            }
        }

        @keyframes scrollelement {
            0% {
              /*top: calc(100% - 150px);*/
              transform: translateY(90px);
              opacity: 0;
            }
            50% {
              opacity: 1;
            }
            100% {
              /*top: calc(100% - 90px);*/
              transform: translateY(150px);
              opacity: 0;
            }
        }
    /*}*/

/* --------------------------------------------------------------------------------------- */


    @media screen and (max-width: 60em) { /* 960 */

        /*body.home #scrolldown {
            display: none;
        }*/

    }

/* --------------------------------------------------------------------------------------- */
/*  GotoTop-Button
-------------------------------------------------------------------------------------------*/

.gototop {
    position: fixed;
    z-index: 1000;
    bottom: 3.313em; /* 53px */
    /*right: 4.3em;*/
    line-height: 0;
    display: none;
    /*background: red;*/
    left: calc(50% - 22px);
    transform: translateX(-50%);
}

.gototop > a {
    position: absolute;
    display: block;
    width: 45px;
    height: 45px;
    padding: 1px 0 3px 0;
    border: 3px solid white;
    font-size: 32px;
    text-align: center;
    /*background-color: rgba(255,255,255,0.95);*/
    background-color: var(--hellblau);
    color: white;
    border-radius: 50%;
}

.gototop > a:hover,
.gototop > a:active {
    border: 3px solid var(--hellblau);
    background-color: rgba(255,255,255,0.95);
    color: var(--hellblau);
}

/* --------------------------------------------------------------------------------------- */
/*  Kontaktform
-------------------------------------------------------------------------------------------*/

form {
    width: 100%;
    float: left;
}

fieldset {
    margin: 0;
    padding: 0;
    border: 0;
}

label {
    display: block;
}

label em {
    font-style: normal;
    color: indianred;
    margin-left: 0.2em;
}

.error {
    color: indianred;
    margin: -30px 0 30px 0;
}

.success {
    color: #2b9626;
    margin: -30px 0 30px 0;
}

input:not([type="checkbox"]),
textarea {
   /* -webkit-appearance: none; */
    width: 100%;
    display: block;
    padding: 0.6em 0.8em;
    border: 0;
    background: #f2f2f2;
    border-bottom: 2px solid gainsboro;
    margin-bottom: 2em;

   -webkit-transition: background var(--transition-time), border var(--transition-time);
   -moz-transition:    background var(--transition-time), border var(--transition-time);
   -o-transition:      background var(--transition-time), border var(--transition-time);
   -ms-transition:     background var(--transition-time), border var(--transition-time);
    transition:        background var(--transition-time), border var(--transition-time);
}
/*
input:required {
  border-color: #800000;
  border-width: 1px;
}

input:required:invalid {
  border-color: #C00000;
}
*/
textarea {
    height: 6em;
    min-height: 6em;
    resize: vertical; /* none|horizontal|vertical|both */
}

input:focus,
textarea:focus {
    background: #f9f9f9;
    border-bottom: 2px solid var(--lindgruen); /* Lindgrün */
    outline: none;
}

button[type="submit"],
input[type="submit"] {
    width: 50%;
    padding: 1em 1em 0.8em 1em;
    float: right;
    color: white;
    /*font-weight: 600;*/
    text-transform: uppercase;
    background: var(--hellblau);
    border: none;
    transition: all var(--transition-time);
    cursor: pointer;
}

button[type="submit"]:hover,
input[type="submit"]:hover {
    background: var(--lindgruen);
}

button[type="submit"]:disabled,
input[type="submit"]:disabled,
button[type="submit"]:disabled:hover,
input[type="submit"]:disabled:hover {
    color: rgba(255,255,255,0.7);
    background: #999;
    cursor: not-allowed;
}

input#agb_read[type="checkbox"] {
    margin: .2em 0 0 0;
    width: 1.15em;
    height: 1.15em;
    accent-color: var(--hellblau);
}

/* --------------------------------------------------------------------------------------- */


    /*@media screen and (max-width: 60em) { /* 960 */
    /*@media screen and (max-width: 40em) { /* 640 */
    @media screen and (max-width: 46.250em) { /* 740 */

        input[type="submit"] {
            width:100%;
            float: left;
        }

    }

/* --------------------------------------------------------------------------------------- */
/*  Seiten editieren
-------------------------------------------------------------------------------------------*/

a.edit {
    position: fixed;
    z-index: 1000;
    top: 0;
    left: calc(100% - 2.5em);
    right: -50em; /* ??? */
    white-space: nowrap;
    font-size: 1em;
    font-weight: 300;
    padding: 0.4em 0.9em 0.5em 0.8em;
    background-color: rgba(0,0,0,0.7);
    color: rgba(255,255,255,0.7);
    border-bottom-left-radius: 6px;
    text-align: center;
}

a.edit:hover i {
    left: calc(100% - 20em);
    right: 0;
    color: #ccff00; /* Neon */
    transform: rotate(-135deg);
}

a.edit > span {
    font-weight: 400;
    color: white;
}

a.edit i {
    position: absolute;
    left: 0.8em;
    top: 0.6em;
    text-decoration: none;
    color: white;
    transition: all 1s;
}

/* --------------------------------------------------------------------------------------- */


.flex {
    display: flex;
    column-gap: var(--padding);
}

.column_item {
    flex: 1 1 50%;
}

.column_item img {
    width: 100%;
    height: auto;
    display: block;
}

.column_item .downloads-headline {
    border: none !important;
    padding: calc(var(--padding) * 2) var(--padding) var(--padding) var(--padding);
    margin: 0;
}

.column_fill {
    padding: 0 calc(var(--padding) / 2);
    background-color: rgba(0,0,0,0.05);
}

body.service .column_item:first-child {
    flex-basis: 65%;
}

body.service .column_item:last-child {
    flex-basis: 35%;
}

.column_fill a {
    padding: 2.5% var(--padding) 2.5% var(--padding) !important;
    border: none !important;
    margin-bottom: .5rem;
    border-radius: .3rem;
}

.column_fill a .file-description {
    color: var(--dunkelgruen) !important;
}

.column_fill a:hover {
    background-color: rgba(255,255,255,0.75);
    border: none !important;
}

.column_fill a .file-name {
    font-size: 75%;
}

body.service .file-content {
    padding: 0 var(--padding) var(--padding) var(--padding);
    font-size: 75%;
    /* color: var(--dunkelblau); */
    color: rgba(0,0,0,0.6);
}

body.service li:not(:last-child) .file-content {
    border-bottom: 1px solid rgba(0,0,0,0.2);
}

/* --------------------------------------------------------------------------------------- */


    @media screen and (max-width: 60em) { /* 960 */

        .flex {
            display: block;
        }

        body.service .column_item:first-child,
        body.service .column_item:last-child {
            flex-basis: 100%;
        }

        main ul.downloads li a {
            display: block;
            }

        body.service .file-content {
            font-size: 100%;
            padding: 0 var(--padding) calc(var(--padding) / 2) var(--padding);
        }

        .column_fill a .file-name {
            font-size: 100%;
        }

    }

/* --------------------------------------------------------------------------------------- */


