
/* @import "roboto.css"; */
@import "questrial.css";
/* @import "montserrat.css"; */
@import "roboto_condensed.css";
@import "roboto-slab.css";
/* @import "dsdigi.css"; */

/*
 *
 *

Search Phrase:
TBD = To be done


 *
 *
 */

:root {
    --secondary_background_color: #282e36;
    --fontfamily_body: 'Roboto Slab', 'Roboto Condensed', 'Montserrat', 'Roboto', Tahoma, Verdana, Arial, Helvetica, sans-serif;
    --fontfamily_headlines: 'Questrial', 'Montserrat', 'Roboto', Tahoma, Verdana, Arial, Helvetica, sans-serif;
    --backdrop-filter-blur: 6px;
}




  .progress {
    position: relative;
    height: 4px;
    display: block;
    width: 100%;
    background-color: var(--secondary_background_color);
    /* border-radius: 2px; */
    background-clip: padding-box;
    /*margin: 0.5rem 0 1rem 0;*/
    overflow: hidden;

  }

  .progress .indeterminate {
    background-color: black;
  }

  .progress .indeterminate:before {
    content: '';
    position: absolute;
    background-color: rgb(240, 255, 0);
    top: 0;
    left: 0;
    bottom: 0;
    will-change: left, right;
    -webkit-animation: indeterminate 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite;
    animation: indeterminate 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite;
  }

  .progress .indeterminate:after {
    content: '';
    position: absolute;
    background-color: rgb(240, 255, 0);
    top: 0;
    left: 0;
    bottom: 0;
    will-change: left, right;
    -webkit-animation: indeterminate-short 2.1s cubic-bezier(0.165, 0.84, 0.44, 1) infinite;
    animation: indeterminate-short 2.1s cubic-bezier(0.165, 0.84, 0.44, 1) infinite;
    -webkit-animation-delay: 1.15s;
    animation-delay: 1.15s;
  }

  @-webkit-keyframes indeterminate {
    0% {
      left: -35%;
      right: 100%;
    }

    60% {
      left: 100%;
      right: -90%;
    }

    100% {
      left: 100%;
      right: -90%;
    }
  }

  @keyframes indeterminate {
    0% {
      left: -35%;
      right: 100%;
    }

    60% {
      left: 100%;
      right: -90%;
    }

    100% {
      left: 100%;
      right: -90%;
    }
  }

  @-webkit-keyframes indeterminate-short {
    0% {
      left: -200%;
      right: 100%;
    }

    60% {
      left: 107%;
      right: -8%;
    }

    100% {
      left: 107%;
      right: -8%;
    }
  }

  @keyframes indeterminate-short {
    0% {
      left: -200%;
      right: 100%;
    }

    60% {
      left: 107%;
      right: -8%;
    }

    100% {
      left: 107%;
      right: -8%;
    }
  }




/*
* {
    border: 1px solid rgba(255,0,0,0.5);
}*/

/* Screenshots */
/*::-webkit-scrollbar {
    display: none;
}*/

/* width */
::-webkit-scrollbar {
    width: 10px;
}

/* button */
::-webkit-scrollbar-button {
    background: #222;
}

/* Handle */
::-webkit-scrollbar-thumb {
    background: #333;
}

/* Handle on hover */
::-webkit-scrollbar-thumb:hover {
    background: #666;
}

/* Track */
::-webkit-scrollbar-track {
    background: #000;
}

/* The track NOT covered by the handle.
::-webkit-scrollbar-track-piece {
    background: #000;
}

/* Corner */
::-webkit-scrollbar-corner {
    background: #999;
}

/* Resizer */
::-webkit-resizer {
    background: #111;
}

html {
   -webkit-tap-highlight-color: rgba(0,0,0,0); /* Text bei Checkboxen nicht selektieren */
}

/* https://gist.github.com/mojoaxel/7469194 */
/* disable font boosting on mobile browsers */
body * {
    max-height: 1000000em; /* Chrome for Android */
   -moz-text-size-adjust: none; /* Firefox Mobile */
}

*, *:after, *:before {
   -webkit-box-sizing: border-box;
   -moz-box-sizing: border-box;
    box-sizing: border-box;
}

html, body {
    margin: 0;
    padding: 0;
    width: 100%;
    height: 100%;
    /*overflow-x: hidden; /* Doesn't work well with AOS */
}

body {
    position: relative; /* #cookiesettings Layer */
    /* font: 300 1rem/1.5 'Roboto', Tahoma, Verdana, Arial, Helvetica, sans-serif; */
    font: 300 1rem/1.5 var(--fontfamily_body);
    background-color: #f0f0f0;
    color: black;
    /*font-size-adjust: 0.5;*/
    /* font-size: 115%; */
    /* line-height: 1.5; */
}

/* body {
    --deg: -10deg;
    transform: skewX(var(--deg)) rotate(var(--deg));
} */


/* Auch schöne Variante für 'Mehr Freiheit für Weißflächen': */

/* body {
    background-color: white;
    padding: 30px;
}

footer {
    margin-bottom: 30px;
} */

/* ············································································· */


/* Für #cookiesettings Layer */
.blur {
    filter: blur(6px) grayscale(0.5) brightness(0.7);
}

/* ············································································· */


/* Test */
/*
body {
  font-size: 16px;
}

@media screen and (min-width: 640px) {
  body {
    font-size: calc(16px + 6 * ((100vw - 320px) / 680));
  }
}

@media screen and (min-width: 960px) {
  body {
    font-size: 22px;
  }
}
*/

/* ············································································· */


/*@media all and (max-width: 720px) {

    body {
        background-color: black;
        color: white;
    }
}*/

/* ============================================================================= */

/* a, a:visited { */
a:focus-visible/*, a:active*/ {
    /*outline: 3px solid rgb(240, 255, 0); /* none = Sorry */
    outline: 3px solid #bbb;
    /* background-color: rgba(240, 255, 0, .25); */
    border-radius: 3px;
    mix-blend-mode: luminosity;
}

/*
a:hover,
a:active {}
*/
a,
a:hover,
a:active,
a:visited {
   -webkit-transition: all 250ms;
   -moz-transition:    all 250ms;
   -o-transition:      all 250ms;
   -ms-transition:     all 250ms;
    transition:        all 250ms;
    text-decoration: none;
    word-wrap: break-word; /* Lange Links umbrechen */
}

a[href^="tel:"]:before {
    content: "\260E";
    display: inline-block;
    margin-right: 0.5em;
}

/* ============================================================================= */


h1, h2, h3, h4, h5, h6, ol, ul, p, td {
    margin: 0 0 24px 0;
    padding: 0;
    font-weight: 300; /* 400 */
    /*line-height: 30px;*/
   -moz-hyphens: auto;
   -o-hyphens: auto;
   -webkit-hyphens: auto;
   -ms-hyphens: auto;
    hyphens: auto;
}

h1 {
    font-size: 1.1rem;
    margin-bottom: 30px;
    font-weight: 400;
}

h2 {
    font-size: 1.1rem;
    margin-bottom: 30px;
    font-weight: 400;
}

h3, h4, h5, h6 {
    font-size: 1rem;
    margin-bottom: 24px;
    font-weight: 600;
}

h5, h6 {
    font-size: 1rem;
    margin-bottom: 24px;
    font-weight: 400;
}

ul, ol {
    list-style: none;
}

strong {
    font-weight: 500; /* 700 */
}

.hidden {
    display: none;
}

/*main */a.external:before {
    position: relative;
    font-family: 'Font Awesome 5 Free';
    font-weight: 600;
    content: '\f35d';
    margin: 0 3px 0 1px;
    top: -1px;
    display: inline/*-block*/; /* Link zusammenhalten: ohne -block */
    font-size: 13px;
    opacity: 0.7;
}

kbd {
    background: #f2edda;
    border: 1px solid rgba(0,0,0,0.2);
    padding: 2px 5px 1px 5px;
    border-radius: 2px;
    font-family: inherit;
    font-weight: 400;
    font-size: 14px;
}

hr {
    clear: both;
    width: 100%;
    margin: 32px 0;
    height: 0;
    border: none;
    border-bottom: 1px solid silver;
}

sup, sub {
    line-height: 0;
    font-size: 12px;
    font-weight: 500;
    margin-right: 2px;
}

blockquote {
    width: 100%;
    margin: 0 0 24px 0;
    padding: 0 0 0 20px;
    border-left: 3px solid rgb(240, 255, 0);
}

blockquote p {
    margin: 0;
    font-style: italic;
}

figure {
    position: relative;
    display: block;
    margin: 30px 0;
    padding: 0;
}

figure,
figure figcaption a {
    color: rgba(255,255,255,0.85);
}

figure figcaption a:hover {
    color: white;
}

figure figcaption {
    position: absolute;
    font-size: 11px;
    line-height: 1.3;
    right: 0;
    bottom: 0;
    background: rgba(0,0,0,0.7);
    padding: 6px 8px 5px 8px;
}

/* 5 Bilder nebeneinander innerhalb .content */
.image_row {
    float: left;
    width: 100%;
    display: flex;
    flex-flow: row /*wrap*/;
    margin-bottom: 24px;
    /*border: 1px solid red;*/
}

/* Keine abschließende Linie unter image_row: <div> */
.content article section div > div.image_row:after {
    content: '';
    display: none;
}

.content article section div > div.image_row > a {
    border: none;
}

/* Spaltensatz */
.columns {
   -webkit-columns: 2;
      -moz-columns: 2;
           columns: 2;
   -webkit-column-gap: 5%;
      -moz-column-gap: 5%;
           column-gap: 5%;
}

/* ············································································· */


@media all and (max-width: 720px) {

    /* Spaltensatz */
    .columns {
       -webkit-columns: 1;
          -moz-columns: 1;
               columns: 1;
       -webkit-column-gap: 0;
          -moz-column-gap: 0;
               column-gap: 0;
    }
}

/* ============================================================================= */


.top-header {
    width: 100%;
    padding-top: 40px;
    /*background-color: #333b45; /* Neu -> Farbe aus „Zum Projekt“-Button auf den Teasern */
    box-shadow: 0 0 4px rgba(0,0,0,0.4);
    position: relative; /* relative */
    z-index: 10; /* Damit der Schatten nach vorne (= über das Visual und über swiper) kommt */

    /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#121519+0,333b45+100 */
    background: #121519; /* Old browsers */
    background: -moz-linear-gradient(top,  #121519 0%, #333b45 100%); /* FF3.6-15 */
    background: -webkit-linear-gradient(top,  #121519 0%,#333b45 100%); /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to bottom,  #121519 0%,#333b45 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#121519', endColorstr='#333b45',GradientType=0 ); /* IE6-9 */

    /*padding-bottom: 32px; /* for use without .top-header:after */
    /*background-color: white;*/
    /*padding-bottom: 16px; /* for use without .top-header:after */

    /*
    transition: all 1000ms;
    height: 140px; /* Init the height */

    background: var(--secondary_background_color); 
}

/* ············································································· */


@media all and (max-width: 720px) {
    
}

/* ············································································· */


/*@media all and (max-width: 480px) {
    
    
}*/

/* ============================================================================= */


/*header*/.top-header nav {
    width: 100%;
    /* position: sticky !important;
    top: 0; */
}

/*.top-header.linear {
    transform: translateY(-24px);
    height: 92px;
}*/

/*header*/.top-header:after {
    content: '';
    width: 100%;
    display: block;

    /* v1 */
    /* height: 48px; */
    /*background-color: #282e36; /* #252c33 */
    
    /*border-top: 1px solid rgba(0,0,0,0.3);
    box-shadow: inset 0 0 3px rgba(0,0,0,0.3);*/
    
    /* v2 */
    /*height: 48px;
    background-color: whitesmoke;
    border-top: none;
    box-shadow: none;*/
    
    /* transition: all 1000ms; */
    
    height: 24px;
}

/*.top-header.linear:after {
    /* transform: translateY(-96px); */
    /*opacity: 0;
}*/


.mainnav-wrapper {
    width: 100%;
    /* max-width: 960px; */
    max-width: 1040px;
    padding: 0 40px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
}

.mainnav {
    display: flex;
    flex-flow: row wrap;
    align-items: flex-start;

    /* Für Schatten bei :after */
    position: relative;
    z-index: 1;
}

/* Animiertes Logo */
.sd-logo {
    transform-origin: left center;
    transform: scaleX(.6) translateY(6px); /* Make it condensed */
    user-select: none;
    font: 200 36px/1 'Roboto Condensed', sans-serif;
}
  
.sd-logo > *:first-child {
    text-decoration: none;
    line-height: 1;
    color: white;
}
  
.schmidt, .de, .sign {
    display: inline-block;
    margin: 0;
    padding: 0;
    padding: 6px 12px;
    font-weight: 300;
    text-transform: uppercase;
    transition: all 250ms;
}
  
.sd-logo .schmidt {
    /* background-color: rgba(255,255,255,0.2); */
    background-color: rgba(0,0,0,0.2);
    padding-right: 2px;
    color: #d6d7d9;
}

.sd-logo .de {
    /* background-color: rgba(255,255,255,0.1); */
    background-color: rgba(0,0,0,0.45);
    transform: skewX(-15deg) rotate(-15deg) translateX(-11px) translateY(-8px) scale(1.04) scaleX(.8);
    padding-left: 2px;
    padding-right: 2px;
    color: #5b84b3;
}

.sd-logo .sign {
    /* background-color: rgba(255,255,255,0.15); */
    background-color: rgba(0,0,0,0.2);
    transform: translateX(-22px) translateY(-10px) scale(1);
    padding-left: 2px;
    color: #7bb9ff;
}

.sd-logo:hover .de {
    /* background-color: rgba(255,255,255,0.2); */
    background-color: rgba(0,0,0,0.2);
    transform: translateX(-8px) scale(1);
    color: #7bb9ff;
}
  
.sd-logo:hover .sign {
    /* background-color: rgba(255,255,255,0.2); */
    transform: translateX(-16px) translateY(0) scale(1.0);
}

.mainnav a {
    /*position: relative; /* für span */
    display: block;
    margin: 0;
    padding: 16px 20px 3px 20px;
    font-family: var(--fontfamily_headlines);
    letter-spacing: 0.06em;
    font-size: 14px;
    font-size: 90%;
    /* font-weight: 400; */
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: rgba(255,255,255,0.7);
    /*border-bottom: 1px solid rgba(255,255,255,0.7);*/
}

/* Anzahl der Projekte hinter dem Linknamen */
.mainnav li a span {
    position: relative;
    top: 3px;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    /*border-bottom-left-radius: none;*/
    float: right;
    margin: 0 0 0 10px;
    padding: 8px 0 0 0;
    font-size: 9px;
    text-align: center;
    line-height: 0;
    color: white;
    background-color: rgba(0,0,0,0.2);
    /*border: 1px solid rgba(255,255,255,0.2);*/
}

.mainnav li.webdesign a span {
    /*color: #0ae9b4;*/
    /*background-color: #0ae9b4;*/
}

.mainnav li.visualisation a span {
    /*color: #fb75ff;*/
    /*background-color: #fb75ff;*/
}

.mainnav li.interfaces a span {
    /*color: #e52e46;*/
    /*background-color: #e52e46;*/
}

.mainnav li.graphic a span {
    /*color: #f1c750;*/
    /*background-color: #f1c750;*/
}

.mainnav > li:hover > a {
    color: white;
}

.mainnav li.current > a {
    color: #7bb9ff;
}

/* Second Level */
.mainnav > li > ul {
    position: absolute;
    background-color: #282e36; /* #293038 */
    /*filter: drop-shadow(0 2px 1px rgba(0,0,0,0.5)); /* Verwäscht den Text ein wenig */
    box-shadow: 0 1px 2px rgba(0,0,0,0.5);
   -webkit-transition: all 250ms;
   -moz-transition:    all 250ms;
   -o-transition:      all 250ms;
   -ms-transition:     all 250ms;
    transition:        all 250ms;
    visibility: hidden;
    opacity: 0;
}

.mainnav > li:hover > ul {
    visibility: visible;
    opacity: 1;
}

.mainnav li > ul li {
    float: none;
    display: block;
}

.mainnav li > ul li a {
    padding: 16px 20px 16px 20px;
}

.mainnav li > ul li:not(:last-child) a {
    border-bottom: 1px solid rgba(255,255,255,0.1);
}

.mainnav li.sub > a:after {
    position: relative;
    top: -1px;
    right: 0;
    font-family: 'Font Awesome 5 Free';
    content: '\f078'; /* fas fa-chevron-down */
    margin: 0 0 0 8px;
    font-weight: 600;
    font-size: 11px;
}

.mainnav li > ul li:first-child a {
    padding-top: 30px;
}

/*.mainnav li > ul li:last-child a {
    padding-bottom: 20px;
}*/

.mainnav li > ul li:not(.current):hover a {
    color: white;
    /*background-color: rgba(0,0,0,0.1);*/
}

/* ············································································· */


@media all and (max-width: 720px) {

    .top-header {
        padding-top: 0;
    }

    .top-header:after {
        display: none;
    }

    .top-header > nav {
        padding-top: 0;
        padding-bottom: 0;
    }

    .mainnav-wrapper {
        padding: 0;
    }

    .mainnav {
        width: 100%;
        flex-flow: column;
        align-items: stretch;
        display: none;
        margin-bottom: 0;
    }

    /* Animiertes Logo nicht mehr anzeigen */
    .sd-logo {
        display: none;
    }

    .top-header nav .mainnav a {
        padding: 10px 20px;
        text-align: left;
        border-top: 1px solid rgba(255,255,255,0.1);
    }

    /* Anzahl der Projekte hinter dem Linknamen */
    .top-header nav .mainnav li a span {
        padding-top: 9px;
    }

    /* Second Level */
    .mainnav > li > ul {
        position: relative;
        margin: 0;
        background-color: rgba(255,255,255,0.05);
        /*filter: none; /* Verwäscht den Text ein wenig */
        box-shadow: none;
       -webkit-transition: all 250ms;
       -moz-transition:    all 250ms;
       -o-transition:      all 250ms;
       -ms-transition:     all 250ms;
        transition:        all 250ms;
        visibility: visible;
        opacity: 1;
    }

    .top-header nav .mainnav li > ul li a {
        padding: 10px 20px 10px 40px;
    }

    .top-header nav .mainnav li > ul li:not(:last-child) a {
        border-bottom: none;
    }

    .top-header nav .mainnav li > ul li:first-child a {
        padding-top: 10px;
    }

    .top-header nav .mainnav li > ul li:not(.current):hover a {
        color: white;
    }
}

/* ············································································· */


/*  Show/Hide Navigation */
#showhide {
    position: relative;
    z-index: 100;
    width: 100%;
    height: 50px; /* 42px */
    padding: 0;
    display: none;
   -webkit-user-select: none;
   -moz-user-select: none;
   -ms-user-select: none;
    user-select: none;
}

#showhide > .header-wrapper {
    display: flex;
    /*flex-direction: row;
    justify-content: flex-end;*/
    align-items: center;
}

