article .header .medium a {
  color: inherit;
}
.termine {
  display: table;
  list-style: none;
  border-collapse: collapse;
  table-layout: fixed;
  width: 100%;
  padding: 0;
  margin: 0;
}

.termine .vevent {
  display: table-row;
}

/* ------ Importlink ------- */

.termine .icon {
  display: table-cell;
  width: 50px; /* 10px mehr als Reserve für den Schatten */
  padding-top: 5px;
  padding-bottom: 1.5em;
  vertical-align: top;
}
.termine .vevent:last-child .icon {
  padding-bottom: 1em;
}

.termine .icon a {
  display: block;
  width: 40px;
  text-align: center;
  text-decoration: none;
  background-color: rgb(250,249,241);
  box-shadow: 1px 1px 1px #ccc;
}

.termine .icon a i {
  display: block;
  height: 0;
  padding-top: 14px; /* Hier die Höhe des Kalenderkopfes individuell anpassen, Mindesthöhe 12px = Höhe der Hintergrundgrafik mit den Monatsnamens */
  overflow: hidden;  /* Text "Termin importieren" ausblenden */
  background-image: url("data:image/gif;base64,R0lGODlh0AIMAIAAAOMPFv///yH5BAEAAAAALAAAAADQAgwAAAL/hI+py+0Po5y02ouz3rz7D4biSJbmiabqyrZMAMDuTNf2jef6zvf+DwwKh8Si8YhMcgJMWYx5cDpVTWhVVp1NpVBDttWMhr1jMIKLdn2l3qh6zI7ZyvFnl7XO38F39tXcRlY3lVJm1/VHg+X2FLhCSCjn+Ii1GFhXyBiHSVXpyAm4aan1OQkouVkTucqIpzkZWWiZaooyGlvrergIg1uih+Zr0tsriGgoC0eHTNVYSTdXKlesKC18kki71xkstt18uX1NUnwr/aiJPD5Ci0p2Wgtqe2YtqeueQK1Gby+P/Xrp3T1z9vYFPFgwlIJ1vwBuIdWonxuGIAjmU9UHYMJ5U2eAQUQ4i2KHdukMghT0ZkvGXNj2LGP275PLb7ZeIroB7dxAbxdTdlQGU4nQoUSLGj2KNKnSpUybOn0KNarUqVSrWr2KNavWrVy7ev0KNqxYrAUAADs=");
  background-repeat: no-repeat;
  background-color: #e3000f; /* Hier die Farbe des Kalenderkopfes individuell ans Layout angepassen */
}

.termine .icon a:after {
  content: attr(data-day);
  color: #707070;
  font-family: 'Arial Black', Arial, sans-serif;
  font-weight: bold; /* Für normale Arial */
  font-size: 1.5em;
  line-height: 1.5; /* steuert die Höhe des Kalenderblattes */
  speak: never;
}


@media (hover: hover) {
  .termine .icon a:hover {
    color: #404040;
    background-color: rgb(248,245,222);
  }
}


/* ------ Inhalt ------- */

.termine .content {
  display: table-cell;
  padding-left: 4%;
  padding-bottom: 1.5em;
  vertical-align: top;
}
.termine .vevent:last-child .content {
  padding-bottom: 1em;
}

.termine strong {
  font-size: 1.1em;
}

.termine .uhrzeit:before,
.termine .location:before {
  content: ' · ';
}

.termine .content abbr {
  border-bottom: none;
  text-decoration: none;
}

.termine .uid {
  position: absolute;
  display: block;
  overflow: hidden;
  height: 1px;
  width: 1px;
  font-size: 0;
  line-height: 0;
  color: transparent;
} /* für Screenreader lesbar */
 #cms_vorschau_label { display: none; } 

