
@import "fonts.css";

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, legend, fieldset, table, caption, tbody, tfoot, thead, tr, th, td,  form, label {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    vertical-align: baseline;
    background: transparent;
}


html, body {
    /*font-family: 'Questrial', Geneva, Arial, Helvetica, Tahoma, Verdana, sans-serif;*/
    font-family: 'PT Sans', Geneva, Arial, Helvetica, Tahoma, Verdana, sans-serif;
    font-size: 1em;
    letter-spacing: .03em;
    line-height: 1.8em;
    color: #707173;
    background-color: white;
    /*background: url('../images/assets/grid-black.png') repeat left top;*/
    margin: 0 auto;
    height: 100%;
}

body {
    display: flex; /* sticky footer mit display: flex */
    flex-direction: column; /* sticky footer mit display: flex */
}


ol, ul {
    list-style: none;
}


.ul-square {
    list-style-type: square;
    margin: 0 0 1em 0.2em;
}

.ul-square li {
    margin: 0 0 0 0;
    padding-left: 1.5em;
}



blockquote, q {
    quotes: none;
}


blockquote:before, blockquote:after, q:before, q:after {
    content: '';
    content: none;
}


:focus {
    outline: 0;
}


ins {
    text-decoration: none;
}


del {
    text-decoration: line-through;
}


table {
    border-collapse: collapse;
    border-spacing: 0;
}


h1, h2, h3 {
    margin: 0 30px 30px 0;
    font-size: 1.3em;
    font-weight: normal;
    letter-spacing: .1em;
    color: #505050;
}


h2, h3 {
    font-family: 'Marcellus SC', Geneva, Arial, Helvetica, Tahoma, Verdana, sans-serif;
}


h3 {
    font-size: 1.2em;
    margin: 0 0 10px 0;
}


p {
   /* -moz-hyphens: auto;
   -o-hyphens: auto;
   -webkit-hyphens: auto;
   -ms-hyphens: auto;
    hyphens: auto;
    hyphenate-limit-chars: 7 5 3; */

    margin: 0 80px 20px 0; /* Mehr Abstand zum Bild auf der rechten Seite */
    margin: 0 70px 20px 0; /* Mehr Abstand zum Bild auf der rechten Seite */
    /* margin: 0 0 20px 0; */
}

/*<abbr title="Reorganisation: Änderung einer bestehenden Organisationsstruktur.">Reorganisationsprojekten</abbr>*/

abbr {
    border-bottom: 1px dotted #666;
    color: #777;
    cursor: help;
}


a:link, a:visited {
    color: #707173;
    text-decoration: none;
   -webkit-transition: all 400ms;
   -moz-transition:    all 400ms;
   -o-transition:      all 400ms;
   -ms-transition:     all 400ms;
    transition:        all 400ms;
}


a:hover, a:active {
    background-color: #eee;
}

section a {
    padding-bottom: 0.05em;
    border-bottom: 1px dotted grey;
}


::selection, p.red::selection {
    background: #f6ff79;
}


::-moz-selection, p.red::-moz-selection {
    background: #f6ff79;
}


.float-left {
    float: left;
}


.clear-left {
    clear: left;
}

.float-right {
    float: right;
}


.block {
    display: block;
}

/*------------------- Header + Header-Image --------------------*/


header, header img {
    width: 460px;
    margin: 0 auto;
}

header a, header a:hover {
    background: none;
}

/*--------------------- Section als Center ---------------------*/


section {
    flex: 1 0 auto; /* sticky footer mit display: flex */
    width: 100%; /* IE */
    max-width: 960px;
    margin: 0 auto;
    /*border: 1px solid red;*/
}

/*------------------------- Dreispalter -------------------------*/


section.dreispalter {
    clear: left;
    width: 100%;
    max-width: 960px;
    margin: 0 auto;
}


section #content-l {
    float: left;
    width: 29%;
    padding: 10px 0 10px 2.33%;
    min-height: 100px;
    /*background: #eee;*/
}

    section #content-l.two-columns-left {
        width: 61.45%;
        /*background: #ccc;*/
    }

    section #content-l.two-columns-left ul li {
      margin: 0 0 0 1em;
      text-indent: -1em;
    }


section #content-m {
    float: left;
    width: 29.33%;
    padding: 10px 2% 0 1%;
    min-height: 100px;
    /*background: #ccc;*/
}