/* Wortmarke im <a> - Tag */
#showhide > .header-wrapper > a {
    flex: 1;
    transform: scaleX(.6) translateX(40px); /* Make it condensed */
    font: 200 1.6em/1 'Roboto Condensed', sans-serif;
    font-size: 2rem;
    text-transform: uppercase;
    text-align: center;
    color: #d6d7d9;
    padding: 0;
}

/* Wortmarke im <a> - Tag */
#showhide > .header-wrapper > a > span {
    font-weight: 300; /* 600 */
    color: #7bb9ff;
}

/* 'Hamburger' farblich hinterlegt */
#showhide > .header-wrapper > div {
    position: relative; /* Für Positionierung der <span> bei .active */
    cursor: pointer;
    /*width: 42px;
    height: 42px;*/
    width: 50px;
    height: 50px;
    display: flex;
    flex-direction: column;
    justify-content: center; /* flex-start */
    /*align-items: center;*/
    background-color: rgba(0,0,0,0.2);
    padding-left: 14px;
}

/* 'Hamburger' farblich hinterlegt -> Linien */
#showhide > .header-wrapper > div > span {
    position: absolute; /* Für Positionierung der <span> bei .active */
    /*display: block;*/
    width: 20px;
    /*height: 2px;*/
    border-bottom: 3px solid white;
    /*background: white;*/

   -webkit-transition: all 250ms;
   -moz-transition:    all 250ms;
   -o-transition:      all 250ms;
   -ms-transition:     all 250ms;
    transition:        all 250ms;
}

#showhide > .header-wrapper > div > span:nth-child(1) {
    top: 16px;
}

#showhide > .header-wrapper > div > span:nth-child(2) {
    top: 24px;
    width: 24px;
}

#showhide > .header-wrapper > div > span:last-of-type {
    top: 32px;
    width: 16px;
    margin-bottom: 0;
}

/* .active state */
#showhide.active > .header-wrapper > div > span:nth-child(1) {
    width: 21px;
    top: 16px;
    left: 14px;
    /*background: rgba(255,255,255,0.9);*/
    border-color: rgba(255,255,255,0.8);
    transform-origin: bottom left;
    transform-style: preserve-3D;
    transform: rotate(45deg);
}

#showhide.active > .header-wrapper > div > span:nth-child(2) {
    opacity: 0;
}

#showhide.active > .header-wrapper > div > span:nth-child(3) {
    width: 21px;
    top: 32px;
    left: 14px;
    /*background: rgba(255,255,255,0.9);*/
    border-color: rgba(255,255,255,0.8);
    transform-origin: top left;
    transform-style: preserve-3D;
    transform: rotate(-45deg);
}

/* ············································································· */


@media all and (max-width: 720px) {

    #showhide {
        display: block;
    }
}

/* ============================================================================= */


main a {
    color: black;
    border-bottom: 2px dotted rgba(0,0,0,0.5);
    /*white-space: nowrap; /* Hält den Link zusammen */
}

main a:hover {
    color: rgba(0,0,0,0.7);
    border-bottom: 2px dotted transparent;
}

/* ············································································· */


@media all and (max-width: 720px) {

    main > *:last-child {
        padding-bottom: 60px;
    }
}

/* ============================================================================= */


.visual {
    float: left;
    width: 100%;
    background: rgb(177,196,219);
    background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIxMDAlIiB5Mj0iMTAwJSI+CiAgICA8c3RvcCBvZmZzZXQ9IjAlIiBzdG9wLWNvbG9yPSIjYjFjNGRiIiBzdG9wLW9wYWNpdHk9IjEiLz4KICAgIDxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iI2MxYzFkNiIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgPC9saW5lYXJHcmFkaWVudD4KICA8cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSJ1cmwoI2dyYWQtdWNnZy1nZW5lcmF0ZWQpIiAvPgo8L3N2Zz4=);
    background: -moz-linear-gradient(-45deg, rgba(177,196,219,1) 0%, rgba(193,193,214,1) 100%);
    background: -webkit-gradient(linear, left top, right bottom, color-stop(0%,rgba(177,196,219,1)), color-stop(100%,rgba(193,193,214,1)));
    background: -webkit-linear-gradient(-45deg, rgba(177,196,219,1) 0%,rgba(193,193,214,1) 100%);
    background: -o-linear-gradient(-45deg, rgba(177,196,219,1) 0%,rgba(193,193,214,1) 100%);
    background: -ms-linear-gradient(-45deg, rgba(177,196,219,1) 0%,rgba(193,193,214,1) 100%);
    background: linear-gradient(135deg, rgba(177,196,219,1) 0%,rgba(193,193,214,1) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#b1c4db', endColorstr='#c1c1d6',GradientType=1 );
}