/* open-sans-regular - latin */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: local('Open Sans Regular'), local('OpenSans-Regular'),
       url('files/Fonts/open-sans-v16-latin-regular.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('files/Fonts/open-sans-v16-latin-regular.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* open-sans-italic - latin */
@font-face {
  font-family: 'Open Sans';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: local('Open Sans Italic'), local('OpenSans-Italic'),
       url('files/Fonts/open-sans-v16-latin-italic.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('files/Fonts/open-sans-v16-latin-italic.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* open-sans-600 - latin */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: local('Open Sans SemiBold'), local('OpenSans-SemiBold'),
       url('files/Fonts/open-sans-v16-latin-600.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('files/Fonts/open-sans-v16-latin-600.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* open-sans-700 - latin */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: local('Open Sans Bold'), local('OpenSans-Bold'),
       url('files/Fonts/open-sans-v16-latin-700.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('files/Fonts/open-sans-v16-latin-700.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

/* open-sans-condensed-700 - latin */
@font-face {
  font-family: 'Open Sans Condensed';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: local('Open Sans Condensed Bold'), local('OpenSansCondensed-Bold'),
       url('files/Fonts/open-sans-condensed-v13-latin-700.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('files/Fonts/open-sans-condensed-v13-latin-700.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* open-sans-condensed-300 - latin */
@font-face {
  font-family: 'Open Sans Condensed';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: local('Open Sans Condensed Light'), local('OpenSansCondensed-Light'),
       url('files/Fonts/open-sans-condensed-v13-latin-300.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('files/Fonts/open-sans-condensed-v13-latin-300.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}


@media screen {
  html {
    overflow-y: scroll;
  }
  body {
    color: #000;
    background-color: white;
  }
}

body {
  font-family: 'Open Sans', sans-serif;
  font-size: 1.125em;
  font-weight: normal;
  line-height: 1.5;
}


/* ----------------------- Helper ------------------------- */

.thinspace {
  margin-left: -0.17em;
}

.nowrap {
  white-space: nowrap;
}

@media screen {
  .printonly { /* identisch mit .noview */
    height: 1px !important;
    width: 1px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    overflow: hidden !important;
    line-height: 2 !important;
    position: absolute !important;
  }
}

@media print {
  .noprint { display: none !important; }
  #cms_vorschau_label { display: none; }
}

#nojs .if-js,
#js .if-nojs {
  display: none;
}


/* ----------------------- Normalize.css (Auszüge) ------------------------- */
/* https://github.com/necolas/normalize.css/blob/master/normalize.css */

html {
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  font-variant-ligatures: no-common-ligatures; /* neuerdings funktioniert nur noch die prefixlose Variante */
}

body,
figure {
  margin: 0;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
main, /* wichtig für MSIE bis 11, Android bis 4.3, Opera 12 */
nav,
section {
  display: block;
}

summary {
  display: list-item;
}

audio,
canvas,
progress,
video {
  display: inline-block; /* MSIE 9 */
  vertical-align: baseline; /* 'progress' in Chrome, Firefox und Opera */
}

a {
  background: transparent; /* Remove the gray background color from active links in MSIE 10 */
}

a:active {
  outline: 0;
}

b, strong {
  font-weight: bold;
} /* style set to "bolder" in Firefox 4+, Safari, and Chrome */

small {
  font-size: 82%;
}
small small {
  font-size: 1em;
}

sub, sup {
  font-size: 82%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}
sup {
  top: -0.34em;
}
sub {
  bottom: -0.25em;
}

img {
  border: 0;
}

svg:not(:root) {
  overflow: hidden; /* Hide the overflow in IE */
}

button,
input,
optgroup,
select,
textarea {
  font-size: inherit;
  margin: 0; /* Firefox 4+, Safari, and Chrome */
}

button {
  overflow: visible; /* `overflow` set to `hidden` in MSIE bis 11 */
}

button::-moz-focus-inner, /* Remove inner padding and border in Firefox 4+ */
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

textarea {
  overflow: auto; /* Remove default vertical scrollbar in MSIE bis 11 */
}

[hidden] {
  display: none;
}
#menu {
  max-width: 744px;
  font-family: 'Open Sans Condensed', sans-serif;
  font-weight: 300;
  font-size: 1.125em;
}


#menu ul {
  list-style-type: none;
  padding: 0;
  margin: 0;
  display: table;
  width: 100%;
}

#menu li {
  display: table-cell;
  white-space: nowrap;
  text-align: center;
}

#menu a { 
  text-decoration: none;
  color: #000;
}

#menu li.curdir a {
  color: #e3000f; 
  font-weight: bold;
}

@media (hover: hover) {
  #menu a:hover,
  #menu li.curdir a:hover {
    color: #f76d61; 
    font-weight: bold;
  }

  #menu a:active,
  #menu li.curdir a:active {
    color: #b61c3e;
    font-weight: bold;
  }
}



/* --------------- Overlay-Menü ----------------- */


@media only screen and (min-width: 768px) {
  #menu {
    padding-top: 24px;
    padding-bottom: 24px;
  }

  #menu #nav-closer,
  #menu #nav-opener,
  #menu #hauptlink-1559126700 {
    display: none;
  }

  #menu li:before {
    content: attr(data-textcontent);
    speak: never;
    display: block;
    height: 0;
    overflow: hidden;
    padding-right: 47px;
  }

  #menu ul[data-count="9"] li:before { /* Order "Videos" sichtbar */
    padding-right: 36px;
  }
}