section #content-r {
    float: left;
    width: 31.33%;
    padding: 10px 0 10px 2%;
    min-height: 100px;
    /*background: #ddd;*/
}

    section #content-r.two-columns-right {
        width: 33%;
        padding: 10px 0 0 2%;
        /*background: #ddd;*/
    }


section #content-r img {
    max-width: 100%;
}


/* Kontakt jetzt als Zweispalter
-----------------------------------------------------------------*/

body.kontakt section #content-l.two-columns-left {
    width: 50%;
}

body.kontakt section #content-r.two-columns-right {
    width: 45%;
}

/*----------------------- Hauptnavigation -----------------------*/


nav {
    margin: 0 0 90px 0;
    padding: 0;
    clear: both;
    background: #eee;
    font: normal 1.2em/1.1em 'Marcellus SC', 'HelveticaNeue-Light', 'Helvetica Neue Light', 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif;
    letter-spacing: .08em;
}

@media screen and (min-width: 601px)/* and (orientation: landscape)*/ {

    nav ul {
        list-style: none;
        padding: 0;
        /*height: 32px;*/
        display: table;
        /*table-layout: fixed;*/
        border-collapse: collapse;
        width: 100%;
        max-width: 980px; /* 960px */
        margin: 0 auto;
    }



    _:-ms-fullscreen, :root nav ul {
        max-width: 920px; /* 960px */
    }


    /* https://philipnewcomer.net/2014/04/target-internet-explorer-10-11-css/ */

    /* Internet Explorer 11+ */
    /*_:-ms-fullscreen, :root .ie11up { property:value; }*/

    /* Internet Explorer 10+ */
    /*_:-ms-lang(x), .ie10up { property:value; }*/

    /* Internet Explorer 10 (only) */
    /*_:-ms-lang(x), .ie10 { property:value\9; }*/


    /* Internet Explorer 11+ */
    _:-ms-fullscreen, :root nav ul li:nth-child(4) a:link {
        padding: 8px 3em;
    }

    _:-ms-fullscreen, :root nav ul li:nth-child(2) a:link {
        padding: 8px 3em;
    }




    nav ul li {
        float: none; /* Mit 'float: left' funktioniert es auch auf Android */
        display: table-cell;
        white-space: nowrap;
        width: 1%; /* Fuer gleichmäßige Abstände */

    }

    _:-ms-fullscreen, :root nav ul li {
        width: auto; /* Fuer gleichmäßige Abstände im IE... */
    }

    nav ul li a:link, nav ul li a:visited {
        margin: 0;
        display: block;
        /*padding: 4px 6px 6px 6px;*/
        padding: 8px 0;
        /*height: 20px;*/
        text-align: center;
        text-decoration: none;
        color: #888;
        /*font-size: 1.1em;*/
        background: #eee;
        -webkit-transition: all 400ms;
        -moz-transition:    all 400ms;
        -o-transition:      all 400ms;
        -ms-transition:     all 400ms;
        transition:         all 400ms;

        /*-webkit-transition-delay: 400ms !important;
        -moz-transition-delay: 400ms !important;
        -o-transition-delay: 400ms !important;
        -ms-transition-delay: 400ms !important;
        transition-delay: 400ms !important;*/

        /*-webkit-transition: all;
        -moz-transition: all;
        -o-transition: all;
        -ms-transition: all;
        transition: all;*/
    }

    nav ul li a:hover, nav ul li a:active {
        color: #666;
        outline-style: none;
        background: #f7f7f7;
    }

    nav ul li.current a {
        color: #666;
        font-weight: 600;
        /*text-decoration: underline;*/
    }
}


/*----------------------- Kontaktbox -----------------------*/


#kontaktbox {
    width: 100%;
    margin-bottom: 2em;
}


input, textarea {
    margin: 0 0 0.5em 0;
    padding: 7px;
    width: calc(95% - 14px);
    background-color: #eee;
    border: 0;
    height: 17px;
    font-family: 'PT Sans', Geneva, Arial, Helvetica, Tahoma, Verdana, sans-serif;
    font-size: 1em;
    color: #777;
    -moz-border-radius: 2px;
    -webkit-border-radius: 2px;
    border-radius: 2px;

    /*-moz-box-shadow: inset 0px 0px 3px rgba(0,0,0,.1);
    -webkit-box-shadow: inset 0px 0px 3px rgba(0,0,0,.1);
    box-shadow: inset 0px 0px 3px rgba(0,0,0,.1);*/

   -webkit-transition: all 400ms;
   -moz-transition:    all 400ms;
   -o-transition:      all 400ms;
   -ms-transition:     all 400ms;
    transition:        all 400ms;
}