.visual > article,
.swiper {
    position: relative; /* :after */
    width: 100%;
    height: 480px !important; /* !important = swiper */
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

/* Parallax */
/*.visual.detail > article {
    height: 480px !important;
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
}*/

/* Swiper-Controls */
.swiper-button-prev,
.swiper-button-next {
    color: rgba(255,255,255,0.4);
}

/*.swiper-pagination-progressbar {
    height: 2px !important;
}*/

.swiper-pagination-progressbar-fill {
    background-color: rgba(123, 185, 255, 0.8) !important;
}

/* Visual-Höhe in der Artikel-Detailansicht */
.detail > article {
    height: 360px !important; /* !important = swiper */
}

/* Detail/Content-Seiten: Webdesign braucht mehr Abstand zum oberen Rand */
.visual .webdesign {
    padding: 50px 0 0 0;
}

/* Wie bei 'figure figcaption': Copyright-Notice bei den Visuals */
.visual .copyright {
    position: absolute;
    color: rgba(255,255,255,0.5);
    font-size: 11px;
    right: 0;
    bottom: 0;
    border: none;
    padding: 2px 8px 0px 8px;
}

/* Copyright-Notice bei den Visuals -> Startseite */
.home .visual .copyright {
    top: 0;
    left: 0;
    right: auto;
    bottom: auto;
}

/* Enlarge-Icon bei .visual */
.visual a.enlarge,
.visual a.enlarge:hover {
    position: absolute;
    right: 0;
    bottom: 0;
    display: inline-block;
    padding: 4px 8px;
    color: rgba(255,255,255,0.5);
    border: none;
}

.visual a.enlarge:hover {
    color: rgba(255,255,255,0.8);
}

.visual a.enlarge:before {
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    content: '\f00e'; /* <i class="fas fa-search-plus"></i> */
    font-size: 15px;

    /* Common Properties: All required to make icons render reliably */
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
   -webkit-font-smoothing: antialiased;
}

/* Detail/Content-Seiten */
.visual img {
    display: block;
    width: 100%;
    max-width: 1024px;
    margin: 0 auto;
}

.visual article section/* div*/,
.visual .headline-wrapper {
    display: flex;
    /*justify-content: center;
    align-items: center;
    padding: 0 20px;
    */
    width: 100%;
    height: 100%;
    max-width: 960px;
    /*margin: -64px auto 0 auto; /* Abzüglich Höhe der Content-Teaser */
    margin: 0 auto;
    /*border: 1px solid orange;*/

    justify-content: center;
    /*align-items: flex-start;*/
    align-items: center;
    padding: 0 20px;
}

.visual /*section*/ a {
    border: none;
    display: block;
    text-align: center;
}

/* Headlines Abstand von oben geben */
.visual .headline-wrapper a {
    margin: 20px 0 0 0;
}

/* Copyright in der rechten unteren Ecke und Enlarge-Icon (Lupe) nicht skalieren */
/*.visual a:hover:not(.copyright):not(.enlarge) {*/
.visual .headline-wrapper a.featured.aos-init.aos-animate:hover:not(.copyright):not(.enlarge) {
    border: none;
    transform: scale(1.02);
}

/* Für Projektbeschreibung wie z.B. '<h1>3D-Visualisierung<br><span>DNA-Helix</span></h1>' */
.visual /*section*/ h1 {
    display: inline;
    /*background-color: rgba(43,45,53,0.95);
    padding: 16px 20px 16px 20px;*/

   -webkit-box-decoration-break: clone;
    box-decoration-break: clone;

    /*color: #f0f0f0;
    font-size: 26px;
    font-weight: 100;*/
    line-height: 66px;
    text-transform: uppercase;
    letter-spacing: 0.16em;

    /* Für Slogan wie z.B. 'Wir entwickeln erfolgreiche Websites.' */
    /*background-color: rgba(0,0,0,0.9);*/
    /*background-color: rgba(255,255,255,0.95);*/
    /*background-color: rgba(240,255,0,0.95); /* Neon */
    background-color: rgba(255,240,0,0.85); /* Neonorange */
    color: black;

    /* Flickert durch AOS-Animation */
    /* -webkit-backdrop-filter: blur(var(--backdrop-filter-blur));
    backdrop-filter: blur(var(--backdrop-filter-blur)); */

    /*background-color: rgba(0,0,0,0.9);
    color: white;*/

    padding: 24px 20px 24px 20px; /* mit 'box-decoration-break: clone' */

    /* font-size: 1rem; */
    /* font-size: clamp(.5rem, 3vw, 1rem); */
    font-size: min(max(.8rem, 2vw), 1rem);

    /*font-size: 2vh; /* 16px */
    /*line-height: 6vh !important; /* mit 2vh font-size */
    font-weight: 400;
    font-family: var(--fontfamily_headlines);
    /* Statt 'box-decoration-break: clone' -> funzt nicht mit FF ! */
    /*padding: 20px 0;
    box-shadow: 24px 0 0 0px rgba(240,255,0,0.95), -24px 0 0 0px rgba(240,255,0,0.95);*/

   -webkit-transition: background-color 250ms;
   -moz-transition:    background-color 250ms;
   -o-transition:      background-color 250ms;
   -ms-transition:     background-color 250ms;
    transition:        background-color 250ms;

    /*font-size: clamp(16px, 2vw, 24px);*/ /* Nett! */
}

/* Targeting Chrome */
.visual /*section*/ h1:not(*:root) {
    margin-left: -10px;
}

/* AOS */
/*.visual .headline-wrapper a:hover {*/
.visual .headline-wrapper a.featured.aos-init.aos-animate:hover h1 {
    /*background-color: rgba(255,240,0,0.95); /* Neonorange */
    background-color: rgba(240,255,0,0.95); /* Neon */
}

.visual /*section*/ h1 span,
.visual /*section*/ h1 strong {
    font-weight: 700;
    display: inline;
}

/* ············································································· */


@media all and (max-width: 720px) {

    .visual article,
    .swiper,
    .swiper-container {
        height: 360px !important; /* !important = swiper */
    }

    /* Hm... */
    .visual article section/* div*/,
    .visual .headline-wrapper {
        /*justify-content: flex-start;
        align-items: flex-start;*/
    }

    /* Visual-Höhe in der Artikel-Detailansicht */
    .detail > article {
        height: 240px !important; /* !important = swiper */
    }

    /* Detail-Seiten */
    .visual .webdesign {
        padding: 50px 0 10px 0;
    }

    /*.visual article section {
        margin-top: 0; /* Höhe der Content-Teaser oben wieder abziehen */
        /*padding-bottom: 14px; /* Höhe der Content-Teaser unten hinzufügen plus optischen Ausgleich */
    /*}*/

    /* Schrift linksbündig */
    .visual /*section*/ a {
        text-align: left;
    }

    /* Headlines Abstand von oben geben */
    .visual .headline-wrapper a {
        /*margin: 24px 0 0 0;*/
        margin: 0 24px 0 24px;
        text-align: center;
    }

    /* Targeting Chrome -> Headline ragt 10px aus dem Rahmen raus */
    .visual .headline-wrapper a:not(*:root) {
        margin: 24px 10px 0 10px;
    }

    .visual /*section*/ h1 {
        /*padding: 16px 10px 14px 10px;
        font-size: 14px;
        line-height: 46px;
        */
        padding: 12px 10px 10px 10px;
        /* font-size: 14px; */
        line-height: 38px;
    }

    /*.visual /*section*/ h1 span {
        display: inline-block;
    }

    /* Crazy: Keine Umbrüche mehr anzeigen */
    .visual h1 br {
        display: none;
    }

}

/* ============================================================================= */


/* 4 Boxen:
   Webdesign & -Entwicklung, 2D/3D-Visualisierungen, UI/UX Design, Infografik */
.teaser {
    position: relative;
    z-index: 1;
    width: 100%;
    /*float: left;*/
    background-color: white;
    /*border: 1px solid red;*/

    display: flex;
    justify-content: flex-start;
    align-items: stretch;
}

.teaser > .swiper-wrapper {
    display: flex;
    justify-content: flex-start;
    align-items: stretch;

    width: 100%;
    height: 100% !important;
    max-width: 960px;
    margin: 0 auto;

    /*display: grid;
    grid-template-rows: auto auto;
    /*grid-template-columns: repeat(3, 1fr);*/
    /*grid-template-columns: calc(36% - 1px) calc(32% - 1px) 32%;
    grid-auto-flow: column;
    grid-gap: 0 1px;*/

    /*border: 1px solid green;*/

    /*display: -ms-grid;
    display: grid;
   -ms-grid-columns: 1fr 1fr 1fr;
    grid-template-columns: 1fr 1fr 1fr;
   -ms-grid-rows: auto auto auto;
    grid-template-rows: auto auto auto;*/

    /*grid-auto-flow: row;*/
    /*grid-gap: 0 1px;*/
}

.teaser > .swiper-wrapper > /*article*/.swiper-slide {
    /*margin-top: -64px;*/
    /* Equal widths */
    flex: 1; /* shorthand für flex-grow: 1; flex-shrink: 1; flex-basis: 0; */
    /*flex: 0 1 33.33333%;*/

    /*height: 100% !important;*/
    /*display: contents; /* für display: grid; bei '.teaser > div' */
    /*border: 1px solid red;*/
    border-right: 1px solid rgba(0,0,0,0.2); /* Für 4 Elemente */
}

/*.teaser > div > article:first-child {*/
    /*flex-grow: 1.1; /* Für 3 Elemente */
    /*width: 36%;*/
    /*border-right: 1px solid rgba(0,0,0,0.2);*/ /* Für 3 Elemente */
/*}*/

/* Gelöst mit border-left und -right */
/*.teaser > div > article:not(:last-child) {
    margin-right: 1px;
}*/

.teaser > .swiper-wrapper > .swiper-slide:last-child {
    /*border-left: 1px solid rgba(0,0,0,0.2);*/ /* Für 3 Elemente */
    border-right: none;
}

/* Übernommen aus swiper.min.css, Zeile 13 */
.teaser > .swiper-wrapper > .swiper-slide {
    height: auto;
}

.teaser > .swiper-wrapper > .swiper-slide > a {
    /*float: left;*/
    display: flex;
    flex-direction: column;
    align-items: stretch;
    width: 100%;
    /*height: 100% !important; /* Darf nicht aktiv sein! */
    /*background: white;*/
    border: none;
    /*border: 1px solid red;*/

    position: relative; /* :hover */
   -webkit-transition: all 250ms;
   -moz-transition:    all 250ms;
   -o-transition:      all 250ms;
   -ms-transition:     all 250ms;
    transition:        all 250ms;
}

/*.teaser > div > article a:hover {
    transform: scale(1.1);
}*/

.teaser > .swiper-wrapper > /*article*/.swiper-slide:hover a,
/*.swiper-slide.swiper-slide-visible*/.swiper-slide-thumb-active > a {
    /*top: -64px;*/
    transform: translateY(-64px);
    height: calc(100% + 64px);
    background: #f6f6f6;
    box-shadow: inset 0 0 3px rgba(0,0,0,0.2);
}

.teaser h2 {
    position: relative; /* :after */
    margin: 0 0 20px 0;
    padding: 21px 20px 19px 20px;
    font-family: var(--fontfamily_headlines);
    color: #f0f0f0;
    font-size: 16px;
    line-height: 1.5;
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: 0.16em;
    /*background-color: rgba(0,0,0,0.85);*/
    background-color: black; /* old */
    /*backdrop-filter: blur(10px);*/
    /*overflow: hidden;*/
}

/* TODO ::: Überschrift nur halbtransparent durchscheinen lassen -> funktioniert momentan nicht, da schon das <div> eine BG-Farbe hat */
/*.swiper-slide.swiper-slide-visible*//*.swiper-slide-thumb-active h2 {
    background-color: rgba(0,0,0,0.5);
}*/

.teaser h2:before {
    content: '';
    position: absolute;
    top: 13px;
    left: 20px;
    width: 20px;
    height: 2px;

   -webkit-transition: all 250ms;
   -moz-transition:    all 250ms;
   -o-transition:      all 250ms;
   -ms-transition:     all 250ms;
    transition:        all 250ms;
}

.teaser h2.webdesign:before {
    background-color: #0ae9b4;
}

.teaser h2.visualisation:before {
    background-color: #fb75ff;
}

.teaser h2.interfaces:before {
    background-color: #e52e46;
}

.teaser h2.graphic:before {
    background-color: #f1c750;
}

.teaser > .swiper-wrapper > /*article*/.swiper-slide a:hover h2:before {
    /*width: 40px;*/
    width: calc(50% - 20px);
}

.teaser > .swiper-wrapper ul {
    /*width: 100%;
    float: left;*/
    padding: 0 20px;
    font-weight: 300;
    /*border: 1px solid red;*/
}

/*.teaser > .swiper-wrapper ul li {
   -webkit-transition: all 250ms;
   -moz-transition:    all 250ms;
   -o-transition:      all 250ms;
   -ms-transition:     all 250ms;
    transition:        all 250ms;
}*/


.teaser > .swiper-wrapper ul li:not(:last-child):after {
    content: '';
    display: block;
    border-bottom: 2px solid rgba(0,0,0,0.2);
    width: 20px;
    /*margin: 20px auto; /* centering */
    margin: 20px 0; /* left */
}

/* Nächstes Element über .teaser setzen, damit es bei :hover nicht blitzt */
.teaser + section {
    position: relative;
    z-index: 1;
}

/* ············································································· */


@media all and (max-width: 980px) {

    /* Umbrüche ausgleichen */
    .teaser h2 {
        height: 90px;
    }
}

/* ············································································· */


@media all and (max-width: 600px) { /* 480 */

    /* Komplett schwarze Bereiche */
    /*.teaser {
        background-color: black;
    }*/

    /* Elemente untereinander anordnen */
    .teaser > .swiper-wrapper {
        display: block;
        padding-bottom: 0;
    }

    /* Elemente hiden */
    .teaser > .swiper-wrapper ul {
        display: none;
    }

    /* -64px wieder zurücksetzen */
    .teaser > .swiper-wrapper > /*article*/.swiper-slide {
        margin-top: 0;
        float: left;
        width: 100%;
        /*border: 1px solid indianred;*/
        background: #121519;
    }

    .teaser > .swiper-wrapper > /*article*/.swiper-slide > a,
    .teaser > .swiper-wrapper > /*article*/.swiper-slide:hover a {
        /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#121519+0,181b21+100 */
        background: #121519; /* Old browsers */
        background: -moz-linear-gradient(top,  #121519 0%, #181b21 100%); /* FF3.6-15 */
        background: -webkit-linear-gradient(top,  #121519 0%,#181b21 100%); /* Chrome10-25,Safari5.1-6 */
        background: linear-gradient(to bottom,  #121519 0%,#181b21 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
        filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#121519', endColorstr='#181b21',GradientType=0 ); /* IE6-9 */
    }

    .teaser > .swiper-wrapper > /*article*/.swiper-slide:hover a,
    /*.swiper-slide.swiper-slide-visible*/.swiper-slide-thumb-active > a {
        transform: none;
        height: auto;
        box-shadow: none;
    }

    /* Hintergrundfarbe des aktiven Tabs ändern */
    /*.swiper-slide.swiper-slide-visible*/.swiper-slide-thumb-active > a {
        background: -moz-linear-gradient(top,  hsl(214, 16%, 14%) 0%, hsl(220, 16%, 17%) 100%) !important; /* FF3.6-15 */
        background: linear-gradient(to bottom,  hsl(214, 16%, 14%) 0%,hsl(220, 16%, 17%) 100%) !important;
    }


    /* Aktiver Teaser-Slide: Linie wieder verlängern wie bei :hover */
    .teaser > .swiper-wrapper > .swiper-slide-thumb-active h2:before {
        width: calc(50% - 20px);
    }

    .teaser > .swiper-wrapper > /*article*/.swiper-slide:not(:last-child) {
        border-bottom: 1px solid rgba(255,255,255,0.1);
    }

    /* Höhen wieder automatisch berechnen lassen und keinen Abstand zur <ul> */
    .teaser h2 {
        margin: 0;
        padding-top: 40px;
        padding-bottom: 15px;
        height: auto;
        background-color: transparent;
    }

    .teaser h2:before {
        top: 22px;
    }

    /*.teaser > div > article a:hover h2:before {
        width: calc(100% - 40px);
    }*/

    /*.teaser h2.webdesign {
        color: #0ae9b4;
    }

    .teaser h2.visualisation {
        color: #fb75ff;
    }

    .teaser h2.interfaces {
        color: #e52e46;
    }

    .teaser h2.graphic {
        color: #f1c750;
    }*/

    .teaser > .swiper-wrapper > /*article*/.swiper-slide:first-child {
        border-right: none;
    }

    .teaser > .swiper-wrapper > /*article*/.swiper-slide:last-child {
        border-left: none;
    }

    .teaser > .swiper-wrapper ul {
        margin: 0;
        padding: 0 20px 30px 20px;
        /*color: #f0f0f0;*/
        color: rgba(255,255,255,0.5);
    }

    .teaser > .swiper-wrapper ul li:not(:last-child):after {
        border-color: rgba(255,255,255,0.2);
        /*display: none; /* Alternative */
    }

}

/* ============================================================================= */


/* Webdesign, 3D-Animation und User Interfaces – die Leidenschaft für ansprechende Grafik ist unser Motor. */
.gradient {
    position: relative; /* :after */
    float: left;
    width: 100%;
    padding: 60px;

    /* https://colorzilla.com/gradient-editor/#b0aae5+20,78b4f8+100 */
    background: rgb(176,170,229);
    background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIxMDAlIiB5Mj0iMTAwJSI+CiAgICA8c3RvcCBvZmZzZXQ9IjIwJSIgc3RvcC1jb2xvcj0iI2IwYWFlNSIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiM3OGI0ZjgiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
    background: -moz-linear-gradient(-45deg,  rgba(176,170,229,1) 20%, rgba(120,180,248,1) 100%);
    background: -webkit-gradient(linear, left top, right bottom, color-stop(20%,rgba(176,170,229,1)), color-stop(100%,rgba(120,180,248,1)));
    background: -webkit-linear-gradient(-45deg,  rgba(176,170,229,1) 20%,rgba(120,180,248,1) 100%);
    background: -o-linear-gradient(-45deg,  rgba(176,170,229,1) 20%,rgba(120,180,248,1) 100%);
    background: -ms-linear-gradient(-45deg,  rgba(176,170,229,1) 20%,rgba(120,180,248,1) 100%);
    background: linear-gradient(135deg,  rgba(176,170,229,1) 20%,rgba(120,180,248,1) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#b0aae5', endColorstr='#78b4f8',GradientType=1 );
}

.team-gradient {
    /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#6e8398+0,252c33+100 */
    background: #6e8398; /* Old browsers */
    background: -moz-radial-gradient(center, ellipse cover,  #6e8398 0%, #252c33 100%); /* FF3.6-15 */
    background: -webkit-radial-gradient(center, ellipse cover,  #6e8398 0%,#252c33 100%); /* Chrome10-25,Safari5.1-6 */
    background: radial-gradient(ellipse at center,  #6e8398 0%,#252c33 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#6e8398', endColorstr='#252c33',GradientType=1 ); /* IE6-9 fallback on horizontal gradient */

    background-position: center center;
    background-size: 1100px 1100px;
}

.white {
    float: left;
    width: 100%;
    padding: 40px 60px 20px 60px;
    background-color: #eaeaea;
}

.gradient > article,
.white > article {
    display: flex;
    flex-flow: row;
    justify-content: flex-start;
    align-items: stretch;
    width: 100%;
    max-width: 960px;
    margin: 0 auto;
    background-color: rgba(255,255,255,0.2);
}

.white > article {
    background-color: transparent;
}

.gradient > article > section {
    padding: 30px 20px 30px 20px;
}

.gradient > article > section h2 {
    font-family: var(--fontfamily_headlines);
    color: white;
    font-size: 16px;
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: 0.16em;
}

.gradient > article > section > div > *:last-child {
    margin-bottom: 0;
}

/* ············································································· */


@media all and (max-width: 720px) {

    .gradient {
        padding: 0;
    }

    .white {
        padding: 30px 20px 30px 20px;
    }
}

/* ============================================================================= */


.project-teaser {
    position: relative; /* :after */
    float: left;
    width: 100%;
    padding: 46px 60px 60px 60px;
    /*padding: 46px 60px 0 60px;*/
    /*background-color: #f0f0f0;*/
    /*border: 1px solid red;*/
}

/* https://stackoverflow.com/questions/28417056/how-to-target-only-ie-any-version-within-a-stylesheet */
@media screen\0 {
    .project-teaser {
        display: flex;
    }

    .project-teaser section {
        padding-bottom: 0;
    }
}

.gradient-blue-pink {
    /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#698a9c+0,87889c+100 */
    background: #698a9c; /* Old browsers */
    background: -moz-linear-gradient(-45deg,  #698a9c 0%, #87889c 100%); /* FF3.6-15 */
    background: -webkit-linear-gradient(-45deg,  #698a9c 0%,#87889c 100%); /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(135deg,  #698a9c 0%,#87889c 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#698a9c', endColorstr='#87889c',GradientType=1 ); /* IE6-9 fallback on horizontal gradient */
    /* background: none; */
}

.project-teaser > article {
    /*display: flex;
    flex-flow: column;*/
    /*justify-content: flex-start;
    align-items: stretch;*/
    display: block;
    width: 100%;
    max-width: 960px;
    margin: 0 auto;
    /*border: 1px solid red;*/
    /* transform: skewX(-15deg) rotate(-15deg); */
}

.project-teaser > article > h2 {
    font-family: var(--fontfamily_headlines);
    font-size: 16px;
    font-weight: 400;
    color: whitesmoke;
    text-transform: uppercase;
    letter-spacing: 0.16em;
    margin-bottom: 40px;
    /* line-height: 1; */

    display: flex;
    justify-content: space-between;
    align-items: center;
}

.project-teaser > article > h2 /*a*/.more {
    position: relative;
    top: -1px;
    border: none;
    color: inherit;
    margin-left: 16px;
    margin: 0 0 0 16px;
    /* opacity: 0.6; */ /* Wird von AOS geregelt */
    color: rgba(255,255,255,.6);
    /* line-height: 1; */
}

.project-teaser > article > h2 /*a*/.more:hover {
    /* opacity: 1; */ /* Wird von AOS geregelt */
    color: white;
}

.project-teaser > article > h2 /*a*/.more:after {
    content: '\203A'; /* \2039 = andersrum */
    font-size: 22px;
    margin-left: 6px;
}

/* Thumbnails */
.project-teaser section {
    /*margin-top: 50px;*/
    width: 100%;

    /*display: flex;
    flex-flow: row wrap;
    align-items: stretch;*/

   -webkit-columns: 3;
      -moz-columns: 3;
           columns: 3;
   -webkit-column-gap: 40px; /* 20px */
      -moz-column-gap: 40px; /* 20px */
           column-gap: 40px; /* 20px */
    /*border: 1px solid red;*/
        /*column-fill: balance;*/

   /*-webkit-columns: 300px;
      -moz-columns: 300px;
           columns: 300px;*/

}

/* ············································································· */


@media all and (max-width: 720px) {

    .project-teaser {
        padding: 26px 20px 32px 20px;
        /*background-color: #515c67; /* #222324, #8996a3 */
    }

    .project-teaser > article > h2 {
        display: block;
        margin-bottom: 24px;
    }

    .project-teaser > article > h2 /*a*/.more {
        /* color: whitesmoke; */
        margin-left: 0;
        display: block;
    }

    .project-teaser section {
       -webkit-columns: 2;
          -moz-columns: 2;
               columns: 2;
    }
}

/* ············································································· */


@media all and (max-width: 600px) {

    .project-teaser section {
       -webkit-columns: 1;
          -moz-columns: 1;
               columns: 1;
       /*-webkit-columns: auto;
          -moz-columns: auto;
               columns: auto;*/
               /*display: block;*/
    }

}

/* ············································································· */

.project-teaser/* > article >*/ section > a {
    position: relative; /* :after */
    /*overflow: hidden; /* :after */
    width: 100%;
    /*width: 33.33333%;*/
    height: 100%;
    position: relative;
    /*float: left;*/
    border: none;
    /*display: inline-block;
    /*display: inline-table;*/
    /*display: flex; /* Funktioniert als einziges, aber nicht im IE11 */ /* Bis 9. Juli 2020 */
    display: inline-block; /* Neu ab 9. Juli 2020 */
    background-color: #333b45;
    /* Schatten wird hier nicht umbrochen, daher Extra-Element 'a > article' mit Schatten -> wieder aufgehoben */
    box-shadow: 0 0 3px rgba(0,0,0,0.4);
    /*display: inline/*-block*/;
    margin-bottom: 40px; /* 20px */

    /*break-inside: avoid;
    break-inside: avoid-column;*/
    column-break-inside: avoid;

    page-break-inside: avoid;
    break-inside: avoid;

    break-inside: avoid-column;
    /*overflow: hidden;*/

    /* https://css-tricks.com/forums/topic/column-count-not-working-in-chrome/ */
    -webkit-column-break-inside: avoid;
    -webkit-backface-visibility: hidden;

    /* https://github.com/kingdido999/zooming/issues/42 */
    /*transform: translateZ(0);*/
}

/* https://stackoverflow.com/questions/28417056/how-to-target-only-ie-any-version-within-a-stylesheet */
@media screen\0 {
    .project-teaser/* > article >*/ section > a {
        display: inline-block; /* necessary? Jo! */
    }
}

/* Letztem Element kein margin-bottom geben, damit die Abstände zu .gototop gleich sind, siehe 'main' */
.project-teaser/* > article >*/ section > a:last-child {
    margin-bottom: 0;
}

.project-teaser/* > article >*/ section > a > article {
    transition: all 250ms;
}

.project-teaser/* > article >*/ section > a:hover > article {
    box-shadow: 0 0 5px rgba(0,0,0,0.4);
    transform: scale(1.05);
}

/* ············································································· */


@media all and (max-width: 600px) {

    .project-teaser/* > article >*/ section > a {
        margin-bottom: 20px; /* 20px */
    }

    .project-teaser/* > article >*/ section > a:hover > article {
        transform: none;
    }

}

/* ············································································· */


/* <article> auf 100% Breite bringen, damit das <img> auch 100% breit sein kann */
.project-teaser /*> article > section > a >*/ article {
    width: 100%;
    /*border: 3px solid yellowgreen;*/
}

/* Projekt-Kategorie */
.project-teaser a > article > div:first-child span {
    position: relative;
    display: block;
    margin: 0 0 15px 0;
    /*background-color: rgba(0,0,0,0.8);*/
    padding: 0 0 10px 0;
    font-family: var(--fontfamily_headlines);
    font-size: 11px;
    font-size: 80%;
    font-weight: 300;
    color: white;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    /*box-shadow: 0 0 3px rgba(0,0,0,0.4);*/
}

/* Umrahmt den oberen Teil des Project-Teasers mit Kategorie, Titel, Teaser */
.project-teaser .wrapper {
    padding: 15px 20px 20px 20px;
}

/* More-Button-Wrapper */
.project-teaser .wrapper:last-child {
    position: relative; /* :after */
    z-index: 1; /* :after */
    padding: 5px 20px 20px 20px;
}

.project-teaser a .wrapper:last-child:after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 0;
    background-color: rgba(0,0,0,0.2);
    z-index: -1;
    /*display: block;*/
   -webkit-transition: all 250ms;
   -moz-transition:    all 250ms;
   -o-transition:      all 250ms;
   -ms-transition:     all 250ms;
    transition:        all 250ms;
}

.project-teaser a:hover .wrapper:last-child:after {
    /*width: 100%;*/
    height: 100%;
}

.project-teaser a.webdesign .wrapper:last-child {
    /*border-top: 2px solid #0ae9b4;*/
    border-bottom: 2px solid #0ae9b4;
}

.project-teaser a.visualisation .wrapper:last-child {
    border-bottom: 2px solid #fb75ff;
}

.project-teaser a.interfaces .wrapper:last-child {
    border-bottom: 2px solid #e52e46;
}

.project-teaser a.graphic .wrapper:last-child {
    border-bottom: 2px solid #f1c750;
}

.project-teaser .wrapper h3 {
    /* font-family: var(--fontfamily_headlines);
    text-transform: uppercase; */
    font-size: 1.1rem;
    font-weight: 500;
    line-height: 1.4;
    margin: 7px 0 5px 0;
}

.project-teaser .wrapper p {
    margin-top: 10px;
    color: rgba(255,255,255,.9);
    font-family: var(--fontfamily_body);
    font-size: 90%;
    font-weight: 300;
    line-height: 1.4;
    /*margin-bottom: 15px;*/
}

.project-teaser .wrapper:last-child > p {
    /*border: 1px solid red;*/
    color: black;
    font-size: 16px;
    font-weight: 400;
}

.project-teaser a.webdesign > article > div:first-child {
    background-color: #3eb0b4;
    /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#15d8a7+0,3eb0b4+100 */
    background: #15d8a7; /* Old browsers */
    background: -moz-linear-gradient(-45deg,  #15d8a7 0%, #3eb0b4 100%); /* FF3.6-15 */
    background: -webkit-linear-gradient(-45deg,  #15d8a7 0%,#3eb0b4 100%); /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(135deg,  #15d8a7 0%,#3eb0b4 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#15d8a7', endColorstr='#3eb0b4',GradientType=1 ); /* IE6-9 fallback on horizontal gradient */
    background-size: 100%;
}

/*.project-teaser a.webdesign > article {
    border: 4px solid #3eb0b4;*/
    /*outline: 4px solid #3eb0b4;
    outline-offset: -4px;*/
/*}*/

.project-teaser a.visualisation > article > div:first-child {
    background-color: #bf78c2;
    /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#e16ae5+0,bf78c2+100 */
    background: #e16ae5; /* Old browsers */
    background: -moz-linear-gradient(-45deg,  #e16ae5 0%, #bf78c2 100%); /* FF3.6-15 */
    background: -webkit-linear-gradient(-45deg,  #e16ae5 0%,#bf78c2 100%); /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(135deg,  #e16ae5 0%,#bf78c2 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#e16ae5', endColorstr='#bf78c2',GradientType=1 ); /* IE6-9 fallback on horizontal gradient */
    background-size: 100%;
}

.project-teaser a.interfaces > article > div:first-child {
    background-color: #c13f50;
    /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#f23249+0,c13f50+100 */
    background: #f23249; /* Old browsers */
    background: -moz-linear-gradient(-45deg,  #f23249 0%, #c13f50 100%); /* FF3.6-15 */
    background: -webkit-linear-gradient(-45deg,  #f23249 0%,#c13f50 100%); /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(135deg,  #f23249 0%,#c13f50 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f23249', endColorstr='#c13f50',GradientType=1 ); /* IE6-9 fallback on horizontal gradient */
    background-size: 100%;
}

.project-teaser a.graphic > article > div:first-child {
    background-color: #c49d30;
    /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#f1c750+0,c49d30+100 */
    background: #f1c750; /* Old browsers */
    background: -moz-linear-gradient(-45deg,  #f1c750 0%, #c49d30 100%); /* FF3.6-15 */
    background: -webkit-linear-gradient(-45deg,  #f1c750 0%,#c49d30 100%); /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(135deg,  #f1c750 0%,#c49d30 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f1c750', endColorstr='#c49d30',GradientType=1 ); /* IE6-9 fallback on horizontal gradient */
    background-size: 100%;
}

.project-teaser a > article > div:first-child,
.project-teaser a img {
   -webkit-transition: all 250ms;
   -moz-transition:    all 250ms;
   -o-transition:      all 250ms;
   -ms-transition:     all 250ms;
    transition:        all 250ms;
}

/* Ändern der Verlaufsgröße */
.project-teaser a:hover > article > div:first-child {
    background-size: 200%;
}

.project-teaser a.webdesign span {
    border-bottom: 2px solid #0ae9b4;
    /*border-bottom: 2px solid rgba(255,255,255,0.4);*/
}

.project-teaser a.visualisation span {
    border-bottom: 2px solid #fb75ff;
    /*border-bottom: 2px solid rgba(255,255,255,0.4);*/
}

.project-teaser a.interfaces span {
    /*border-bottom: 2px solid #e52e46;*/
    border-bottom: 2px solid rgba(255,255,255,0.4);
}

.project-teaser a.graphic span {
    border-bottom: 2px solid #f1c750;
    /*border-bottom: 2px solid rgba(255,255,255,0.4);*/
}

.project-teaser img {
    width: 100%;
    display: block; /* Remove white space below image, because <img> is an inline element */
    margin: 0;
    /* border-bottom: 1px solid rgba(0,0,0,0.3); */
    /* filter: grayscale(50%); */
}

.project-teaser a:hover img {
    filter: grayscale(0) saturate(130%);
}

.project-teaser div > *:last-child {
    margin-bottom: 0;
}

/*.project-teaser p:last-child {
    color: red;
}*/

/* Zum Projekt */
p.more {
    margin-top: 0;
    color: black;
    font-weight: 400;
    text-align: right;
}

p.more:after {
    content: '\203A'; /* \2039 = andersrum */
    font-size: 20px;
    margin-left: 6px;
}

/* ············································································· */

/*@media all and (max-width: 720px) {*/ /* <- IMMER SO */

    /* More-Button-Wrapper */
    .project-teaser .wrapper:last-child {
        /*background-color: #323334;*/
        /*background-color: rgba(43,45,53,0.95);*/
        background-color: #333b45; /* #8899aa, #7f8b98 */
        /*background-color: rgba(240,255,0,0.95); /* Neon */
    }

    .project-teaser .wrapper p.more {
        color: whitesmoke;
        /* font-family: var(--fontfamily_headlines); */
        font-weight: 300;
    }

/*}*/

/* ············································································· */


@media all and (max-width: 600px) {

    /* News-Datum */
    .project-teaser a > article > span {
        position: static;
        display: inline-block;
        padding-left: 20px;
        box-shadow: none;
    }
}

/* ============================================================================= */


ul.categories-list {
    display: flex;
    justify-content: space-between;
    margin-bottom: 40px;
}

ul.categories-list li {
    flex-grow: 1;
}

ul.categories-list li:not(:last-child) {
    border-right: 1px solid rgba(0,0,0,0.2);
}

ul.categories-list li a {
    position: relative; /* :after */
    display: block;
    padding: 10px;
    font-family: var(--fontfamily_headlines);
    text-transform: uppercase;
    text-align: center;
    letter-spacing: 0.06em;
    font-size: 14px;
    height: 100%;
    /*border-bottom: 2px solid rgba(0,0,0,0.15);*/
    border: none;
}

/*ul.categories-list li a:hover,*/
/*ul.categories-list li.current a:after {
    position: absolute;
    left: 0;
    bottom: 0;
    content: '';
    width: 100%;
    border-bottom: 2px solid red;
}*/

/* Kategorie-Farblinien über Bezeichnung */
ul.categories-list li.webdesign a:before,
ul.categories-list li.visualisation a:before,
ul.categories-list li.interfaces a:before,
ul.categories-list li.graphic a:before {
    position: absolute;
    top: 0;
    content: '';
    width: 20px;
    border-top: 2px solid;

   -webkit-transition: all 250ms;
   -moz-transition:    all 250ms;
   -o-transition:      all 250ms;
   -ms-transition:     all 250ms;
    transition:        all 250ms;
}

ul.categories-list li.webdesign a:before {
    border-color: #0ae9b4;
}

ul.categories-list li.visualisation a:before {
    border-color: #fb75ff;
}

ul.categories-list li.interfaces a:before {
    border-color: #e52e46;
}

ul.categories-list li.graphic a:before {
    border-color: #f1c750;
}

ul.categories-list li.webdesign a:hover:before,
ul.categories-list li.visualisation a:hover:before,
ul.categories-list li.interfaces a:hover:before,
ul.categories-list li.graphic a:hover:before {
    width: 40px;
}

ul.categories-list li.current a:before {
    top: auto;
    left: 20px;
    bottom: 0;
    width: calc(100% - 40px);
}

ul.categories-list li a > * {
    position: absolute;
    margin: 0 0 0 0;
    top: -5px;
    display: inline-block;
    width: 18px;
    height: 18px;
    padding: 9px 0 0 0;
    border-radius: 18px;
    border-bottom-left-radius: 0;
    background-color: rgba(0,0,0,0.15);
    /*background-color: rgba(255,255,255,0.5);*/
    /*background-color: rgb(240, 255, 0);*/
    /*border: 1px solid rgba(0,0,0,0.5);*/
    font-family: 'Roboto', sans-serif;
    font-size: 10px;
    line-height: 0;
    text-align: center;
}

/* ············································································· */


@media all and (max-width: 860px) {

    ul.categories-list {
        margin-top: 10px;
        flex-flow: row wrap;
        margin-bottom: 15px;
    }

    ul.categories-list li {
        width: calc(50% - 20px);
        margin-right: 20px;
        margin-bottom: 20px;
        /*border: 1px solid rgba(0,0,0,0.2);*/
    }

    ul.categories-list li:nth-child(even) {
        margin-right: 0;
    }

    /*ul.categories-list li:nth-child(odd) {
        border-right: none;
    }*/

    /*ul.categories-list li:not(:last-child) {
        border-right: none;
    }*/

    ul.categories-list li a {
        padding: 15px 20px 10px 10px;
        text-align: left;
        color: lightgrey;
        background-color: black;
    }

    ul.categories-list li.current a {
        color: white;
    }

    ul.categories-list li.current a:before {
        left: 10px;
        width: calc(100% - 38px);
    }

    /* Kategorie-Farblinien über Bezeichnung */
    ul.categories-list li.webdesign a:before,
    ul.categories-list li.visualisation a:before,
    ul.categories-list li.interfaces a:before,
    ul.categories-list li.graphic a:before {
        top: 10px;
    }

    ul.categories-list li a > * {
        margin: 0;
        top: 0;
        right: 0;
        border-radius: 0;
        border-bottom-left-radius: 3px;
    }

}

/* ============================================================================= */


.news-teaser {
    float: left;
    width: 100%;
    padding: 46px 60px 60px 60px;
    /*background-color: #d8d7db;*/

    /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#7f99b3+0,9b95c2+100 */
    background: #7f99b3; /* Old browsers */
    background: -moz-linear-gradient(top,  #7f99b3 0%, #9b95c2 100%); /* FF3.6-15 */
    background: -webkit-linear-gradient(top,  #7f99b3 0%,#9b95c2 100%); /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to bottom,  #7f99b3 0%,#9b95c2 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#7f99b3', endColorstr='#9b95c2',GradientType=0 ); /* IE6-9 */

}

.news-teaser > article {
    display: block;
    width: 100%;
    max-width: 960px;
    margin: 0 auto;
}

.news-teaser/* > article >*/ h2,
.news-teaser .results > h3 {
    color: whitesmoke;
    font-family: var(--fontfamily_headlines);
    font-size: 16px;
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: 0.16em;
    margin-bottom: 40px;
}

/* Kategorien unter den Tag-Ergebnissen */
.news-teaser .results > h3 {
    margin-top: 20px;
}

.news-teaser > article > h2 /*a*/.more {
    color: inherit;
    border: none;
    margin-left: 16px;
    opacity: 0.6;
}

.news-teaser > article > h2 /*a*/.more:after {
    content: '\203A'; /* \2039 = andersrum */
    font-size: 22px;
    margin-left: 6px;
}

/* ············································································· */


@media all and (max-width: 720px) {

    .news-teaser {
        padding: 26px 20px 40px 20px;
    }

    .news-teaser/* > article >*/ h2 {
        margin-bottom: 24px;
    }

    /* Kategorien unter den Tag-Ergebnissen */
    .news-teaser .results > h3 {
        margin: 6px 0 24px 0;
    }

    .news-teaser > article > h2 /*a*/.more {
        margin-left: 0;
        display: block;
    }

}

/* ············································································· */


.news-teaser section {
    width: 100%;
}

.news-teaser section a {
    float: left;
    width: 100%;
    margin-bottom: 20px;
    border: none;
    /*background-color: #f0f0f0;*/
    /*background-color: rgb(250,250,250);*/
    box-shadow: 0 0 3px rgba(0,0,0,0.4);
}

.news-teaser/* > article >*/ section > a:hover {
    border: none;
    /*background-color: white;*/
    box-shadow: 0 0 5px rgba(0,0,0,0.4);
}

.news-teaser section a:last-child {
    margin-bottom: 0;
}

.news-teaser a > article {
    display: flex;
    flex-flow: row;
    justify-content: flex-start;
    align-items: stretch;
    width: 100%;
    max-width: 960px;
    margin: 0 auto;
}

.news-teaser a > article > div:first-child {
    min-width: calc(33.33333% - 26px); /* Bündig mit den News-Kacheln */
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    /*border: 1px solid red;*/
}

/* Momentan über background-image gelöst */
.news-teaser a > article > div:first-child img {
    width: 100%;
    /*display: block; /* Remove white space below image, because <img> is an inline element */
    margin: 0;
    display: none; /* Bei großer Auflösung Image noch nicht zeigen */
}

/* Bereich für Datum, Dachzeile, Headline, Teaser */
.news-teaser a > article > div:last-child {
    position: relative; /* :after */
    flex-grow: 1;
    /*padding: 30px 25px 20px 30px;*/ /* Wenn Datum schwarz hinterlegt ist */
    padding: 20px 25px 20px 30px;
    background-color: rgba(255,255,255,0.85);

   -webkit-transition: background-color 250ms;
   -moz-transition:    background-color 250ms;
   -o-transition:      background-color 250ms;
   -ms-transition:     background-color 250ms;
    transition:        background-color 250ms;
}

.news-teaser a:hover > article > div:last-child {
    background-color: white;
}

/* Dreieck beim Image */
/*.news-teaser a > article > div:last-child:after {
    content: '';
    position: absolute;
    top: calc(50% - 20px);
    left: -26px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 20px 26px 20px 0;
    border-color: transparent rgba(255,255,255,0.85) transparent transparent;

   -webkit-transition: border-color 250ms;
   -moz-transition:    border-color 250ms;
   -o-transition:      border-color 250ms;
   -ms-transition:     border-color 250ms;
    transition:        border-color 250ms;
}

.news-teaser a:hover > article > div:last-child:after {
    border-color: transparent white transparent transparent;
}*/

/* News-Datum und Tags */

/* Alle Tags unterhalb der Suchergebnisse */
.news-teaser .results {
    float: left;
}

.news-teaser .results h3 {
    margin-top: 40px;
}

/* ············································································· */


@media all and (max-width: 720px) {

    .news-teaser .results h3 {
        margin-top: 26px;
    }

}

/* ············································································· */


/* Tags zwischen h1 und Content */
.tags {
    /*width: 100%; /* 26.04.2020 */
    display: block;
    margin: 0 0 20px 0 !important;
    /*border: 1px solid red;*/
}

span.date {
    margin: 0;
    color: black;
    font-size: 13px;
    font-weight: 400;
    /*float: right;*/ /* old */

    /* New */
    width: 100%;
    display: inline-block;
    /*text-align: right;*/
}

/*span.date,*/
.news-teaser a > article > div:last-child h3,
.tags > a,
.tags > span {
    display: inline-block;
    margin: 0 5px 2px 0 !important;
    width: auto;
    background-color: rgba(0,0,0,0.9);
    padding: 5px 10px 3px 10px;
    font-family: var(--fontfamily_headlines);
    font-size: 12px;
    font-weight: 400;
    color: whitesmoke;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    /*box-shadow: 0 0 3px rgba(0,0,0,0.4);*/
}

.tags > a,
.tags > span {
    padding: 6px 5px 4px 5px;
    font-size: 10px;
    line-height: 1;
    border-radius: 3px;
    border-bottom: none;
}

.tags > a:hover {
    color: white;
    border-bottom: none;
}

.tags > a:before,
.tags > span:before {
    position: relative;
    font-family: 'Font Awesome 5 Free';
    font-weight: 600;
    /*content: '\f02b'; /* <i class="fas fa-tag"></i> */
    content: '\f02c'; /* <i class="fas fa-tags"></i> */
    margin: 0 4px 0 0;
    top: 0;
    display: inline/*-block*/; /* Link zusammenhalten ohne -block */
    /*font-style: normal;
    font-variant: normal;*/
    font-size: 9px; /* 0.8em */
    /*text-rendering: auto;
   -webkit-font-smoothing: antialiased;*/
    /*opacity: 0.7;*/
}

span.date:after {
    content: '';
    clear: left;
    display: table;
}

span.date + section.tags {
    margin: 0;
}

span.date ~ h4:before {
    content: '';
    clear: both;
    display: table;
    margin-top: 10px;
}

span.date + section.tags ~ h4:before {
    margin: 0;
}


/* News-Datum -> Abstand zu den Tags -> 1px - eigentlich 0px ... ? */
/**//*.news-teaser a > article > div:last-child > span:first-child {
    margin-right: 1px;
}*/

/* Abstand zur Sub-Headline regeln, da diese ein inline-Element ist */
/*.news-teaser a > article > div:last-child /*>*/ span:last-of-type {
    margin-bottom: 15px;
}


/* Tags-Farben */
.news-teaser a > article > div:last-child > span.comment,
.tags > a.comment,
.tags > span.comment {
    background-color: #4b5d68;
}

.news-teaser a > article > div:last-child > span.bad,
.tags > a.bad,
.tags > span.bad {
    background-color: #594942; /* Böses Braun */
}

.news-teaser a > article > div:last-child > span.opinion,
.tags > a.opinion,
.tags > span.opinion {
    background-color: #7bb9ff;
}

.news-teaser a > article > div:last-child > span.fact,
.tags > a.fact,
.tags > span.fact {
    background-color: indianred;
}

.news-teaser a > article > div:last-child > span.green,
.tags > a.green,
.tags > span.green {
    background-color: yellowgreen;
}

.news-teaser a > article > div:last-child > h4:before {
    content: '';
    float: none;
    display: block;
}

/* Sub-Headline: Kicker */
.news-teaser a > article > div:last-child h4 {
    display: inline/*-block*/;
    width: auto;
    font-size: 16px;
    font-weight: 400;
    /*border-bottom: 2px solid rgba(0,0,0,0.3);*/
    border-bottom: 2px solid rgb(240, 255, 0);
    margin: 0 0 10px 0;
}

.news-teaser a > article > div:last-child > h4:after {
    content: '';
    display: block;
    margin: 0 0 10px 0;
}

/* Headline: Title */
.news-teaser a > article > div:last-child h3 {
    font-size: 16px; /* 17px als 'normale' Schrift */  /* Wenn Datum schwarz hinterlegt ist */
    /*font-weight: 500; /* 17px als 'normale' Schrift */  /* Wenn Datum schwarz hinterlegt ist */
    /*margin: 5px 0 13px 0; /* 17px als 'normale' Schrift */  /* Wenn Datum schwarz hinterlegt ist */
    margin: 5px 0 20px 0 !important;
}

/* Projektbeschreibung */
.news-teaser p:not(.more) {
    /* color: #444; */
    color: rgba(0,0,0,.8);
    font-size: 16px;
    font-weight: 300;
    line-height: 1.5;
    margin-bottom: 10px;
}

/* Zum Beitrag */
.news-teaser p.more {
    color: black;
    font-weight: 400;
    margin-bottom: 0; /* .more */
}

/* ············································································· */


@media all and (max-width: 720px) {

    /* Alle Elemente untereinander setzen */
    .news-teaser a > article {
        display: block;
    }

    /* Dreieck beim Image nach oben zeigen lassen */
    /*.news-teaser a > article > div:last-child:after {
        top: -26px;
        left: calc(50% - 20px);
        border-width: 0 20px 26px 20px;
        border-color: transparent transparent rgb(250,250,250) transparent;
    }

    .news-teaser a:hover > article > div:last-child:after {
        border-color: transparent transparent white transparent;
    }*/

    /* 3 Spalten unterhalb der Projektbeschreibung */
    /*.news-teaser a > article > div:last-child > div {
        display: none;
    }*/

    .news-teaser a > article > div:first-child {
        min-width: 0; /* Bündig mit den Projekt-Kacheln */ /* ??? */
        background-image: none !important;
        width: 100%;
    }

    /* Momentan über background-image gelöst */
    .news-teaser a > article > div:first-child img {
        display: block;
    }

    /* Mittlerem <p> keinen Abstand nach links und rechts geben */
    .news-teaser a > article > div:last-child > div > p:nth-child(2) {
        padding: 0;
    }

    .news-teaser a > article > div:last-child {
        flex-grow: 1;
        padding: 20px 20px 20px 20px;
    }

    .news-teaser a > article > div:last-child p:last-of-type {
        margin-bottom: 0;
    }

}

/* ============================================================================= */


.content {
    position: relative;
    width: 100%;
    float: left;
    padding: /*46px*/0 60px 60px 60px;
    /*background-color: rgba(255,255,255,0.5);*/
    background-color: white;
}

/* basic-page ohne Datum */
.basic {
    padding-top: 80px;
}

.silver {
    background-color: whitesmoke;
}

.content > article {
    position: relative;
    width: 100%;
    max-width: 960px;
    margin: 0 auto;
}

/* ············································································· */


/* Team-Seite */
/*.team > article > section.member {
    margin: 36px 0 96px 0 !important;
}*/

.team {
    width: 100%;
    margin: 36px 0 0 0 !important;
    padding: 0 !important;
    display: block !important;
}

.team:not(:last-child) {
    margin-bottom: 90px !important;
}

.team:last-child {
    margin-bottom: 40px !important;
}

.content > article > section.team > div:first-child {
    width: 100%;
}

.content > article > section.team > div:last-child {
    display: flex;
    padding: 36px 0 0 0;
}

.team .team-left {
    width: 100%;
    max-width: 360px;
    padding: 0 0 0 60px !important;
    text-align: right;
}

.team .team-right {
    width: calc(100% - 360px);
    padding: 60px 60px 0 60px !important;
}

.content > article > section.team:nth-child(even) > div:last-child {
    flex-direction: row-reverse;
}

.content > article > section.team:nth-child(even) > div:last-child .team-left {
    text-align: left;
    padding: 0 60px 0 0 !important;
}

/* Profil-Foto */
.team img {
    display: inline-block;
    width: 100%;
    max-width: 300px;
    height: 375px; /* Vorübergehender Fix */
    /*min-height: auto !important; /* https://stackoverflow.com/questions/44250526/images-height-bug-in-ios */
    margin-left: 60px;
}

.team > .member {
    position: relative; /* Für Position der Namen der Team-Mitglieder */
}

.team:nth-child(even) > .member:first-child {
    display: flex;
    justify-content: flex-end;
    /*border: 1px solid green;*/
}

.team:nth-child(even) img {
    margin-left: 0;
}

.team h1 {
    position: absolute;
    bottom: 60px;
    line-height: normal !important;
}

.team:nth-child(odd) h1 {
    left: 300px;
    padding-left: 120px !important;
}

.team:nth-child(even) h1 {
    right: 300px;
    padding-right: 120px !important;
}

/* Unterstrichene Überschrift unter Profil-Foto */
.team h3 {
    display: inline/*-block*/; /* Nur notwendige Breite erzeugen für die Unterstreichung */
    width: auto;
    font-size: 16px;
    font-weight: 500;
    border-bottom: 2px solid rgb(240, 255, 0); /* Neon */
    margin: 0;
}

/* Unterstrichene Überschrift unter Profil-Foto -> Abstand nach unten */
.team h3:after {
    content: '';
    display: block;
    margin: 0 0 36px 0;
}

/* Unterstrichene Überschrift unter Profil-Foto */
.team h4 {
    font-weight: 400 !important;
    /*margin: 24px 0 0 0;*/
}

/* ············································································· */


@media all and (max-width: 800px) {

    /* Profil-Foto */
    .team img {
        margin-left: 0;
    }

    .content > article > section.team > div:last-child {
        display: block;
        /*padding: 36px 0 0 0;*/
    }

    .team .team-left {
        max-width: none;
        padding: 0 0 0 0 !important;
        text-align: left;
    }

    .team .team-right {
        width: 100%;
        padding: 36px 0 0 0 !important;
    }

    .team h1 {
        bottom: 20px;
        padding-left: 20px !important;
        padding-right: 20px !important;
    }

    .team:nth-child(even) h1 {
        left: 0;
        right: auto;
    }

    .team:nth-child(odd) h1 {
        left: auto;
        right: 0;
    }

}

/* ············································································· */


@media all and (max-width: 480px) {

    /* Profil-Foto */
    .team img {
        max-width: none;
        height: auto;
    }

    .content > article > section.team:nth-child(even) > div:last-child {
        flex-direction: row;
    }

    .content > article > section.team:nth-child(even) > div:last-child .team-left {
        text-align: left;
        padding: 0 0 0 0 !important;
    }

    .team:nth-child(even) h1,
    .team:nth-child(odd) h1 {
        left: 0;
        right: auto;
        padding-left: 20px !important;
        padding-right: 20px !important;
    }

}

/* ············································································· */


/* Kategorie oben links, Datum oben rechts */
.content > article > header {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    margin-bottom: 80px;
}

/* Kategorie und Datum */
.content:not(.basic) h2,
.content > article > header > div {
    position: relative; /* :after */
    margin: 0;
    padding: 21px 20px 19px 20px;
    font-family: var(--fontfamily_headlines);
    font-size: 90%;
    color: rgba(0,0,0,.7);
    line-height: 1.5;
    font-weight: 400;
    text-transform: uppercase;
    /*letter-spacing: 0.1em; /* 0.16em */
    letter-spacing: 0.06em; /* Wie bei <nav> */
    border: 1px solid rgba(0,0,0,0.2);
    border-top: none;
}

.content.basic h2 {
    font-size: 17px;
    font-weight: 500;
    margin-bottom: 24px;
}

/* Kategorie-Verlinkung */
.content > article > header > a:first-child /*h2*/ {
    border-bottom: none;
}

/* Bei Artikeln keine Kategorie anzeigen und nur Datum rechts anzeigen */
.content.article > article > header > div {
    align-self: flex-end;
    margin-left: auto;
}

/* Datum oben rechts: Verfasser des Artikels */
.content > article > header > div span {
    margin-left: 20px;
    color: silver;
}

/* Kategorie oben links: Farbliche Auszeichnung */
.content:not(.basic) h2:before {
    content: '';
    position: absolute;
    top: 13px;
    left: 20px;
    width: 20px;
    height: 2px;
   -webkit-transition: width 250ms;
   -moz-transition:    width 250ms;
   -o-transition:      width 250ms;
   -ms-transition:     width 250ms;
    transition:        width 250ms;
}

.content:not(.basic) h2:hover:before {
    width: calc(50% - 20px);
}

.content h2.webdesign:before {
    background-color: #0ae9b4;
}

.content h2.visualisation:before {
    background-color: #fb75ff;
}

.content h2.interfaces:before {
    background-color: #e52e46;
}

.content h2.graphic:before {
    background-color: #f1c750;
}

/* <section class="single"> oder <section> für <aside> j/n */
.content > article > section:not(.tags) {
    display: flex;
    margin-top: 80px;
}

.content > article > section > div {
    flex: 1; /* shorthand für flex-grow: 1; flex-shrink: 1; flex-basis: 0; */
}

/* Artikel linke Spalte */
.content > article > section > div:first-child {
    width: 70%;
    padding-right: 60px;
    /*border: 1px solid red;*/
}

/* Wenn keine Sidebar vorhanden, kein Padding nach rechts */
.content > article > section.single > div:first-child {
    padding-right: 0;
}

/* Artikel linke Spalte nach allen Überschriften */
/*.content article section div > div {
    /*padding-top: 60px; /* Abstand von oben: bündig mit Projektdaten */
/*}*/


.content img/*:not(.team-image)*/ {
    width: 100%;
    display: block;
}

/* Statische Seiten wie z.B. Leistungen innerhalb CKE */
.content.basic img:not(.team-image) {
    width: auto;
    max-width: 100%;
}

.content img.align_left {
    float: left;
    margin: 0 30px 16px 0;
    max-width: 100%;
    display: block;
    /*border: 1px solid red;*/
}

.content ul li {
    position: relative;
    margin: 0 0 0 16px;
    /*margin-left: 1em;*/
}

.content ul li:before {
    position: absolute;
    left: -16px;
    /*font-family: 'Font Awesome 5 Free';
    font-weight: 600;
    content: '\f0da'; /* fa-caret-right */
    content: '\2022'; /* bullet */
    color: black;
}

/* Artikel linke Spalte nach allen Überschriften: letztes Element */
.content > article > section > div > div > *:last-child {
    margin-bottom: 0;
    /*border: 1px solid red;*/
}

/* Bei letztem <div> eine abschließenden Linie mittig erscheinen lassen */
/*.content article section div > div:last-of-type:after {*/
/*.content:not(.contact) article section div > div:last-of-type:not(.image_row):after {*/
.content > article > section:not(.tags):not(.team) > div > div:last-of-type:not(.image_row):after {
    content: '';
    display: block;
    width: 60px;
    height: 0;
    border-top: 3px solid black;
    /*border-top: 3px solid rgb(240, 255, 0); /* Neon */
    /*border-top: 3px solid #7bb9ff; /* schmidtdesign-Blau */
    margin: 50px auto 0 auto;
}

/* Projektdaten rechte Spalte */
.content > article > section > aside {
    width: 30%;
    /*padding-top: 60px; /* Abstand von oben: bündig mit Artikel */
    /* text-align: right; */

    /* Wenn farbig hinterlegt: */
    /*padding: 20px 20px 20px 60px;*/
    /*background: whitesmoke;*/

    /* Nur mit Linie links */
    padding: 0 0 0 60px;
    border-left: 1px solid rgba(0,0,0,0.2);
}

/* .content.basic > article > section > aside > div, */
.content > article > section > aside > div {
    padding-top: 24px;
    margin-top: -24px;
    position: sticky !important;
    top: 0;
}

/* In der Sidebar <aside> keine Bullets in einer Liste darstellen und wieder ausrücken */
/* .content > article > section > aside ul li {
    margin: 0;
}

.content > article > section > aside ul li:before {
    content: '';
} */

.content > article > section > aside ul li::before {
    position: absolute;
    /* top: .25rem; */
    left: -1rem;
    color: #7bb9ff;
    color: indianred;
    color: #afcb08;
    color: hsl(64, 100%, 45%);
    /* font-family: 'Font Awesome 5 Free'; */
    /* font-size: 11px; */
    font-weight: 400;
    /* content: '\f067'; */
    /* content: '\2022'; */
    content: '\002b';
}

.content > article > section > aside ul li,
.content > article > section > aside ol li {
    position: relative;
    margin: 0 0 0 1rem;
}


/* Infospalte rechts bei den ***News/Artikeln*** */
.article.content > article > section > aside {
    text-align: left;
}

/* Projektdaten rechte Spalte: letztes Element */
.content > article > section > aside > *:last-child {
    margin-bottom: 18px; /* optischer Ausgleich */
    /*border: 1px solid red;*/
}

.content /*article*/ /*section*/ h1 {
    /*position: relative; /* ::after */
    /* z-index: 2; */
    display: inline-block;
    display: inline; /* box-decoration-break hat sonst keinen Effekt */
    /* font-family: 'Questrial', sans-serif; */
    /* font-family:trial', sans-serif; */
    font-family: var(--fontfamily_headlines);
    font-size: min(max(1rem, 2vw), 1.1rem);
    line-height: 3.17;
    font-weight: 300;
    color: white;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    /*line-height: 66px; /* Nur mit display: inline */
    background-color: rgba(0,0,0,0.9);
    /*padding: 24px 20px 24px 20px; /* Nur mit display: inline */
    padding: 16px 20px; /* Ohne display: inline */
   -webkit-box-decoration-break: clone;
    box-decoration-break: clone;

   /*-webkit-transform: skew(20deg);
   -moz-transform: skew(20deg);
   -ms-transform: skew(20deg);
   -o-transform: skew(20deg);
    transform: skew(20deg);

    display: inline-block;
    transform-origin: 0;
    transform: skewY(-3deg);*/
    
    
    /* background: linear-gradient(135deg, #00c7ff 0%,#ff7200 33%,#c0c 66%,#00c7ff 100%);
    color: transparent;
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    -webkit-text-stroke: transparent;
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone; */
    
    margin-bottom: 5px;
}

/* .content article h1::after {
    content: '';
    position: absolute;
    z-index: 1;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background-color: rgba(0,0,0,0.9);
} */

/* Unterstrichene Überschrift über Haupt-Überschrift */
.content article > header:first-child + h3,
h3.kicker {
    display: inline/*-block*/; /* Nur notwendige Breite erzeugen für die Unterstreichung */
    width: auto;
    font-size: 16px;
    font-weight: 500;
    /*border-bottom: 2px solid rgba(0,0,0,0.3);*/
    border-bottom: 2px solid rgb(240, 255, 0); /* Neon */
    margin: 40px 0 0 0;
}

/* Überschrift über Haupt-Überschrift: Abstand nach unten */
.content article > header:first-child + h3:after,
h3.kicker:after {
    content: '';
    display: table;
    margin: 0 0 24px 0;
}

/* Überschrift unter Haupt-Überschrift */
/*.content article h1 + h3 {
    font-size: 16px;
    font-weight: 500;
    margin: 40px 0 0px 0;
}*/

/* Teaser <h3> unterhalb Überschrift und im Content <h4> */
.content article > section h3,
.content article h4 {
    font-weight: 500;
    margin-bottom: 24px;
}

/* Teaser über Zweispalter -> gesamte Breite über zwei Spalten */
.content article > section .columns h3 {
    column-span: all;
}

/* Projektdetails in der rechten Spalte */
.content article aside h4 {
    font-weight: 500;
    margin-bottom: 0;
}

.content article aside p {
    margin-bottom: 24px;
}

/* ············································································· */


@media all and (max-width: 720px) {

    .content {
        padding: 0 20px 20px 20px;
    }

    .content > article > section:not(.tags) {
        display: block;
        margin-top: 30px;
    }

    /* TBD */
    /* basic-page ohne Datum */
    .basic {
        padding-top: 40px;
    }

    /* Artikel linke Spalte */
    .content > article > section > div:first-child {
        width: 100%;
        padding-right: 0;
    }

    /* Kategorie oben links, Datum oben rechts */
    .content > article > header {
        margin-bottom: 40px;
    }

    /* Datum oben rechts */
    .content > article > header > div {
        width: 100%;
    }

    /* TBD */
    /* Kategorie und Datum bei Projekt und Artikel */
    /*.content > a,*/
    .content > article > header > a {
        width: 100%;
    }

    /* Projektdaten rechte Spalte */
    .content > article > section > aside {
        width: 100%;
        padding: 40px 0 0 0;
        border-left: none;
        text-align: left;
    }

    /* Projektdaten rechte Spalte: letztes Element */
    .content > article > section > aside > *:last-child {
        float: left; /* Ansonsten kein Abstand nach unten */
    }

}

/* ============================================================================= */


.prev_next {
    float: left;
    width: 100%;
    padding: 40px 60px 60px 60px;
    /*border: 1px solid red;*/
    /*border-top: 1px solid rgba(0,0,0,0.2);*/
    background-color: whitesmoke;
}

.prev_next > article {
    display: block;
    width: 100%;
    max-width: 960px;
    margin: 0 auto;
}

/* Weitere Artikel / Projekte */
.prev_next > article > h3 {
    font-weight: 400;
    margin-bottom: 30px;
}

/* Category */
.prev_next > article > h3 > span.category {
    font-weight: 500;
    /*color: #7bb9ff;*/
}

/* Seitenanzahl */
.prev_next > article > h3 > span.count {
    font-weight: 300;
    white-space: nowrap;
}

.prev_next > article > div {
    display: flex;
    justify-content: space-between;
}

.prev_next > article > div a,
.prev_next > article > div a:hover {
    /*flex: 1;*/
    /*width: calc(50% - 30px);*/
    width: calc(33.33333% - 20px);
    display: flex;
    justify-content: space-between;
    align-items: center;
    /*border: 1px solid rgba(0,0,0,0.2);*/
    border: none;
    /*background: rgba(0,0,0,0.1);*/
    background-color: white;
    box-shadow: 0 0 3px rgba(0,0,0,0.4);
}

.prev_next > article > div a:hover {
    box-shadow: 0 0 5px rgba(0,0,0,0.4);
    /*border-radius: 5px;*/
    /*transform: scale(1.1);*/
    /*transform: scale(1.02);*/
    z-index: 1;
}

.prev_next > article > div a img {
   -webkit-transition: border-radius 250ms;
   -moz-transition:    border-radius 250ms;
   -o-transition:      border-radius 250ms;
   -ms-transition:     border-radius 250ms;
    transition:        border-radius 250ms;
}

/*.prev_next a.prev:hover img {
    border-top-left-radius: 5px;
    border-bottom-left-radius: 5px;
}

.prev_next a.next:hover img {
    border-top-right-radius: 5px;
    border-bottom-right-radius: 5px;
}*/

.prev_next > article > div .next {
    text-align: right;
}

.prev_next > article > div img {
    display: block;
    width: 80px;
    height: 80px;
}

.prev_next > article > div a div {
    position: relative; /* :after */
    width: calc(100% - 80px);
    /*height: 100%;*/
    padding: 5px 20px 5px 20px;
    /*border: 1px solid red;*/
}

/* Ins Bild ragende Dreiecke */
.prev_next a.prev div:after,
.prev_next a.next div:after {
    content: '';
    position: absolute;
    top: calc(50% - 12px);
    width: 0;
    height: 0;
    border-style: solid;
}

.prev_next a.prev div:after {
    left: -18px;
    border-width: 12px 18px 12px 0;
    border-color: transparent white transparent transparent;
}

.prev_next a.next div:after {
    right: -18px;
    border-width: 12px 0 12px 18px;
    border-color: transparent transparent transparent white;
}

.prev_next > article > div a div h4 {
    margin: 0;
    padding: 0;
    font-weight: 400;
    line-height: 20px;
}

/* Current Page */
.prev_next > article > div a.current {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 5px 20px 5px 20px;
    /*background: black;*/
}

.prev_next > article > div a.current h4 {
    margin: 0;
    font-weight: 500;
    color: #7bb9ff;
    /*color: white;*/
    line-height: 20px;
}

/* ············································································· */


@media all and (max-width: 720px) {

    .prev_next {
        /*margin-bottom: 20px;*/
        padding: 30px 20px 40px 20px;
    }

    .prev_next > article > div a,
    .prev_next > article > div a:hover {
        width: 50%; /* Für flex, 2 Elemente nebeneinander */
        /*border-radius: 0;*/
    }

    /* AOS bei prev und next deaktivieren */
    .prev_next a.prev.aos-animate,
    .prev_next a.next.aos-animate {
        -o-transition-property: none !important;
        -moz-transition-property: none !important;
        -ms-transition-property: none !important;
        -webkit-transition-property: none !important;
        transition-property: none !important;
    
        -o-transform: none !important;
        -moz-transform: none !important;
        -ms-transform: none !important;
        -webkit-transform: none !important;
        transform: none !important;
    
        -webkit-animation: none !important;
        -moz-animation: none !important;
        -o-animation: none !important;
        -ms-animation: none !important;
        animation: none !important;
    }

    /*.prev_next a:not(:last-child) {
        margin-bottom: 20px;
    }*/

    /*.prev_next a:hover {
        transform: none;
    }

    .prev_next a.prev:hover img {
        border-top-left-radius: 0;
        border-bottom-left-radius: 0;
    }

    .prev_next a.next:hover img {
        border-top-right-radius: 0;
        border-bottom-right-radius: 0;
    }*/

    /* Current Page nicht mehr anzeigen */
    .prev_next > article > div a.current {
        display: none;
    }

}

/* ············································································· */


@media all and (max-width: 600px) {

    /* Elemente untereinander darstellen */
    .prev_next > article > div {
        display: block;
    }

    .prev_next > article > div a,
    .prev_next > article > div a:hover {
        width: 100%;
        /*border-radius: 0;*/
    }

    .prev_next > article > div a:not(:last-child) {
        margin-bottom: 20px;
    }

}

/* ============================================================================= */


/* Button mit Dreieck an der linken Seite – funktioniert nicht mit IE11 */
/*.tag {
    float: left;
    filter: drop-shadow(1px 2px 2px rgba(0,0,0,0.5));
}

.tag > * {
    background: #fb8c00;
    border: none;
    padding: 10px 15px 10px 25px;
    clip-path: polygon(20px 0%, 100% 0%, 100% 100%, 20px 100%, 0 50%);
}*/

/* ============================================================================= */


footer {
    position: relative;
    width: 100%;
    float: left;
    padding: 60px 60px 40px 60px;
    /* https://colorzilla.com/gradient-editor/#b0aae5+20,78b4f8+100 */
    /*background: rgb(176,170,229);
    background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIxMDAlIiB5Mj0iMTAwJSI+CiAgICA8c3RvcCBvZmZzZXQ9IjIwJSIgc3RvcC1jb2xvcj0iI2IwYWFlNSIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiM3OGI0ZjgiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
    background: -moz-linear-gradient(-45deg,  rgba(176,170,229,1) 20%, rgba(120,180,248,1) 100%);
    background: -webkit-gradient(linear, left top, right bottom, color-stop(20%,rgba(176,170,229,1)), color-stop(100%,rgba(120,180,248,1)));
    background: -webkit-linear-gradient(-45deg,  rgba(176,170,229,1) 20%,rgba(120,180,248,1) 100%);
    background: -o-linear-gradient(-45deg,  rgba(176,170,229,1) 20%,rgba(120,180,248,1) 100%);
    background: -ms-linear-gradient(-45deg,  rgba(176,170,229,1) 20%,rgba(120,180,248,1) 100%);
    background: linear-gradient(135deg,  rgba(176,170,229,1) 20%,rgba(120,180,248,1) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#b0aae5', endColorstr='#78b4f8',GradientType=1 );*/

    /*background-color: #282e36;*/

    /* Vom Header */
    /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#121519+0,333b45+100 */
    background: #121519; /* Old browsers */
    background: -moz-linear-gradient(top,  #121519 0%, #333b45 100%); /* FF3.6-15 */
    background: -webkit-linear-gradient(top,  #121519 0%,#333b45 100%); /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to bottom,  #121519 0%,#333b45 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#121519', endColorstr='#333b45',GradientType=0 ); /* IE6-9 */

    background: var(--secondary_background_color);
}

/* Wird durch jQuery erzeugt */
/*footer .gototop {
    position: absolute;
    top: -26px;
    left: calc(50% - 26px);
    width: 52px;
    height: 52px;
    border-radius: 50%;
    border: 2px dotted whitesmoke;
}

body.home footer .gototop {
    border: 2px dotted rgba(216,215,219,0.5);
}*/

/*footer .gototop > a {
    position: absolute;
    display: block;
    top: 4px;
    left: 4px;
    width: 40px;
    height: 40px;
    color: #666;
    text-align: center;
    line-height: 0;
    padding: 12px 0 0 0;
    border-radius: 20px;
    background-color: whitesmoke;
    /*border-bottom: 2px solid rgba(0,0,0,0.3);*/
    /*border-top: 2px solid rgba(255,255,255,1);*/
    /*border-bottom: 2px solid rgba(255,255,255,1);*/
/*}

body.home footer .gototop > a {
    background-color: #d8d7db;
}

footer .gototop > a:hover {
    color: black;
    background-color: rgba(255,255,255,1) !important;
    box-shadow: 0 0 5px rgba(0,0,0,0.4);
}*/


/* NEW Footer ·································································· */
/* ············································································· */
/*
footer .gototop {
    position: relative;
    top: -26px;
    left: calc(50% - 26px);
    width: 52px;
    height: 52px;
    border-radius: 50%;
}

footer .gototop > a {
    position: absolute;
    display: block;
    top: 4px;
    left: 4px;
    width: 40px;
    height: 40px;
    color: #666;
    text-align: center;
    line-height: 0;
    padding: 12px 0 0 0;
    border-radius: 20px;
    background-color: whitesmoke;
}

footer .gototop > a:before,
footer .gototop > a:after {
    content: '';
    position: absolute;
    width: 9px;
    height: 3px;
    top: calc(50% - 1px);
    background-color: black;
   -webkit-transition: all 250ms;
   -moz-transition:    all 250ms;
   -o-transition:      all 250ms;
   -ms-transition:     all 250ms;
    transition:        all 250ms;
}

footer .gototop > a:before {
    left: 12px;
    transform-origin: left 50%;
    transform: rotate(-22.5deg);
}

footer .gototop > a:after {
    right: 12px;
    transform-origin: right 50%;
    transform: rotate(22.5deg);
}

footer .gototop > a:hover:before {
    left: 11px;
    width: 14px;
    top: calc(50% + 3px);
    transform: rotate(-45deg);
    background-color: #666;
}

footer .gototop > a:hover:after {
    right: 11px;
    width: 14px;
    top: calc(50% + 3px);
    transform: rotate(45deg);
    background-color: #666;
}

footer .gototop > a:hover {
    box-shadow: 0 0 5px rgba(0,0,0,0.5);
}
*/



/*
footer .gototop {
    position: fixed;
    z-index: 1;
    bottom: 52px;
    right: -12px;
    width: 52px;
    height: 52px;
}

footer .gototop > a {
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    width: 40px;
    height: 40px;
    color: #666;
    text-align: center;
    line-height: 0;
    padding: 12px 0 0 0;
    border-top-left-radius: 3px;
    border-bottom-left-radius: 3px;
    background-color: rgba(0,0,0,0.7);
}

footer .gototop > a:before,
footer .gototop > a:after {
    content: '';
    position: absolute;
    width: 9px;
    height: 3px;
    top: calc(50% - 1px);
    background-color: whitesmoke;
   -webkit-transition: all 250ms;
   -moz-transition:    all 250ms;
   -o-transition:      all 250ms;
   -ms-transition:     all 250ms;
    transition:        all 250ms;
}

footer .gototop > a:before {
    left: 12px;
    transform-origin: left 50%;
    transform: rotate(-22.5deg);
}

footer .gototop > a:after {
    right: 12px;
    transform-origin: right 50%;
    transform: rotate(22.5deg);
}

footer .gototop > a:hover:before {
    left: 11px;
    width: 14px;
    top: calc(50% + 3px);
    transform: rotate(-45deg);
    background-color: whitesmoke;
}

footer .gototop > a:hover:after {
    right: 11px;
    width: 14px;
    top: calc(50% + 3px);
    transform: rotate(45deg);
    background-color: whitesmoke;
}
*/






footer .gototop {
    position: fixed;
    z-index: 1;
    bottom: 52px;
    right: -12px;
    width: 52px;
    height: 52px;
}

footer .gototop > a {
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    width: 40px;
    height: 40px;
    border-top-left-radius: 4px;
    border-bottom-left-radius: 4px;
    background-color: rgba(0,0,0,0.7);
}

footer .gototop > a:after {
    content: '';
    position: absolute;
    top: calc(50% - 4px);
    left: calc(50% - 6px);
    width: 12px;
    height: 12px;
    border-top: 1px solid whitesmoke;
    border-right: 1px solid whitesmoke;
    transform: rotate(-45deg);
   -webkit-transition: all 250ms;
   -moz-transition:    all 250ms;
   -o-transition:      all 250ms;
   -ms-transition:     all 250ms;
    transition:        all 250ms;
}

/*footer .gototop:hover > a:after {
    /*border-width: 3px;*/
    /*top: calc(50% - 3px);
    left: calc(50% - 8px);
    width: 16px;
    height: 16px;
}*/








footer section {
    width: 100%;
    max-width: 960px;
    margin: 0 auto;
    display: -webkit-flex;
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: stretch;
}

footer article {
    width: 50%;
}

footer a,
footer article:last-child li {
    display: block;
    margin: 0;
    padding: 10px 0;
    font-weight: 400;
    color: rgba(255,255,255,0.8);
}

/* Copyright Notice */
footer article:last-child li {
    font-weight: 300;
}

footer a:hover {
    color: white;
}

footer li.current a {
    color: white;
    font-weight: 600;
}

footer .fab,
footer .fas {
    width: 1em;
}

/* ············································································· */

@media all and (max-width: 600px) {

    footer {
        padding: 0;
    }

    footer section {
        display: block;
    }

    footer article {
        width: 100%;
        padding: 0;
    }

    footer li {
        width: 100%;
    }

    footer article:first-child ul li/*:not(:first-child)*/ {
        border-bottom: 1px solid rgba(255,255,255,0.3);
    }

    footer a,
    footer article:last-child li {
        width: 100%;
        text-align: center;
        padding: 20px 20px;
    }

    footer article:last-child li,
    footer li.edit {
        padding: 0 20px;
    }

}

/* ============================================================================= */


form {
    width: 100%;
    float: left;
    margin-bottom: 30px;
}

/*form:focus-within {
    background-color: rgba(255,255,255,0.3);
}*/

fieldset {
    margin: 0;
    padding: 0;
    border: none;
}

/* Zweispalter innerhalb der Form */
form section {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    /*border: 1px solid red;*/
}

form section > div {
    width: 100%;
    /*flex: 1;*/
}

form section > div:first-child {
    padding-right: 10px;
}

form section > div:last-child {
    padding-left: 10px;
}

form section p {
    margin: 0;
}

/* ············································································· */


@media all and (max-width: 800px) {

    form section {
        flex-direction: column;
    }

    form section > div:first-child {
        padding-right: 0;
    }

    form section > div:last-child {
        padding-left: 0;
    }

    /* Abstand zum Senden-Button */
    form section p {
        margin-bottom: 30px;
    }

}

/* ············································································· */


legend {
    width: 100%;
    margin: 0 0 3em 0;
    padding: 0;
    font-weight: 400;
}

label {
    display: block;
    margin-bottom: 5px;
}

label + input,
label + textarea {
    margin-bottom: 24px;
}

/*label:after {
    content: '\A';
    white-space: pre;
}*/

label em {
    font-style: normal;
    color: indianred;
    margin-left: 0.2em;
}

button, input:not([type="checkbox"]), textarea {

   -webkit-appearance: none;

    /* font: 300 1em/1.5 'Roboto', Tahoma, Verdana, Arial, Helvetica, sans-serif; */
    font: 400 1rem/1.5 var(--fontfamily_body);
    border: none;
    border-bottom: 2px solid rgba(0,0,0,0.2);

   -webkit-transition: all 250ms;
   -moz-transition:    all 250ms;
   -o-transition:      all 250ms;
   -ms-transition:     all 250ms;
    transition:        all 250ms;

    width: 100%;
    padding: 12px 16px;
    background-color: rgba(255,255,255,0.7);
}

/* Bestimmte Input-Fields mit Icons versehen */
label.icon {
    position: relative;
}

label.icon:after {
    position: absolute;
    z-index: 1;
    top: 2.6em;
    left: 1em;
    width: 2em;
    height: 2em;
    color: darkgray;
    /*background: rgba(0,0,0,0.1);*/
    font-family: FontAwesome;
}

label.icon.user:after {
    content: "\f007"; /* fa-user */
}

label.icon.lock:after {
    content: "\f023"; /* fa-lock */
}

label.icon.phone:after {
    content: "\f095"; /* fa-phone */
}

label.icon + input {
    padding-left: 38px;
}
/* Ende Bestimmte Input-Fields mit Icons versehen */

/*
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:hover, textarea:hover {
    background-color: white;
}

input:focus, textarea:focus {
    background-color: white;
    border-bottom: 2px solid #7bb9ff;
    outline: none;
   -moz-box-shadow: inset 0px 0px 4px rgba(0,0,0,.3);
   -webkit-box-shadow: inset 0px 0px 4px rgba(0,0,0,.3);
    box-shadow: inset 0px 0px 4px rgba(0,0,0,.3);
}

button[type="submit"],
input[type="button"],
input[type="submit"] {
    width: 100%;
    margin: 4px 0 40px 0;
    padding: 16px;
    font-family: var(--fontfamily_headlines);
    font-weight: 400;
    text-transform: uppercase;
    text-align: center;
    letter-spacing: 0.06em;
    /* font-size: 15px; */
    color: white;
    background: hsl(150, 40%, 40%); /* Dunkleres Grün */
    border: none;
}

button[type="submit"]:hover:not(:disabled),
input[type="button"]:hover:not(:disabled),
input[type="submit"]:hover:not(:disabled) {
    color: white;
    background: hsl(150, 50%, 50%); /* Dunkleres Grün */
    cursor: pointer;
   -moz-box-shadow: 0px 0px 5px rgba(0,0,0,.3);
   -webkit-box-shadow: 0px 0px 5px rgba(0,0,0,.3);
    box-shadow: 0px 0px 5px rgba(0,0,0,.3);
}

input[type="button"]:disabled,
input[type="submit"]:disabled {
    cursor: not-allowed;
    background-color: rgba(128,128,128,0.3);
    color: grey;
}

/* ············································································· */


@media all and (max-width: 600px) {

    button[type="submit"],
    input[type="button"] {
        width: 100%;
    }

}

/* ············································································· */


/* Checkbox styles */
/* Smart: https://codepen.io/valerypatorius/pen/oXGMGL/ */
input[type="checkbox"] {
    display: none;
}

input[type="checkbox"] + label {
    display: block;
    position: relative;
    padding-left: 30px;
   -webkit-user-select: none;
   -moz-user-select: none;
   -ms-user-select: none;
    user-select: none;
}

input[type="checkbox"] + label:before {
    position: absolute;
    left: 0;
    top: 4px;
    content: '';
    cursor: pointer;
    display: block;
    width: 20px;
    height: 20px;
    border: 2px solid rgba(0,0,0,0.35);
    border-radius: 3px;
   -webkit-transition: all .12s, border-color .08s;
    transition: all .12s, border-color .08s;
}

input[type="checkbox"]:checked + label:before {
    width: 10px;
    top: -1px;
    left: 5px;
    /* border: 3px solid yellowgreen; */
    border: 3px solid #40bf80;
    border-radius: 0;
    border-top-color: transparent;
    border-left-color: transparent;
   -webkit-transform: rotate(35deg);
    transform: rotate(35deg);
}

/* ============================================================================= */


/* https://www.daretothink.co.uk/stop-ios-styling-your-input-fields-and-buttons/ */
textarea,
input.text,
input[type="text"],
input[type="button"],
input[type="submit"],
.input-checkbox {
   -webkit-appearance: none;
    border-radius: 0;
}

/* ============================================================================= */


/*input[type="radio"],
input[type="checkbox"] {
   -webkit-box-shadow: none !important;
   -moz-box-shadow: none !important;
    box-shadow: none !important;
    background: none !important;
}*/

/* Radio styles */
/* https://codepen.io/quagliero/pen/AtLbr/ */
.options input[type="radio"] {
    display: none;
}

.options > label {
    position: relative;
    /*display: inline-block; /* Nebeneinander, ohne 'display: inline-block' = untereinander */
    margin-right: 16px; /* Nebeneinander */
    padding-left: 28px;
    cursor: pointer;
   -webkit-user-select: none;
   -moz-user-select: none;
   -ms-user-select: none;
    user-select: none;
}

.options > label:before {
    position: absolute;
    content: '';
    display: block;
    width: 20px;
    height: 20px;
    left: 0;
    top: 50%;
    margin-top: -10px;
    border: 2px solid rgba(0,0,0,0.35);
    border-radius: 10px;
}

.options > label:after {
    position: absolute;
    content: '';
    display: block;
    width: 0;
    height: 0;
    top: 50%; /* 14px */
    left: 10px;
    background: #759872;
    border-radius: 4px;
    transition: .12s ease-in-out; /* Animate width and height of inner circle */
}

.options :checked + label:after {
    height: 8px;
    width: 8px;
    margin-top: -4px;
    left: 6px;
}

/* ============================================================================= */


/*h3.success {
    padding: 1em;
    background-color: #9acd32;
    color: whitesmoke;
}

h3.success + p {
    color: #9acd32;
}

h3.error {
    padding: 1em;
    background-color: #c23737;
    color: whitesmoke;
}

h3.error + p {
    color: #e54242;
}

em, var, noscript {
    font-style: normal;
    color: indianred;
}

em {
    color: #009ee0;
}*/

/* ············································································· */


/* Für WireMailSMTP */
.hey-honey {
  display: none;
}

#delay {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 10;
}

#delay #clamp {
  width: 100%;
  height: 100%;
  /*background-image: url('../assets/tr_background_black.png');
  background-repeat: repeat;
  position: relative;*/
  background-color: rgba(0,0,0,0.75);
}

#delay #clamp #stop-delay {
  background: url('../assets/icon-close.svg') center no-repeat;
  position: absolute;
  font-size: 1.3em;
  width: 1.3em;
  height: 1.3em;
  line-height: 100%;
  top: 20px; right: 20px;
  text-decoration: none !important;
  border: none !important;
  box-shadow: none;
  color: #3087cc;
}

#delay #clamp #loader {
  background: url('../assets/ajax-loader.gif') center no-repeat;
  position: absolute;
  display: block;
  padding: 10px;
  width: 50%;
  height: 50%;
  max-height: 50px;
  overflow: auto;
  margin: auto;
  top: 0; left: 0; bottom: 0; right: 0;
}

#delay #delay-info {
  color: #3087cc;
  text-align: center;
  position: absolute;
  overflow: auto;
  margin: auto;
  top: 54%;
  left: 0;
  bottom: 0;
  right: 0;
}

/* Meldungen nach Verschicken von Formularen */
#msgs-wrapper {
    position: relative;
    padding: 1em 1.5em 1em 1.1em;
    color: white;
    font-size: 17px;
    margin-bottom: 32px;
    filter: drop-shadow(0 2px 2px rgba(0,0,0,0.1));
}

#msgs-wrapper:after {
    content: '';
    position: absolute;
    bottom: -16px;
    left: calc(50% - 32px);
    width: 0px;
    height: 0px;
    transform: rotate(360deg);
    border-style: solid;
    border-width: 16px 32px 0 32px;
}

#msgs-wrapper.error {
    background-color: crimson;
}

#msgs-wrapper.error:after {
    border-color: crimson transparent transparent transparent;
}

#msgs-wrapper.ok {
    background-color: #91cf24; /* Dunkleres Grün */
}

#msgs-wrapper.ok:after {
    /*border-color: #91cf24 transparent transparent transparent;*/
    border-color: transparent;
}

/* Fontawesome Icon */
#msgs-wrapper i {
    margin-right: 0.8em;
}

/* ============================================================================= */


#search-form {
    clear: both;
    margin: 40px auto 0 auto;
    display: flex;
    justify-content: center;
    /*border: 1px solid red;*/
}

#search-form form {
    width: 50%;
    margin-bottom: 0;
}

#search-form button[type="submit"] {
    margin-top: 10px;
}

/* ············································································· */


@media all and (max-width: 720px) {

    #search-form form {
        width: 100%;
    }

}

/* ············································································· */


ul.inline-list li:before {
    /* Aufheben der Bullets */
    content: '';
}

/*ul.inline-list li:first-child {
    font-weight: 400;
    background-color: rgba(232,255,0,1); /* Neon */
/*}*/

ul.inline-list li {
    /*background-color: rgba(255,255,255,.5);*/
    /*background-color: rgba(0,0,0,.05);*/
    background-color: whitesmoke;
    /*background-color: rgba(232,255,0,1); /* Neon */

    /*background-color: #7bb9ff; /* Navigationsblau */
    /*color: white;*/
    /*color: black;*/

    /*background-color: #191919;*/
    /*color: #f0ff00;*/

    font-weight: 400;
    color: rgba(0,0,0,0.8);

    border: 1px solid rgba(0,0,0,.1);
    padding: 0 6px;
    margin: 0 1px 5px 0;
    display: inline-block;
}

ul.inline-list li a,
ul.inline-list li a:hover {
    /*font-weight: 400;*/
    /*color: #f0ff00; /* Neon */
    /*color: white;*/
    border: none;
}

ul.inline-list li a:hover {
    color: #f0ff00; /* Neon */
}


/* ············································································· */


@media all and (max-width: 640px) {

    ul.inline-list li {
        width: 100%;
        padding: 4px 16px;
        margin: 0 0 8px 0;
    }

}

/* ············································································· */

/* Social Icons
-------------------------------------------------------------------------------- */

.social-icons {
    /*clear: both;*/
    width: 100%;
    margin-top: 30px;
    display: block;
}

.social-icons a.twitter-icon {
    padding: 3px 6px;
    border-radius: 2px;
    font-size: 14px; /* 12px */
    color: white;
    background-color: #1b95e0;
    border: none;

    /* Quadratischer Button */
    display: block;
    width: 26px;
    height: 26px;
}

.social-icons a.twitter-icon:hover {
    background-color: #0c7abf;
    border: none;
}

/*
.social-icons a.twitter-icon:before {
    content: '\f081';
    font-weight: 600;
    margin-right: 16px;
}
*/

/* ············································································· */


/*@media all and (max-width: 600px) {

    .social-icons a.twitter-icon {
        padding: 4px 8px;
        font-size: 14px;
    }

}*/

/* ············································································· */


@media all and (max-width: 480px) {

    .social-icons a.twitter-icon {
        padding: 6px 12px;
        font-size: 16px;
    }

}

/* ············································································· */


.aos.chart {
    position: relative;
    margin: 32px 0 0 0;
    width: 100%;
    height: 400px;
    height: 40vh;
    padding: 0;
    background-color: #292d36;
    border-left: 1px solid rgba(255,255,255,.05);
    border-bottom: 1px solid rgba(255,255,255,.05);
    overflow: hidden;
    background-size: 10% 10%;
    background-position: -1px top;
    background-image: linear-gradient(to right,rgba(255,255,255,.15) 1px,transparent 1px),linear-gradient(to bottom,rgba(255,255,255,.15) 1px,transparent 1px);
}

/* Quellangabe der Zahlen */
aside.source {
    margin: 2px 0 24px 0;
}

.single-chart {
    width: 100%;
}

.circular-chart {
    display: block;
    margin: 0 auto;
    max-width: 65%;
    max-height: 100px;
}

.circle-bg {
    fill: none;
    stroke: rgba(0,0,0,.5);
    stroke-width: 3.8;
}

.circle {
    fill: none;
    stroke-width: 2.8;
    stroke-linecap: square;
    stroke-dasharray: 0 100;
}

[data-aos="grow"]:nth-child(1).aos-animate .circular-chart.orange .circle {
    animation: progress-orange 1s ease-out forwards;
}

[data-aos="grow"]:nth-child(2).aos-animate .circular-chart.green .circle {
    animation: progress-green 1s ease-out forwards;
    animation-delay: 250ms;
}

[data-aos="grow"]:nth-child(3).aos-animate .circular-chart.blue .circle {
    animation: progress-blue 1s ease-out forwards;
    animation-delay: 500ms;
}

[data-aos="grow"]:nth-child(4).aos-animate .circular-chart.violet .circle {
    animation: progress-violet 1s ease-out forwards;
    animation-delay: 750ms;
}

@keyframes progress-orange {
    100% {
      stroke-dasharray: 87 100;
    }
}

@keyframes progress-green {
    100% {
      stroke-dasharray: 65 100;
    }
}

@keyframes progress-blue {
    100% {
      stroke-dasharray: 62 100;
    }
}

@keyframes progress-violet {
    100% {
      stroke-dasharray: 46 100;
    }
}

.circular-chart.orange .circle {
    stroke: #ffcf7e;
}

.circular-chart.green .circle {
    stroke: #82e3b8;
}

.circular-chart.blue .circle {
    stroke: #78c6ff
}

.circular-chart.violet .circle {
    stroke: #c3bdff;
}

.percentage {
    fill: #fff;
    font-size: 0.4em;
    font-weight: 400;
    text-anchor: middle;
    opacity: 0;
    transition: opacity 1s;
}

@media all and (max-width:600px) {
    .percentage {
      line-height: 0;
      font-size: 0.6em;
    }
}

[data-aos="grow"]:nth-child(1).aos-animate .percentage {
    opacity:1;
}

[data-aos="grow"]:nth-child(2).aos-animate .percentage {
    opacity: 1;
    transition-delay: 250ms;
}

[data-aos="grow"]:nth-child(3).aos-animate .percentage {
    opacity: 1;
    transition-delay: 500ms;
}

[data-aos="grow"]:nth-child(4).aos-animate .percentage {
    opacity: 1;
    transition-delay: 750ms;
}

[data-aos="grow"] {
    position: absolute;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0;
    left: 0;
    bottom: 0;
    height: 1px;
    transition: height 1s;
}

[data-aos="grow"]:nth-child(1) {
    border-top: 2px solid #edcfa3;
    background:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2ZmY2U4NCIgc3RvcC1vcGFjaXR5PSIwLjgiLz4KICAgIDxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iI2ZmOWYwMCIgc3RvcC1vcGFjaXR5PSIwLjgiLz4KICA8L2xpbmVhckdyYWRpZW50PgogIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9InVybCgjZ3JhZC11Y2dnLWdlbmVyYXRlZCkiIC8+Cjwvc3ZnPg==);
    background:-moz-linear-gradient(top,rgba(255,206,132,.7) 0%,rgba(255,159,0,.7) 100%);
    background:-webkit-gradient(linear,left top,left bottom,color-stop(0%,rgba(255,206,132,.7)),color-stop(100%,rgba(255,159,0,.7)));
    background:-webkit-linear-gradient(top,rgba(255,206,132,.7) 0%,rgba(255,159,0,.7) 100%);
    background:-o-linear-gradient(top,rgba(255,206,132,.7) 0%,rgba(255,159,0,.7) 100%);
    background:-ms-linear-gradient(top,rgba(255,206,132,.7) 0%,rgba(255,159,0,.7) 100%);
    background:linear-gradient(to bottom,rgba(255,206,132,.7) 0%,rgba(255,159,0,.7) 100%);
    filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ccffce84',endColorstr='#ccff9f00',GradientType=0);
}

[data-aos="grow"]:nth-child(2) {
    border-top: 2px solid #9adcc4;
    background:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzkxYmZhOSIgc3RvcC1vcGFjaXR5PSIwLjgiLz4KICAgIDxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iIzRjYzc5MCIgc3RvcC1vcGFjaXR5PSIwLjgiLz4KICA8L2xpbmVhckdyYWRpZW50PgogIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9InVybCgjZ3JhZC11Y2dnLWdlbmVyYXRlZCkiIC8+Cjwvc3ZnPg==);
    background:-moz-linear-gradient(top,rgba(145,191,169,.7) 0%,rgba(76,199,144,.7) 100%);
    background:-webkit-gradient(linear,left top,left bottom,color-stop(0%,rgba(145,191,169,.7)),color-stop(100%,rgba(76,199,144,.7)));
    background:-webkit-linear-gradient(top,rgba(145,191,169,.7) 0%,rgba(76,199,144,.7) 100%);
    background:-o-linear-gradient(top,rgba(145,191,169,.7) 0%,rgba(76,199,144,.7) 100%);
    background:-ms-linear-gradient(top,rgba(145,191,169,.7) 0%,rgba(76,199,144,.7) 100%);
    background:linear-gradient(to bottom,rgba(145,191,169,.7) 0%,rgba(76,199,144,.7) 100%);
    filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#cc91bfa9',endColorstr='#cc4cc790',GradientType=0);
}

[data-aos="grow"]:nth-child(3) {
    border-top: 2px solid #a3e0ff;
    background:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzgyZDVmZiIgc3RvcC1vcGFjaXR5PSIwLjgiLz4KICAgIDxzdG9wIG9mZnNldD0iMSUiIHN0b3AtY29sb3I9IiM4MWQ0ZmYiIHN0b3Atb3BhY2l0eT0iMC44Ii8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiMwMDllZTAiIHN0b3Atb3BhY2l0eT0iMC44Ii8+CiAgPC9saW5lYXJHcmFkaWVudD4KICA8cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSJ1cmwoI2dyYWQtdWNnZy1nZW5lcmF0ZWQpIiAvPgo8L3N2Zz4=);
    background:-moz-linear-gradient(top,rgba(130,213,255,.7) 0%,rgba(0,158,224,.7) 100%);
    background:-webkit-gradient(linear,left top,left bottom,color-stop(0%,rgba(130,213,255,.7)),color-stop(100%,rgba(0,158,224,.7)));
    background:-webkit-linear-gradient(top,rgba(130,213,255,.7) 0%,rgba(0,158,224,.7) 100%);
    background:-o-linear-gradient(top,rgba(130,213,255,.7) 0%,rgba(0,158,224,.7) 100%);
    background:-ms-linear-gradient(top,rgba(130,213,255,.7) 0%,rgba(0,158,224,.7) 100%);
    background:linear-gradient(to bottom,rgba(130,213,255,.7) 0%,rgba(0,158,224,.7) 100%);
    filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#cc82d5ff',endColorstr='#cc009ee0',GradientType=0);
}

[data-aos="grow"]:nth-child(4) {
    border-top: 2px solid #c4beff;
    background:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzk4OTFlMCIgc3RvcC1vcGFjaXR5PSIwLjgiLz4KICAgIDxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iIzc2NmJlMiIgc3RvcC1vcGFjaXR5PSIwLjgiLz4KICA8L2xpbmVhckdyYWRpZW50PgogIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9InVybCgjZ3JhZC11Y2dnLWdlbmVyYXRlZCkiIC8+Cjwvc3ZnPg==);
    background:-moz-linear-gradient(top,rgba(152,145,224,.8) 0%,rgba(118,107,226,.8) 100%);
    background:-webkit-gradient(linear,left top,left bottom,color-stop(0%,rgba(152,145,224,.8)),color-stop(100%,rgba(118,107,226,.8)));
    background:-webkit-linear-gradient(top,rgba(152,145,224,.8) 0%,rgba(118,107,226,.8) 100%);
    background:-o-linear-gradient(top,rgba(152,145,224,.8) 0%,rgba(118,107,226,.8) 100%);
    background:-ms-linear-gradient(top,rgba(152,145,224,.8) 0%,rgba(118,107,226,.8) 100%);
    background:linear-gradient(to bottom,rgba(152,145,224,.8) 0%,rgba(118,107,226,.8) 100%);
    filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#cc9891e0',endColorstr='#cc766be2',GradientType=0);
}