@media only screen and (max-width: 767px) {

  #menu {
    padding: 12px 0;
    text-align: center;
  }

  /* --------- Opener/Closer ------------ */

  #menu:not(:target) #nav-opener {
    display: inline-block;
    font-family: 'Open Sans', sans-serif;
    font-weight: 400;
    font-size: 1.2em;
    text-transform: uppercase;
    text-decoration: none;
    color: #9c9e9f;
    padding: 8px 28px;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 600 600' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M 0 100 h 600 m -600 200 h 600 m -600 200 h 600' fill='none' stroke='%239c9e9f' stroke-width='100'%3E%3C/path%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: 20px 20px; /* 2 Werte, da MSIE 11 das SVG bei background-size: 20px; zu klein darstellt */
    background-position: left center;
  }

  #menu:not(:target) ul,
  #menu:not(:target) #nav-closer,
  #menu:target #nav-opener {
    display: none;
  }

  #menu:target #nav-closer {
    display: inline-block;
    font-size: 2.5em;
    font-family: 'Open Sans', sans-serif;
    font-weight: 400;
    color: #9c9e9f;
    line-height: 1;
    padding: 5px 15px;
    text-decoration: none;
  }

  /* --------- Menü ------------ */

  #menu:target {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    width: 100vw;
    height: 100%;
    height: 100vh;
    overflow-y: auto;
    box-sizing: border-box;
    padding: 0;
    background-color: white;
    z-index: 1000;
    text-align: right;
  }
 
  #menu:target ul {
    display: block;
  }

  #menu:target li {
    display: block;
    width: auto !important;
    font-size: 1.5em;
    text-align: center;
    padding-right: 0;
    margin: 0 10px;
  }

  /* --------- Links ------------ */
 
  #menu:target ul a {
    display: inline-block;
    padding: 5px;
  }
}

@media only screen and (max-height: 630px) {
  #menu:target ul {
    line-height: 1.2;
  }
}

@media only screen and (max-height: 520px) {
  #menu:target ul {
    line-height: 1;
  }
}
header {
  max-width: 1048px;
  margin: 0 auto;
}

header .responsive-box {
  padding-bottom: 47.71%;
  margin-bottom: 32px;
}

main {
  max-width: 744px;
  padding-bottom: 40px;
}

main a {
  color: #e3000f;
  text-decoration: none;
  font-weight: 600;
}

main a:visited {
  color: #e3000f;
}

@media (hover: hover) {
  main a:hover {
    color: #f76d61;
    text-decoration: underline;
  }
  main a:active {
    color: #b61c3e;
  }
}

p,
.p {
  margin: 0 0 1em 0;
}

@media print {
  main {
    padding: 0;
    width: auto;
    float: none;
  }
  main a,
  main a:visited,
  main a:hover,
  main a:active { color: black; text-decoration: underline; }
  main a[href^="http"]:after { content: " <"attr(href)">"; }
  main .notprinturl a[href^="http"]:after,
  main a[href^="http"].notprinturl:after { content: ""; }
}
h1, h2, h3, h4, h5, h6 {
  margin-top: 0;
}

h1 { 
  margin-bottom: 0.4em;
}

h1, h2 { 
  font-size: 1.67em;
  font-weight: 600;
  line-height: 1.3;
}

h2 { 
  margin-bottom: 0.2em;
}

h3 { 
  font-size: 1.1em;
  margin-bottom: 0.3em;
}

h4, h5, h6 {
  font-size: 1em;
  margin-bottom: 0.1em;
}
.dir {
  list-style: none;
  padding: 0;
  margin-top: 1.3em;
}

.dir li {
  width: 50%;
  display: inline-block;
  vertical-align: top;
  box-sizing: border-box;
  margin-bottom: 30px;
}

.dir li:nth-child(odd) {
  padding-right: 1.6%;
}
.dir li:nth-child(even) {
  padding-left: 1.6%;
}

.dir a {
  font-size: 1.125em;
  font-weight: normal;
  text-decoration: none;
}