textarea {
    margin: 0 0 10px 0;
    height: 117px;
}


input:focus, textarea:focus {
    color: #222;
    background-color: #f7f7f7;
   -moz-box-shadow: inset 0px 0px 4px rgba(0,0,0,.1);
   -webkit-box-shadow: inset 0px 0px 4px rgba(0,0,0,.1);
    box-shadow: inset 0px 0px 4px rgba(0,0,0,.1);
}


.formbuttons {
    margin: 10px 0 0 0;
    width: 42.5%;
    height: 23px;
    padding: 0px 0 7px 0;
    background: #666;
    color: white;
    text-align: center;
   -moz-border-radius: 2px;
   -webkit-border-radius: 2px;
    border-radius: 2px; /* 15px */
   -moz-box-shadow: none;
   -webkit-box-shadow: none;
    box-shadow: none;
}


#senden {
    width: 50%;
    padding: 14px 0 16px 0;
    float: right;
    margin: 15px 22px 0 0;
    line-height: 0;
    border: 1px solid rgba(0,0,0,0.2);
}


.formbuttons:hover {
    cursor: pointer;
    background: #eee;
    color: #444;
    /*-moz-box-shadow: 0px 0px 4px rgba(0,0,0,.1);
    -webkit-box-shadow: 0px 0px 4px rgba(0,0,0,.1);
    box-shadow: 0px 0px 4px rgba(0,0,0,.1);*/
}


.formbuttons#senden:hover {
    background: #a6edca; /* 88eebb; */
}


.formbuttons, .formbuttons:hover {
   -moz-transition: all .2s ease;
   -o-transition: all .2s ease;
   -ms-transition: all .2s ease;
    transition: all .2s ease;
}


.error {
    color: #c51415;
}


.mini {
    margin: 5px 20px 0 0;
    font-size: 80%;
    line-height: 1.4em;
    letter-spacing: normal;
   -moz-transition: all .2s ease;
   -o-transition: all .2s ease;
   -ms-transition: all .2s ease;
    transition: all .2s ease;
}

    .orange {
        color: darkorange;
    }

    .green {
        color: green; /*00dd1d */
    }

/*.mini:hover,*/ .resize {
    padding: 10px;
    background: #eee; /* f6ff79 */
    font-size: 100%;
   -moz-border-radius: 2px;
   -webkit-border-radius: 2px;
    border-radius: 2px;
}

/* Spamschutzfrage */
p.spamschutz {
    width: 90%;
    line-height: 1.4;
    margin-bottom: 4px;
}

/* Einwilligung zur Datenverarbeitung bei Kontakt */
label.accept {
    width: 95%;
    display: block;
    margin: 1.5em 0 0.5em 0;
    padding: 0;
    /*background: red;*/
}

label.accept input[type="checkbox"] {
    float: left;
    width: auto;
    margin-top: 0.2em;
}

label.accept p {
    margin-left: 1.5em;
    width: 90%;
    line-height: 1.3;
}

/* Pflichtfelder */
#kontaktbox em {
    margin-left: 0.1em;
    font-style: normal;
    color: indianred;
    font-weight: normal;
    font-size: 1.2em;
}

/* Optionale Felder */
#kontaktbox sup {
    position: relative;
    top: -1em;
    margin: 0 0 0 0.2em;
    font-size: 0.6em;
    color: darkgrey;
}

/*--------------------------- Footer ---------------------------*/


footer {
    /*position: fixed;
    left: 0;
    bottom: 0;
    float: left;
    width: calc(100% - 2em);
    margin: 30px 0 0 0;*/
    flex-shrink: 0; /* sticky footer mit display: flex */
    padding: 1em;
    border-top: 1px solid gainsboro;
    background-color: white;
}


footer ul {
    /*float: left;*/
    /*margin: 0 0 0 50%;
    transform: translateX(-50%);*/
    display: table;
    margin: 0 auto;
    text-align: center;
    padding: 0;
    /*border: 1px solid red;*/
}