[data-aos="grow"] {
    width: 22%;
}

[data-aos="grow"]:nth-child(1) {
    margin-left: 2.4%;
}

[data-aos="grow"]:nth-child(1).aos-animate {
    height: 87%;
}

[data-aos="grow"]:nth-child(2) {
    margin-left: 26.8%;
}

[data-aos="grow"]:nth-child(2).aos-animate {
    height: 65%;
}

[data-aos="grow"]:nth-child(3) {
    margin-left: 51.2%;
}

[data-aos="grow"]:nth-child(3).aos-animate {
    height: 62%;
}

[data-aos="grow"]:nth-child(4) {
    margin-left: 75.6%;
}

[data-aos="grow"]:nth-child(4).aos-animate {
    height: 46%;
}

[data-aos="grow"] > span.nmbr {
    position: absolute;
    top: 0;
    left: 0;
    margin-top: -2em;
    text-align: center;
    width: 100%;
    color: #fff;
    opacity: 0;
    transition: opacity 2s;
}

[data-aos="grow"].aos-animate > span.nmbr {
    opacity: 1;
}

[data-aos="grow"] > p {
    position: absolute;
    top: 0;
    left: 0;
    margin-top: -1.8em;
    text-align: center;
    width: 100%;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.1;
    color: whitesmoke;
    text-shadow: 0 0 2px rgba(0,0,0,0.5);
}