.dir .linktext {
  display: block;
  text-align: center;
  padding-top: 8px;
}


main ul,
main ol {
  padding-top: 0; 
  margin-top: 0; 
  padding-bottom: 0; 
  margin-bottom: 1em;
}

.blindlist,
ul.user-content,
.user-content ul {
  list-style: none;
  margin-left: 0;
  padding-left: 0;
}


.user-content li {
  padding-left: 1.5em;
  position: relative;
  margin-bottom: 0.25em;
}

.user-content .blindlist li {
  padding-left: 0;
}


.user-content li:before {
  content: '»';
  position: absolute;
  margin-top: -2px;
  left: 0;
  color: #e3000f;
  font-weight: bold;
  font-size: 1.25em;
  line-height: 1.3;
}

.user-content .blindlist li:before {
  display: none;
}


.listemptyline li {
  margin-bottom: 1em;
}

main hr {
  height: 0;
  border: 0;
  border-top: 1px solid #d7d7d7;
  margin: 1.2em 0 1em 0;
}

.page-padding {
  margin: 0 auto;
  padding-left: 2%;
  padding-right: 2%;
}


.responsives-bild {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}


.responsive-box {
  position: relative;
  height: 0; 
}

.responsive-box img,
.responsive-box iframe,
.responsive-box video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.down-arrow:after,
.up-arrow:after,
.left-arrow:before,
.right-arrow:after {
  display: inline-block;
}


.down-arrow:after {
  content: '»';
  -webkit-transform: rotate(90deg) translateY(-4px);
  transform: rotate(90deg) translateY(-4px);
  padding-left: 4px; 
}


.up-arrow:after {
}


.left-arrow:before {
}


.right-arrow:after {
  content: '»';
  padding-left: 5px; 
}


.lebenslauf {
  border-collapse: collapse;
}

.lebenslauf td {
  vertical-align: top;
  padding: 0 0 0.5em 0;
}

.lebenslauf td:first-child {
  white-space: nowrap;
  padding-right: 1em;
}

@media (max-width: 555px) {
  .lebenslauf,
  .lebenslauf tr,
  .lebenslauf td {
    display: block;
  }
  .lebenslauf td:first-child {
    padding: 0;
  }
}
/* Footer unten ankleben */
@media screen {
  html {
    height: 100%;
  }

  body {
    min-height: 100%;
    position: relative;
    padding-bottom: 4.5em;
    box-sizing: border-box;
  }

  body > footer {
    position: absolute;
    bottom: 0;
    width: 100%;
    min-height: 4em;
    box-sizing: border-box;
  }
}
/* ENDE Footer unten ankleben */


/* ---------------------- UL-Tag ------------------------ */


footer {
  font-family: 'Open Sans Condensed', sans-serif;
  font-weight: 300;
  font-size: 1.125em;
  background-color: #f76d61;
  padding-top: 24px;
  padding-bottom: 24px;
}

footer ul {
  list-style: none;
  max-width: 744px;
  padding: 0;
  margin: 0 auto;
}


footer li {
  display: inline-block;
}

footer li + li {
  padding-left: 40px;
}


footer a { 
  color: white;
  text-decoration: none;
}

@media (hover: hover) {
  footer a:hover {
    text-decoration: underline;
  }
  footer a:active {
    color: #b61c3e;
  }
}
hr.dick {
  border-top: 3px solid #b61c3e;
  margin: 24px 0;
}

article .header {
  color: #a7a7a7;
  margin-bottom: 0.5em;
}

article .kategorie {
  text-transform: uppercase;
}

article .kategorie:not(:empty):after,
article .medium:not(:empty):after {
  content: ' · ';
}

article h1 {
  color: #000;
  text-transform: none;
  letter-spacing: normal;
}

article h2 {
  font-size: 1em;
}

article .autor {
  color: #a7a7a7;
}

.timeline .foto {
  margin-top: 0.8em;
}

.timeline .foto figcaption {
  display: none;
}

.timeline .foto button.nextframe {
  display: none;
}

.aufklapp-anker .teaser {
  display: inline;
}

/* Hinweis: :not(:target) dient nur dazu, bei Browsern, die :target noch nicht kennen UND bei denen 
  Javascript abgeschaltet ist, alles im aufgeklappten Zustand zu belassen */

#js .aufklapp-anker .resttext,
#nojs .aufklapp-anker:not(:target) .resttext {
  display: inline-block;
  width: 1px; /* 1px, damit Screenreader den Resttext vorlesen */
  height: 1px;
  overflow: hidden;
  opacity: 0;
  -webkit-transition: opacity 500ms;
  transition: opacity 500ms;
}