footer ul li {
    float: left;
    margin-right: 2em;
}


footer ul li:last-child {
    margin-right: 0;
}


footer a:link,
footer a:visited {
    color: #707173;
    text-decoration: none;
    outline-style: none;
}


footer a:hover,
footer a:active,
footer li.current a {
    color: #000;
    text-decoration: none;
    outline-style: none;
}

/*--------------------- Media-Queries ----------------------*/



@media screen and (max-width: 880px)/* and (orientation: portrait)*/ {

    nav {
        flex-shrink: 0; /* sticky footer mit display: flex <- wichtig für iPhone */
        margin: 0;
    }

    nav ul {
        width: 100%;
        float: left;
    }

    nav ul li {
        display: block;
        width: 100%;
        border-bottom: 1px solid #ccc;
    }


    /* Internet Explorer 11+ */
    _:-ms-fullscreen, :root nav ul li:nth-child(4) a:link {
        padding: 10px 0 14px 2.5%; /* Besser klickbar */
    }

    _:-ms-fullscreen, :root nav ul li:nth-child(2) a:link {
        padding: 10px 0 14px 2.5%; /* Besser klickbar */
    }


    nav ul li a:link, nav ul li a:visited {
        display: block;
        width: 97.5%;
        padding: 10px 0 14px 2.5%; /* Besser klickbar */
        border: 0;
        color: #888;
        background: #eee;
        text-align: left;
    }

    nav ul li a:hover, nav ul li a:active {
        color: #666;
        outline-style: none;
        background: #f7f7f7;
    }

    nav ul li.current a {
        color: #666;
        font-weight: 700;
        /*text-decoration: underline;*/
    }

    header {
        flex-shrink: 0; /* sticky footer mit display: flex <- wichtig für iPhone */
        width: auto;
        text-align: center; /* Zentrieren des Images */
    }

    header img {
        /*width: 460px;*/
        max-width: 100%;
        margin: 0 auto;
    }

    section {
        margin: 40px 0 0 0;
    }

    footer {
        padding: 0;
    }

    footer ul {
        float: left;
        width: 100%;
        margin: 0;
        transform: none;
        padding: 0;
    }

    footer ul li {
        float: none;
        margin: 0;
        display: block;
        text-align: center;
        border-bottom: 1px solid #ccc;
    }

    footer ul li:last-child {
        padding: 10px 0 14px 0; /* wie aus 'nav li' */
        border-bottom: none;
    }

    footer a:link,
    footer a:visited {
        color: #888;
        background: #eee;
        display: block;
        padding: 10px 0 14px 0; /* wie aus 'nav li' */
    }

    footer a:hover,
    footer a:active,
    footer li.current a {
        color: #000;
    }

    footer li.current a {
        font-weight: 700;
    }

    /* Spamschutz-Frage */
    p.spamschutz {
        width: 100%;
    }

}