@media all and (max-width: 600px) {
    [data-aos="grow"] > p {
      font-size: 2.5vw;
    }
}

@media all and (max-width: 820px) {
    [data-aos="grow"]:nth-child(3) > p {
      margin-top: -3.1em;
    }
}








/**
 *
 * https://kulturbanause.de/blog/navigation-runterscrollen-verstecken-hochscrollen-anzeigen/
 *
 */
 
 /*
.top-header {
    height: auto;
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    transition: transform .25s .1s ease-in-out;
 }

 body.down .top-header {
    transform: translate3d(0, -100%, 0);
 }
 */







 /* New 28.11.2023 */
/* .gradient::after,
.project-teaser.gradient-blue-pink::after {
    rotate: 270deg;
    content: '002.';
    position: absolute; */
    /* z-index: -1; */
    /* font-family: var(--fontfamily_headlines); */
    /* font-family: 'DSDIGI', sans-serif !important;
    font-size: 700%;
    top: .9em;
    left: -30px;
    color: rgba(255,255,255,.1);
} */

/* New 28.11.2023 */
/* .project-teaser.gradient-blue-pink::after {
    content: '003.';
} */

/* New 28.11.2023 */
.project-teaser a.webdesign > article > div:first-child,
.project-teaser a.visualisation > article > div:first-child,
.project-teaser a.interfaces > article > div:first-child,
.project-teaser a.graphic > article > div:first-child {
    background: var(--secondary_background_color);
}

/* New 28.11.2023 */
.project-teaser .wrapper h3 {
    color: white;
}