#js .aufklapp-anker.open .resttext,
#nojs .aufklapp-anker:target .resttext {
  display: inline;
  width: auto;
  height: auto;
  overflow: visible;
}

#js .aufklapp-anker.fade .resttext,
#nojs .aufklapp-anker:target .resttext {
  opacity: 1;
}


.teasertext .hide-if-open {
  display: none;
}

#js .aufklapp-anker .hide-if-open, 
#nojs .aufklapp-anker:not(:target) .hide-if-open {
  display: inline;
}

#js .aufklapp-anker.open .hide-if-open {
  display: none;
}


.teasertext .mehr-link {
  white-space: nowrap;
}

#js .aufklapp-anker.open .resttext,
#nojs .aufklapp-anker:target .resttext {
  display: block;
  margin-top: 1em;
}

.teaser p:last-of-type {
  display: inline;
}

.id1394025476 .teasertext:last-of-type > hr {
  visibility: hidden;
}
.bild {
  margin-bottom: 1.5em;
}

.bild img {
  border: 1px solid #bbb;
}

.bild.no-img-border img {
  border: none;
}

.bild figcaption {
  background-color: white;
  color: #999;
  font-style: italic;
  padding-top: 0.3em;
}


video {
  width: 100%;
  margin-bottom: 1.5em;
}
.unterstützer {
  padding: 24px 0;
  border-bottom: 1px solid #bbb;
}

.unterstützer img {
  vertical-align: bottom;
  border: 1px solid #bbb;
}


@media (min-width: 480px) {
  .unterstützer figure {
    display: table;
    width: 100%;
  }

  .unterstützer figure > * {
    display: table-cell;
    vertical-align: middle;
  }

  .unterstützer.imgright figure > div {
    text-align: right;
  }

  .unterstützer.imgleft figure > div:last-child,
  .unterstützer.imgright figure > div:first-child {
    display: none;
  }

  .unterstützer.imgleft figcaption {
    padding-left: 20px;
  }

  .unterstützer.imgright figcaption {
    padding-right: 20px;
  }
}


@media (max-width: 479px) {
  .unterstützer img {
    margin-bottom: 1em;
  }
  .unterstützer figure > div:last-child {
    display: none;
  }
}


.unterstützer blockquote {
  font-style: italic;
  line-height: 1.5;
  margin: 0;
}

.unterstützer blockquote cite {
  font-style: normal;
  color: #999;
  display: block;
  margin-top: 0.3em;
}

.unterstützer .ort:not(:empty):before {
  content: '· ';
}

.kachelgalerie {
  margin-left: -1px;
  margin-bottom: 2em;
}


@media (max-width: 767px) {
  .m1394542691 main {
    padding-left: 0;
    padding-right: 0;
  }
  .m1394542691 main h1,
  .m1394542691 main .großansicht figcaption {
    padding-left: 2%;
    padding-right: 2%;
  }
}


.kachelgalerie a {
  display: inline-block;
  vertical-align: bottom;
  width: 25%;
}

.kachelgalerie a span {
  display: block;
  height: 0;
  padding-bottom: 100%;
  background-color: #000;
  position: relative;
  border-bottom: 1px solid white;
  border-left: 1px solid white;
  box-sizing: border-box;
}

.kachelgalerie a img {
  position: absolute;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.kachelgalerie a.open img {
  opacity: 0.2;
}


@media (hover: hover) {
  .kachelgalerie a:hover img {
    opacity: 0.6;
  }
  .kachelgalerie a.open:hover img {
    opacity: 0.2;
  }
  .kachelgalerie a:active img {
    opacity: 0.2;
  }
}


.großansicht {
  display: none;
}

.kachelgalerie .großansicht {
  display: block;
  margin: 1.8em 0;
  text-align: center; 
}

.kachelgalerie .großansicht figcaption {
  color: #999;
  font-style: italic;
  padding-top: 0.3em;
}


@media (max-width: 480px) {
  .impressum .vcard a {
    display: inline-block;
    line-height: 2.7;
  }
}

.impressum .copyright a {
  color: gray;
  font-weight: normal;
  font-size: 0.9em;
  text-decoration: none;
}

@media (hover: hover) {
  .impressum .copyright a:hover {
    text-decoration: underline;
  }
}