@media screen and (max-width: 600px)/* and (orientation: portrait)*/ {

    html, body {
        /*padding-bottom: 30px;*/
        font-size: 110%;
    }

    p {
        margin-right: 0;
    }

    nav ul li a:link, nav ul li a:visited {
        width: 96%;
        padding-left: 4%;
    }

    section {
        margin: 0;
    }

    #content-left {
        /*clear: left;*/
        float: left;
        width: 100%;
        max-width: 94%;
        padding: 0 2% 0 4%;
        margin: 30px 0 30px 0;
    }

    #content-right {
        padding: 0 30px 0 30px;
    }

    #content-right img {
        width: 100%;
        max-width: 100%;
        margin-left: 0;
    }

    section.dreispalter {
        /*display: none;*/
    }

    section h2 {
        margin-bottom: 15px;
    }

    section #content-l, section #content-l.two-columns-left {
        float: left;
        width: 94%;
        padding: 30px 2% 20px 4%;
        background: #ddd;
    }

    section #content-m {
        float: left;
        width: 92%;
        padding: 30px 4% 20px 4%;
        background: #ccc;
    }

        #senden {
            /*margin-right: 15%;*/
            float: none;
            position: relative;
            display: block;
            width: 70%;
            left: 50%;
            transform: translateX(-50%);
            margin: 35px 0;
        }

        input[type=text], textarea {
            /*width: 85%;
            padding: 15px;*/
            width: 96%;
            height: 2em;
            padding: 0 2%;
            background-color: #fafafa;
            border: 1px solid rgba(0,0,0,.2);
        }

        textarea {
            height: 8em;
            line-height: 1.3em;
            padding-top: .2em;
            padding-bottom: .2em;
        }

        input[type=text]:focus, textarea:focus {
            background-color: #fff;
           -moz-box-shadow: inset 0px 0px 5px rgba(0,0,0,.2);
           -webkit-box-shadow: inset 0px 0px 5px rgba(0,0,0,.2);
            box-shadow: inset 0px 0px 5px rgba(0,0,0,.2);
        }

        .formbuttons {
            padding: 0px 0 3px 0;
            height: 40px;
           /*-moz-border-radius: 30px;
           -webkit-border-radius: 30px;
            border-radius: 30px;*/
        }

    section #content-r, section #content-r.two-columns-right {
        float: left;
        width: 96%;
        padding: 20px 2% 20px 2%;
        background: #ddd;
    }

        section #content-r img {
            width: 100%;
            max-width: 100%;
            margin-left: 0;
        }

    section #content-l, section #content-l.two-columns-left,
    section #content-m,
    section #content-r, section #content-r.two-columns-right {
        /*background: #f4f4f4;*/
        background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2Y0ZjRmNCIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNkZGRkZGQiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
        background: -moz-linear-gradient(top,  #f4f4f4 0%, #dddddd 100%);
        background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#f4f4f4), color-stop(100%,#dddddd));
        background: -webkit-linear-gradient(top,  #f4f4f4 0%,#dddddd 100%);
        background: -o-linear-gradient(top,  #f4f4f4 0%,#dddddd 100%);
        background: -ms-linear-gradient(top,  #f4f4f4 0%,#dddddd 100%);
        background: linear-gradient(to bottom,  #f4f4f4 0%,#dddddd 100%);
        filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f4f4f4', endColorstr='#dddddd',GradientType=0 );
    }

    /* Kontakt jetzt als Zweispalter
    -----------------------------------------------------------------*/

    body.kontakt section #content-l.two-columns-left {
        width: 94%;
        padding: 30px 2% 20px 4%;
    }

    body.kontakt section #content-r.two-columns-right {
        width: 96%;
        padding: 20px 2% 20px 2%;
    }

}


/*
 *
 * Cookie Consent
 *
 * Schrift definieren
-----------------------------------------------------------------*/
/*#freeprivacypolicy-com---nb {
    font-family: 'PT Sans', Geneva, Arial, Helvetica, Tahoma, Verdana, sans-serif !important;
}*/

/* Input Field Width-Fix
-----------------------------------------------------------------*/
.cc-pc-container input {
    width: auto !important;
}

/* Hide Targeting und Marketing Tabs
-----------------------------------------------------------------*/
.cc-pc-container .cc-cp-body-tabs .cc-cp-body-tabs-item:nth-child(4),
.cc-pc-container .cc-cp-body-tabs .cc-cp-body-tabs-item:nth-child(5) {
    display: none !important;
}

/* Höhenbegrenzung aufheben
-----------------------------------------------------------------*/
@media (max-width: 320px), (max-height: 480px) {

    #freeprivacypolicy-com---nb {
        height: auto;
    }
}

/* Farbe der Buttons ändern
-----------------------------------------------------------------*/
.cc-cp-foot-save,
.freeprivacypolicy-com---palette-light .cc-nb-okagree,
.freeprivacypolicy-com---palette-light .cc-nb-reject {
    color: #fff;
    background-color: #2b8276 !important;
}

/* Farbe des 'Einstellungen ändern' Buttons ändern
-----------------------------------------------------------------*/
.freeprivacypolicy-com---palette-light .cc-nb-changep {
    background-color: #dddddd !important;
    color: black;
}

/* Farbe der Checkboxen ändern
-----------------------------------------------------------------*/
.freeprivacypolicy-com---pc-dialog input[type="checkbox"].cc-custom-checkbox:checked + label::before {
    background-color: #2b8276 !important;
}

/* Abstand vom Text zu den Buttons
-----------------------------------------------------------------*/
.freeprivacypolicy-com---nb .cc-nb-text {
    margin: 0 0 1.6rem 0 !important;
}


/* p {
    text-wrap: balance !important;
} */