.mod_visitors .invisible {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    float: left;
	width:0px;
	height:0px;
}
.social_feed_element{overflow:visible;padding:0;width:100%}.social_feed_element.extended .inner a{display:inline;padding:0;color:#1b95e0}.social_feed_element.extended .inner a:hover,.social_feed_element.extended a.more:hover{text-decoration:underline}.social_feed_element.extended .inner>figure{padding:0}.social_feed_element.extended a.more{padding:0;font-size:14px;color:#1b95e0;font-weight:700;display:block}.social_feed_element.extended .inner{padding:0 20px 20px}.social_feed_element.extended p:first-child{margin-top:0}.social_feed_element.extended p:last-child{margin-bottom:0}.social_feed_element .inner{background:#f2f2f2;padding:0;margin:30px 10px 10px;position:relative;word-break:break-word;border-top:5px solid #c1c1c1}.social_feed_element .inner a{padding:0 20px;display:block}.social_feed_element .inner>figure{padding:0 20px}.social_feed_element .ce_text{padding:15px 0;color:#333;margin:0}.social_feed_element .icon{position:static;text-indent:0}.social_feed_element .icon img{position:absolute;top:-20px;border-radius:100%;max-width:50px}.social_feed_element .icon .image-wrapper:not(.loaded){height:0!important}.social_feed_element .info{margin:0;padding:10px 0 0;text-align:right;font-size:14px;color:#989898;display:flex;align-items:center;justify-content:flex-end}.social_feed_element .info img{width:15px;margin-left:10px}.social_feed_element .title{margin:10px 0;font-size:16px;font-weight:700;color:#333}.social_feed_element a{color:#333;text-decoration:none}.social_feed_element .ce_text{font-size:14px}.social_feed_element .fa{font-size:18px;padding-left:5px}.social_feed_element .image_container>a{padding:0}.social_feed_container{width:calc(100% + 30px);margin-left:-15px;font-family:sans-serif}.social_feed_container:not(.masonry){display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.social_feed_container:not(.masonry).columns2 .social_feed_element{-ms-flex:0 0 50%;flex:0 0 50%}.social_feed_container:not(.masonry).columns3 .social_feed_element{-ms-flex:0 0 33%;flex:0 0 33%}.social_feed_container:not(.masonry).columns4 .social_feed_element{-ms-flex:0 0 25%;flex:0 0 25%}.social_feed_container.masonry.columns2 .social_feed_element,.social_feed_container.masonry.columns3 .social_feed_element,.social_feed_container.masonry.columns4 .social_feed_element{float:left}.social_feed_container.masonry.columns2 .social_feed_element{width:50%}.social_feed_container.masonry.columns3 .social_feed_element{width:33.33%}.social_feed_container.masonry.columns4 .social_feed_element{width:25%}@media (max-width:767px){.social_feed_container{width:100%;margin-left:0}.social_feed_container:not(.masonry).columns2 .social_feed_element,.social_feed_container:not(.masonry).columns3 .social_feed_element,.social_feed_container:not(.masonry).columns4 .social_feed_element{-ms-flex:0 0 100%;flex:0 0 100%}.social_feed_container.masonry.columns2 .social_feed_element,.social_feed_container.masonry.columns3 .social_feed_element,.social_feed_container.masonry.columns4 .social_feed_element{float:none;width:100%}}
/**
 * Swiper 8.1.4
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2022 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: April 24, 2022
 */

@font-face{font-family:swiper-icons;src:url('data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA');font-weight:400;font-style:normal}:root{--swiper-theme-color:#007aff}.swiper{margin-left:auto;margin-right:auto;position:relative;overflow:hidden;list-style:none;padding:0;z-index:1}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:flex;transition-property:transform;box-sizing:content-box}.swiper-android .swiper-slide,.swiper-wrapper{transform:translate3d(0px,0,0)}.swiper-pointer-events{touch-action:pan-y}.swiper-pointer-events.swiper-vertical{touch-action:pan-x}.swiper-slide{flex-shrink:0;width:100%;height:100%;position:relative;transition-property:transform}.swiper-slide-invisible-blank{visibility:hidden}.swiper-autoheight,.swiper-autoheight .swiper-slide{height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-backface-hidden .swiper-slide{transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-3d,.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-cube-shadow,.swiper-3d .swiper-slide,.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-bottom,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top,.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-bottom,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-3d .swiper-slide-shadow{background:rgba(0,0,0,.15)}.swiper-3d .swiper-slide-shadow-left{background-image:linear-gradient(to left,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-right{background-image:linear-gradient(to right,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-top{background-image:linear-gradient(to top,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-bottom{background-image:linear-gradient(to bottom,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-css-mode>.swiper-wrapper{overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar{display:none}.swiper-css-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}.swiper-horizontal.swiper-css-mode>.swiper-wrapper{scroll-snap-type:x mandatory}.swiper-vertical.swiper-css-mode>.swiper-wrapper{scroll-snap-type:y mandatory}.swiper-centered>.swiper-wrapper::before{content:'';flex-shrink:0;order:9999}.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-centered-offset-before)}.swiper-centered.swiper-horizontal>.swiper-wrapper::before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-centered-offset-before)}.swiper-centered.swiper-vertical>.swiper-wrapper::before{width:100%;min-width:1px;height:var(--swiper-centered-offset-after)}.swiper-centered>.swiper-wrapper>.swiper-slide{scroll-snap-align:center center}
@font-face {
  font-family: 'icomoon';
  src:
    url('../../files/EvJu/Layout/icons/fonts/icomoon.ttf?7yfb00') format('truetype'),
    url('../../files/EvJu/Layout/icons/fonts/icomoon.woff?7yfb00') format('woff'),
    url('../../files/EvJu/Layout/icons/fonts/icomoon.svg?7yfb00#icomoon') format('svg');
  font-weight: normal;
  font-style: normal;
  font-display: block;
}

[class^="icon-"], [class*=" icon-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'icomoon' !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;

  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-whatsapp:before {
  content: "\ea93";
}
.icon-instagram:before {
  content: "\eef1";
}
.icon-cart:before {
  content: "\ea02";
}
.icon-loop:before {
  content: "\edaa";
}
.icon-menu:before {
  content: "\ec71";
}
.icon-cross:before {
  content: "\ed6d";
}
.icon-list:before {
  content: "\e99b";
}
.icon-phone:before {
  content: "\ea1c";
}
.icon-mail:before {
  content: "\ea34";
}
.icon-location:before {
  content: "\ea39";
}
.icon-calendar:before {
  content: "\ea60";
}
.icon-download:before {
  content: "\ec7d";
}
.icon-link:before {
  content: "\ec9d";
}
.icon-plus:before {
  content: "\ed5b";
}
.icon-minus:before {
  content: "\ed5c";
}
.icon-arrow-up:before {
  content: "\edb8";
}
.icon-arrow-right:before {
  content: "\edbc";
}
.icon-arrow-down:before {
  content: "\edc0";
}
.icon-arrow-left:before {
  content: "\edc4";
}
.icon-facebook:before {
  content: "\eeef";
}
.icon-spotify:before {
  content: "\eef3";
}
.icon-twitter:before {
  content: "\eef5";
}
.icon-youtube:before {
  content: "\eefc";
}
.icon-twitch:before {
  content: "\eefe";
}
.icon-podcast:before {
  content: "\e987";
}
.icon-email:before {
  content: "\ea2f";
}
.icon-checkmark:before {
  content: "\ea10";
}
.icon-file-picture:before {
  content: "\e927";
}
.icon-link1:before {
  content: "\e9cb";
}
.icon-fire:before {
  content: "\e9a9";
}
.icon-discord:before {
  content: "\e900";
}
.icon-file-pdf:before {
  content: "\e25f";
}
.icon-file-word:before {
  content: "\e261";
}
.icon-file-excel:before {
  content: "\e262";
}

@charset "UTF-8";
/* ##################################################### */
/* ############## RESET ################################ */
/* ##################################################### */
*, *::before, *::after {
  box-sizing: border-box;
}

* {
  margin: 0;
}

html {
  scrollbar-gutter: stable;
  scroll-behavior: smooth;
}

body {
  min-height: 100dvh;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}

img, picture, video, canvas, svg {
  display: block;
  max-width: 100%;
  height: auto;
}

/* Inline-SVG ohne fill-Attribut folgt der Textfarbe (currentColor) — z.B. Logo im Dark-Mode */
svg:not([fill]) {
  fill: currentColor;
}

input, button, textarea, select {
  font: inherit;
}

p, h1, h2, h3, h4, h5, h6 {
  overflow-wrap: break-word;
}

:focus:not(:focus-visible) {
  outline: none;
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
  }
}
/* ##################################################### */
/* ############## Fonts ################################ */
/* ##################################################### */
@font-face {
  font-family: "Source Sans";
  font-weight: 200 900;
  font-style: normal;
  font-stretch: normal;
  font-display: swap;
  src: url("../../files/EvJu/Layout/fonts/SourceSans3VF-Roman.ttf.woff2") format("woff2");
}
@font-face {
  font-family: "Source Sans";
  font-weight: 200 900;
  font-style: italic;
  font-stretch: normal;
  font-display: swap;
  src: url("../../files/EvJu/Layout/fonts/SourceSans3VF-Italic.ttf.woff2") format("woff2");
}
@font-face {
  font-family: "Source Serif";
  font-weight: 200 900;
  font-style: normal;
  font-stretch: normal;
  font-display: swap;
  src: url("../../files/EvJu/Layout/fonts/SourceSerif4Variable-Roman.ttf.woff2") format("woff2");
}
@font-face {
  font-family: "Source Serif";
  font-weight: 200 900;
  font-style: italic;
  font-stretch: normal;
  font-display: swap;
  src: url("../../files/EvJu/Layout/fonts/SourceSerif4Variable-Italic.ttf.woff2") format("woff2");
}
@font-face {
  font-family: "icomoon";
  font-weight: normal;
  font-style: normal;
  font-display: block;
  src: url("../../files/EvJu/Layout/icons/fonts/icomoon.woff?7yfb00") format("woff"), url("../../files/EvJu/Layout/icons/fonts/icomoon.ttf?7yfb00") format("truetype"), url("../../files/EvJu/Layout/icons/fonts/icomoon.svg?7yfb00#icomoon") format("svg");
}
/* ##################################################### */
/* ############## Icons (Icomoon) ###################### */
/* ##################################################### */
.icon-whatsapp:before {
  content: "\ea93";
}

.icon-instagram:before {
  content: "\eef1";
}

.icon-cart:before {
  content: "\ea02";
}

.icon-loop:before {
  content: "\edaa";
}

.icon-menu:before {
  content: "\ec71";
}

.icon-cross:before {
  content: "\ed6d";
}

.icon-list:before {
  content: "\e99b";
}

.icon-phone:before {
  content: "\ea1c";
}

.icon-mail:before {
  content: "\ea34";
}

.icon-location:before {
  content: "\ea39";
}

.icon-calendar:before {
  content: "\ea60";
}

.icon-download:before {
  content: "\ec7d";
}

.icon-link:before {
  content: "\ec9d";
}

.icon-plus:before {
  content: "\ed5b";
}

.icon-minus:before {
  content: "\ed5c";
}

.icon-arrow-up:before {
  content: "\edb8";
}

.icon-arrow-right:before {
  content: "\edbc";
}

.icon-arrow-down:before {
  content: "\edc0";
}

.icon-arrow-left:before {
  content: "\edc4";
}

.icon-facebook:before {
  content: "\eeef";
}

.icon-spotify:before {
  content: "\eef3";
}

.icon-twitter:before {
  content: "\eef5";
}

.icon-youtube:before {
  content: "\eefc";
}

.icon-twitch:before {
  content: "\eefe";
}

.icon-podcast:before {
  content: "\e987";
}

.icon-email:before {
  content: "\ea2f";
}

.icon-checkmark:before {
  content: "\ea10";
}

.icon-file-picture:before {
  content: "\e927";
}

.icon-link1:before {
  content: "\e9cb";
}

.icon-fire:before {
  content: "\e9a9";
}

.icon-discord:before {
  content: "\e900";
}

.icon-file-pdf:before {
  content: "\e25f";
}

.icon-file-word:before {
  content: "\e261";
}

.icon-file-excel:before {
  content: "\e262";
}

/* ##################################################### */
/* ############## Screen-Größen ######################## */
/* ##################################################### */
/* ##################################################### */
/* ############## Mixins ############################### */
/* ##################################################### */
/* ##################################################### */
/* ############## Typografie ########################### */
/* ##################################################### */
::selection {
  background: var(--fonts);
  color: var(--background);
}

mark, .highlight {
  background: var(--fonts);
  color: var(--background);
}

html {
  font-size: 100%;
  -webkit-font-smoothing: antialiased;
  text-size-adjust: auto;
}
@media (min-width: 900px) {
  html {
    font-size: 110%;
  }
}
@media (min-width: 1200px) {
  html {
    font-size: 120%;
  }
}

body {
  font-family: var(--font-base);
  font-weight: 370;
  text-align: center;
  font-style: normal;
  color: var(--fonts);
  line-height: 1.6;
}

p {
  margin: 0 0 1em;
}

b, strong {
  font-weight: 600;
}

h1, h2, h3, h4, .headline {
  font-family: var(--font-heading);
  font-variation-settings: "opsz" 8, "wght" 430;
  font-style: normal;
  width: 100%;
  margin: 0;
  line-height: 1.3;
  color: var(--headers);
}
h1.center, h2.center, h3.center, h4.center, .headline.center {
  text-align: center;
}

.headline {
  font-size: 2.4rem;
  padding: 2.5em 0 0.5em;
}
.headline.center {
  text-align: center;
}

h1 {
  font-size: 2.4rem;
  padding: 0.5em 0 0.5em;
}

h2 {
  font-size: 1.7rem;
  padding: 2em 0 0.7em;
}

h3 {
  font-size: 1.4rem;
  padding: 2em 0 0.7em;
}

h4 {
  font-size: 1.1rem;
  padding: 2em 0 0.2em;
}

h1 + h2, h1 + h3, h1 + h4, h2 + h3, h2 + h4, h3 + h4, h3 + p, h4 + p {
  padding-top: 0;
}

/* ##################################################### */
/* ############## Links ################################ */
/* ##################################################### */
a {
  color: var(--links);
  text-decoration: none;
  transition: var(--trans-color), var(--trans-border);
  border-bottom: 1px dotted var(--links);
}
a:hover {
  color: var(--links);
}
a:active {
  color: var(--links);
}

figure a {
  border: none;
}

/* ##################################################### */
/* ############## Icon-Basis ########################### */
/* ##################################################### */
[class^=icon-], [class*=" icon-"], .icon {
  font-family: var(--font-icon) !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* ##################################################### */
/* ############## Tabellen ############################# */
/* ##################################################### */
table {
  border-collapse: collapse;
  border: none;
  width: 100%;
  line-height: 1.2;
  margin: 0 0 2em;
  hyphens: auto;
}
table thead {
  background-color: var(--color2);
}
table thead th {
  color: var(--fonts);
  font-weight: 600;
  padding: 1.4em 0.5em;
  vertical-align: top;
  font-size: 0.8em;
  text-align: left;
}
table thead th.col_first {
  padding-left: 1.5em;
}
table tfoot td {
  background-color: var(--background2);
  font-size: 0.75em;
  border-top: 1px solid #999;
  padding: 0.6em 1em;
  text-align: center;
  vertical-align: top;
}
table tbody tr {
  border-bottom: 1px solid var(--headers);
}
table tbody td, table tbody th {
  padding: 1em 0.5em;
  font-size: 0.75em;
  vertical-align: top;
}
table tbody td.col_first, table tbody th.col_first {
  padding-left: 1.5em;
  min-width: 100px;
}
table tbody td.col_last, table tbody th.col_last {
  padding-right: 1em;
}

main ul {
  list-style-position: inside;
}

/* ##################################################### */
/* ############## Form-Resets ########################## */
/* ##################################################### */
:where(button, input, select, textarea) {
  background-color: transparent;
  border: 1px solid WindowFrame;
  color: inherit;
  font: inherit;
  letter-spacing: inherit;
  padding: 0.25em 0.375em;
}

:where(select) {
  -webkit-appearance: none;
  appearance: none;
  background: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='4'%3E%3Cpath d='M4 0h6L7 4'/%3E%3C/svg%3E") no-repeat right center/1em;
  border-radius: 0;
  padding-right: 1em;
}

:where(select[multiple]) {
  background-image: none;
}

:where([type=color i], [type=range i]) {
  border-width: 0;
  padding: 0;
}

textarea {
  overflow: auto;
}

[type=search] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}

[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/* ##################################################### */
/* ############## Feedbackformular ##################### */
/* ##################################################### */
.ce_form.feedback .formbody {
  max-width: 100%;
}
.ce_form.feedback .formbody fieldset {
  border: 0;
  margin: 0 0 1em;
  padding: 0;
}
.ce_form.feedback .formbody fieldset legend {
  display: contents;
  font-family: var(--font-heading);
  font-variation-settings: "opsz" 8, "wght" 430;
  font-size: 1.1rem;
}
.ce_form.feedback .formbody fieldset > span {
  display: flex;
  margin: 0.5em 0;
  align-items: baseline;
}
.ce_form.feedback .formbody fieldset > span input, .ce_form.feedback .formbody fieldset > span label {
  display: inline;
  width: auto;
  line-height: 1.3;
}
.ce_form.feedback .formbody fieldset > span input {
  margin: 0 1em 0 0;
}

/* ##################################################### */
/* ############## Förderantrag ######################### */
/* ##################################################### */
.ce_form .foerderantrag .formbody {
  max-width: 100%;
}
.ce_form .foerderantrag .formbody fieldset {
  border: 0;
  margin: 0 0 var(--gap-medium);
  padding: 0;
}
.ce_form .foerderantrag .formbody fieldset legend {
  display: contents;
  font-family: var(--font-heading);
  font-variation-settings: "opsz" 8, "wght" 430;
  font-size: 1.1rem;
}
.ce_form .foerderantrag .formbody fieldset > span {
  display: flex;
  margin: 0.5em 0;
  align-items: baseline;
}
.ce_form .foerderantrag .formbody fieldset > span input, .ce_form .foerderantrag .formbody fieldset > span label {
  display: inline;
  width: auto;
  line-height: 1.3;
}
.ce_form .foerderantrag .formbody fieldset > span input {
  margin: 0 1em 0 0;
}
.ce_form .foerderantrag .formbody fieldset .widget-select select {
  width: 100%;
  height: 100%;
}
.ce_form .foerderantrag .formbody fieldset.grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  grid-gap: var(--gap-small);
}
.ce_form .foerderantrag .formbody fieldset.grid legend {
  display: block;
  grid-column: 1/-1;
  margin: 0 0 var(--gap-small);
}
.ce_form .foerderantrag .formbody fieldset.grid input {
  margin: 0;
}

/* ##################################################### */
/* ############## Eventanmeldung ####################### */
/* ##################################################### */
.mod_event_reader_subscribe .type-extended_guest {
  max-width: 900px;
}
.mod_event_reader_subscribe form {
  display: flex;
  flex-wrap: wrap;
  text-align: left;
  gap: var(--gap-medium);
}
.mod_event_reader_subscribe form .widget {
  flex-grow: 1;
}
.mod_event_reader_subscribe form .widget > input {
  width: 100%;
}
.mod_event_reader_subscribe form label {
  display: block;
  line-height: 1.3;
  padding: 0.2em 0;
}
.mod_event_reader_subscribe form .widget-radio fieldset, .mod_event_reader_subscribe form .widget-checkbox fieldset {
  display: flex;
  border: none;
  padding: 0;
  margin: 0;
}
.mod_event_reader_subscribe form .widget-radio fieldset#ctrl_ticksRemoval, .mod_event_reader_subscribe form .widget-checkbox fieldset#ctrl_ticksRemoval {
  display: block;
}
.mod_event_reader_subscribe form .widget-radio fieldset > span, .mod_event_reader_subscribe form .widget-checkbox fieldset > span {
  display: flex;
  margin-right: 1.5em;
  padding-top: 0.25em;
  align-items: baseline;
}
.mod_event_reader_subscribe form .widget-radio fieldset > span label, .mod_event_reader_subscribe form .widget-checkbox fieldset > span label {
  padding-left: 0.3em;
}
.mod_event_reader_subscribe form .widget-textarea textarea {
  width: 100%;
  height: 4em;
}
.mod_event_reader_subscribe form .submit_container {
  width: 100%;
  text-align: center;
  margin: 2em 0 10em;
  order: 21;
}
.mod_event_reader_subscribe form .submit_container button {
  padding: 1em 2em;
}
.mod_event_reader_subscribe form #ctrl_privacyAgreement legend, .mod_event_reader_subscribe form #ctrl_termsAgreement legend, .mod_event_reader_subscribe form #ctrl_permitContactCarpooling legend {
  display: none;
}
.mod_event_reader_subscribe form .widget-checkbox:has(#ctrl_privacyAgreement) {
  order: 20;
}

.error {
  color: #f00;
}

/* ##################################################### */
/* ############## Formulare ############################ */
/* ##################################################### */
.ce_form .formbody {
  max-width: 600px;
  margin: 0 auto;
}
.ce_form .formbody label {
  display: none;
}
.ce_form .formbody .widget input, .ce_form .formbody .widget textarea {
  width: 100%;
  margin-bottom: 1em;
}
.ce_form .formbody .widget-altcha .altcha {
  margin-bottom: 1em;
  border-radius: 0;
  border: 1px solid WindowFrame;
}
.ce_form .formbody .widget-altcha label, .ce_form .formbody .widget-altcha label.altcha-label {
  display: block;
}
.ce_form .formbody .widget-altcha input[type=checkbox] {
  width: auto;
  margin-bottom: 0;
}

/* ##################################################### */
/* ############## Buttons, Radio und Checkbox ########## */
/* ##################################################### */
button, [type=button], [type=reset], [type=submit] {
  -webkit-appearance: button;
  cursor: pointer;
}
button:hover, [type=button]:hover, [type=reset]:hover, [type=submit]:hover {
  background: var(--fonts);
  color: var(--background);
}

.back a {
  display: inline-block;
  border: 1px solid WindowFrame;
  padding: 0.4em 0.7em;
}
.back a:hover {
  background: var(--fonts);
  color: var(--background);
}

/* ##################################################### */
/* ############## Wrapper & Textblöcke ################# */
/* ##################################################### */
#wrapper {
  background: var(--background);
}

.mod_article > * {
  padding-left: var(--gap-medium);
  padding-right: var(--gap-medium);
  text-align: left;
}
@media (min-width: 900px) {
  .mod_article {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .mod_article > * {
    padding-left: var(--gap-big);
    padding-right: var(--gap-big);
    max-width: 1000px;
    width: 100%;
  }
  .mod_article.full > * {
    max-width: 100%;
    text-align: center;
  }
}

.invisible {
  display: none;
}

/* ##################################################### */
/* ############## Hauptmenü ############################ */
/* ##################################################### */
#mainnav {
  position: fixed;
  top: 0;
  left: -100%;
  width: auto;
  z-index: 90;
  background-color: var(--color2);
  visibility: hidden;
  pointer-events: none;
  transition: left 0.4s ease, visibility 0.4s ease;
  overflow: auto;
  height: 100vh;
  display: flex;
  justify-content: center;
  align-items: center;
}
#mainnav.open {
  left: 0;
  visibility: visible;
  pointer-events: auto;
}
#mainnav ul {
  padding: var(--gap-medium);
  list-style: none;
}
#mainnav ul a, #mainnav ul strong {
  border: none;
  font-size: 1.6em;
  color: var(--color1);
  padding-bottom: 0.25em;
  font-family: var(--font-heading);
  font-variation-settings: "opsz" 8, "wght" 360;
  hyphens: auto;
}
@media (min-width: 1200px) {
  #mainnav ul a, #mainnav ul strong {
    font-size: 2.4em;
  }
}
#mainnav ul a:hover, #mainnav ul a.active, #mainnav ul a.trail, #mainnav ul strong:hover, #mainnav ul strong.active, #mainnav ul strong.trail {
  color: var(--color3);
}
#mainnav ul.submenu {
  padding-bottom: 1em;
}
#mainnav ul ul {
  padding: 0;
}
#mainnav ul ul li {
  border: none;
  padding: 0;
}
#mainnav ul ul li a, #mainnav ul ul li strong {
  font-size: 1em;
  padding-right: 1.4em;
  padding-bottom: 0;
  display: inline-block;
}
@media (min-width: 1200px) {
  #mainnav ul ul li a, #mainnav ul ul li strong {
    font-size: 1.1em;
  }
}

/* ##################################################### */
/* ############## Social Links ######################### */
/* ##################################################### */
.sociallinks {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
.sociallinks a {
  display: flex;
  border-radius: 50%;
  padding: 0.6em;
  line-height: 1;
  background-color: var(--fonts);
  color: var(--background);
  border: none;
  margin: 0.2em;
  font-size: 1.7em;
  height: 2em;
  width: 2em;
  align-items: center;
  justify-content: center;
}
.sociallinks a:hover {
  color: #fff;
}
.sociallinks a.youtube:hover {
  background-color: #FE0000;
}
.sociallinks a.instagram:hover {
  background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285AEB 90%);
}
.sociallinks a.twitter:hover {
  background-color: #1C9CEA;
}
.sociallinks a.podcast:hover {
  background-color: #9D51C6;
}
.sociallinks a.twitch:hover {
  background-color: #9147FF;
}
.sociallinks a.discord:hover {
  background-color: #5865F2;
}
.sociallinks a.spotify:hover {
  background-color: #1ED760;
}
.sociallinks a.whatsapp:hover {
  background-color: #25d366;
}
@media (min-width: 1200px) {
  .sociallinks a {
    font-size: 2.2em;
  }
}

/* ##################################################### */
/* ############## Menü-Trigger ######################### */
/* ##################################################### */
.menu-trigger {
  position: fixed;
  z-index: 100;
  top: 20px;
  font-size: 2.4em;
  left: var(--gap-medium);
  background-color: var(--background);
  padding: 0.3em;
  cursor: pointer;
  display: flex;
  margin-left: -0.35em;
}
@media (min-width: 900px) {
  .menu-trigger {
    font-size: 2.7em;
    top: 40px;
    left: var(--gap-big);
  }
}
.menu-trigger .icon-cross {
  display: none;
}
.menu-trigger.open {
  background-color: transparent;
  color: #fff;
}
.menu-trigger.open .icon-cross {
  display: block;
}
.menu-trigger.open .icon-menu {
  display: none;
}

/* ##################################################### */
/* ############## Layout-Trigger (Hell/Dunkel) ######### */
/* ##################################################### */
.switch {
  position: absolute;
  right: var(--gap-medium);
  top: var(--gap-medium);
  display: inline-block;
  width: 60px;
  height: 34px;
}
@media (min-width: 900px) {
  .switch {
    right: var(--gap-big);
    top: var(--gap-big);
  }
}
.switch .switcher {
  position: absolute;
  cursor: pointer;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: var(--fonts);
  transition: background-color 0.4s ease;
}
.switch .switcher:before {
  position: absolute;
  content: "";
  height: 26px;
  width: 26px;
  left: 4px;
  bottom: 4px;
  background-color: var(--background);
  transition: transform 0.4s ease;
}
.switch .switcher.round {
  border-radius: 34px;
}
.switch .switcher.round:before {
  border-radius: 50%;
}
.switch input {
  opacity: 0;
  width: 0;
  height: 0;
}
.switch input:checked + .switcher {
  background-color: var(--color-4);
}
.switch input:checked + .switcher:before {
  transform: translateX(26px);
}
.switch input:focus .switcher {
  box-shadow: 0 0 1px var(--color-4);
}

/* ##################################################### */
/* ############## ToTop ################################ */
/* ##################################################### */
.totop {
  color: var(--fonts);
  font-size: 2em;
  border: none;
  text-decoration: none;
  opacity: 0;
  transition: var(--trans-opacity);
  padding: calc(var(--gap-small) / 4) var(--gap-small);
}
.totop:hover {
  color: var(--color2);
}
.totop.show {
  opacity: 1;
}
.totop.hide {
  opacity: 0 !important;
}

/* ##################################################### */
/* ############## Pagination ########################### */
/* ##################################################### */
.pagination {
  margin-top: 2em;
  grid-column: 1/-1;
  text-align: center;
}
@media (min-width: 900px) {
  .pagination {
    margin: 2em 0 1em;
  }
}
.pagination ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.pagination ul li a, .pagination ul li strong {
  padding: 0.5em 0.8em;
  margin: 0 0.5em 0.5em 0;
  background-color: var(--fonts);
  color: var(--background);
  display: block;
}
.pagination ul li a:hover, .pagination ul li a.active, .pagination ul li strong:hover, .pagination ul li strong.active {
  background-color: var(--fonts);
  color: var(--background);
}

/* ##################################################### */
/* ############## Akkordeon ############################ */
/* ##################################################### */
.ce_accordion {
  margin-bottom: 1em;
}
.ce_accordion .accordion {
  padding-top: 1em;
  overflow: hidden;
  transition-property: height, visibility;
  transition-timing-function: ease;
}
.ce_accordion .toggler {
  cursor: pointer;
  border: 1px solid var(--fonts);
  padding: 1em 2em 1em 3.2em;
  position: relative;
  list-style: none;
}
.ce_accordion .toggler:before {
  content: "+";
  position: absolute;
  font-size: 1.6em;
  left: 0;
  top: 0;
  padding: 0.3em 0.7em;
}
.ce_accordion.js-enabled .accordion {
  visibility: hidden;
}
.ce_accordion.is-active .toggler:before {
  content: "-";
  line-height: 1.5;
  padding-left: 0.8em;
}
.ce_accordion.is-active .accordion {
  visibility: visible;
}

.mod_catalogUniversalView .ce_accordion {
  margin: 0;
}
.mod_catalogUniversalView .ce_accordion .toggler {
  padding: 0;
  border: none;
}
.mod_catalogUniversalView .ce_accordion .toggler:before {
  position: relative;
  top: 3px;
  padding: 0 0.3em 0 0;
  line-height: 1;
}
.mod_catalogUniversalView .ce_accordion .accordion {
  padding: 0.5em 0 0;
}

/* ##################################################### */
/* ############## Downloads und Links ################## */
/* ##################################################### */
.ce_downloads ul, .ce_download ul, .content-downloads ul, .content-download ul {
  list-style: none;
  padding: 0;
}

.enclosure {
  list-style: none;
  padding: 0;
  margin: 1rem 0;
}

.download-element {
  padding: 0;
  margin-bottom: 0.8rem;
}

.download-element a, .ce_hyperlink a, .content-hyperlink a {
  display: block;
  position: relative;
  color: var(--fonts);
  padding: 1em 2em 1em 3.2em;
  overflow: hidden;
  background-color: var(--background);
  border: 1px solid var(--fonts);
  text-decoration: none;
  line-height: 1.2;
  margin: 0 auto 0.5em;
  width: fit-content;
  border-radius: 20px;
}
.download-element a:before, .ce_hyperlink a:before, .content-hyperlink a:before {
  position: absolute;
  top: 0;
  left: 0;
  font-family: var(--font-icon);
  background: var(--background);
  color: var(--fonts);
  text-align: center;
  padding: 1em;
  height: 100%;
  content: "\e924";
}
.download-element a span, .ce_hyperlink a span, .content-hyperlink a span {
  font-size: 0.7em;
  font-weight: 400;
}
.download-element a:hover, .ce_hyperlink a:hover, .content-hyperlink a:hover {
  opacity: 0.8;
}

.ext-pdf a:before {
  content: "\e25f";
}

.ext-jpg a:before, .ext-png a:before, .ext-gif a:before {
  content: "\e927";
}

.ext-xls a:before {
  content: "\e262";
}

.ext-xlsx a:before {
  content: "\e262";
}

.ext-doc a:before {
  content: "\e261";
}

.ext-docx a:before {
  content: "\e261";
}

.ce_hyperlink, .content-hyperlink {
  padding-top: 0;
}
.ce_hyperlink a:before, .content-hyperlink a:before {
  content: "\e9cb";
}

.home .ce_hyperlink a, .home .content-hyperlink a {
  color: var(--background);
  background-color: var(--fonts);
  border: none;
  margin: 2em auto 0;
  padding: 0.7em 2em 0.7em 1em;
  text-align: center;
}
.home .ce_hyperlink a:before, .home .content-hyperlink a:before {
  position: static;
  background: transparent;
  color: var(--background);
}

/* ##################################################### */
/* ############## Kontakte ############################# */
/* ##################################################### */
.kontakte {
  display: grid;
  grid-gap: var(--gap-big);
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  width: 100%;
  margin: var(--gap-big) 0;
}
.kontakte .ctlg_einzelkontakt .contact_function, .kontakte .ctlg_einzelkontakt .title {
  font-family: var(--font-heading);
  font-variation-settings: "opsz" 8, "wght" 430;
  font-size: 1.2rem;
  line-height: 1.3;
  hyphens: auto;
}
.kontakte .ctlg_einzelkontakt .contact_function {
  margin: 0.5em 0 0;
}
.kontakte .ctlg_einzelkontakt .title {
  margin-bottom: 0.2em;
}
.kontakte .ctlg_einzelkontakt .contact_phone {
  margin-bottom: 0;
}
.kontakte .ctlg_einzelkontakt .contact_phone span {
  display: none;
}
.kontakte .ctlg_einzelkontakt .contact_phone:before {
  content: "Tel. ";
}
.kontakte .ctlg_einzelkontakt .contact_email {
  margin-bottom: 0;
}
.kontakte .ctlg_einzelkontakt .contact_email span {
  display: none;
}
.kontakte .ctlg_einzelkontakt .contact_mobile:before {
  content: "Tel. ";
}
.kontakte .ctlg_einzelkontakt .contact_fax:before {
  content: "Fax ";
}
.kontakte .ctlg_einzelkontakt .accordion {
  padding: 2em 0;
}
.kontakte .ctlg_einzelkontakt .accordion > p {
  margin-bottom: 0;
}
.kontakte .ctlg_einzelkontakt .accordion > p span {
  display: none;
}
.kontakte .ctlg_einzelkontakt .contact_infos {
  margin-top: 1em;
}
.kontakte .ctlg_einzelkontakt .contact_infos ul {
  padding: 0 1em;
}
.kontakte.bjk .ctlg_einzelkontakt .title {
  margin: 0.5em 0 0;
}

/* ##################################################### */
/* ############## Animationen ########################## */
/* ##################################################### */
/* ##################################################### */
/* ############## Header ############################### */
/* ##################################################### */
header {
  text-align: center;
}
header .logo {
  display: flex;
  justify-content: center;
  padding: 5em var(--gap-medium) var(--gap-medium);
}
header .logo a {
  border: none;
  color: var(--fonts);
}
header .logo a p {
  margin: 1em 0 0 0;
  font-size: 1.4em;
  font-family: var(--font-heading);
  font-variation-settings: "opsz" 8, "wght" 420;
  line-height: 1.2;
}
header .logo a svg {
  max-width: 60px;
  fill: var(--fonts);
}
@media (min-width: 480px) {
  header .logo {
    padding: var(--gap-medium);
  }
}
@media (min-width: 900px) {
  header .logo {
    padding-top: 0.3em;
  }
  header .logo a {
    margin: var(--gap-medium);
    display: grid;
    grid-template-columns: 60px max-content;
    align-items: center;
  }
  header .logo a p {
    margin: 0 0 0 1em;
    font-size: 1.8em;
    font-variation-settings: "opsz" 8, "wght" 360;
  }
}

/* ##################################################### */
/* ############## Slider ############################### */
/* ##################################################### */
.slider {
  padding-bottom: var(--gap-medium);
  max-width: 1900px;
  margin: 0 auto;
}
.slider .button-next, .slider .button-prev, .slider .gallery-thumbs, .slider .gallery-top {
  display: none;
}
.slider .gallery-thumbs img, .slider .gallery-top img {
  width: 100%;
}
.slider .newstitle {
  font-family: var(--font-heading);
  font-variation-settings: "opsz" 8, "wght" 430;
  font-size: 1.3em;
  line-height: 1.2;
  margin: 0.7em 0 0.2em;
}
.slider .newssubtitle {
  font-size: 1.1em;
  line-height: 1.4;
  margin: 0.4em 0 0;
}
.slider .swiper-slide {
  position: relative;
}
.slider .swiper-slide .overlay-box {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: none;
}
@media (min-width: 900px) {
  .slider {
    display: grid;
    grid-template-columns: 5.49fr var(--gap-big) 2fr var(--gap-big);
    align-items: start;
    padding-left: var(--gap-big);
  }
  .slider .gallery-mobil {
    display: none;
  }
  .slider .button-next, .slider .button-prev, .slider .gallery-top, .slider .gallery-thumbs {
    display: block;
  }
  .slider .button-next, .slider .button-prev {
    cursor: pointer;
    padding: 0.6em;
    font-size: 1.3em;
    place-self: center;
  }
  .slider .swiper {
    width: 100%;
    padding: 0;
  }
  .slider .swiper .infoblock {
    position: absolute;
    bottom: 0;
    left: 0;
    text-align: left;
    margin: 20px;
  }
  .slider .swiper .infoblock .newstitle, .slider .swiper .infoblock .newssubtitle {
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
    background-color: var(--background);
    display: table;
    margin: 0;
  }
  .slider .swiper .infoblock .newstitle {
    padding: 0.6em 1em;
  }
  .slider .swiper .infoblock .newssubtitle {
    padding: 0.6em 1.2em;
    margin-top: -1em;
  }
  .slider .gallery-top {
    order: -1;
  }
  .slider .gallery-thumbs .swiper-slide {
    cursor: pointer;
  }
  .slider .gallery-thumbs .swiper-slide.swiper-slide-thumb-active {
    outline: 3px solid var(--fonts);
    outline-offset: -3px;
  }
}
@media (min-width: 1200px) {
  .slider {
    grid-template-columns: 3.111fr var(--gap-big) 2.36fr var(--gap-big);
  }
}
@media (min-width: 1600px) {
  .slider {
    grid-template-columns: 3.065fr var(--gap-big) 3.52fr var(--gap-big);
  }
}

.swiper-grid > .swiper-wrapper {
  flex-wrap: wrap;
}

.swiper-grid-column > .swiper-wrapper {
  flex-wrap: wrap;
  flex-direction: column;
}

/* ##################################################### */
/* ############## Footer ############################### */
/* ##################################################### */
footer {
  padding: calc(var(--gap-big) * 2) 0 var(--gap-big);
}
footer .mod_cookiebarOpener, footer .module-cookiebar-opener, footer p:first-of-type {
  display: inline;
}
footer .sociallinks a {
  font-size: 0.9em;
  margin-bottom: var(--gap-big);
}

/* ##################################################### */
/* ############## Bilder allgemein ##################### */
/* ##################################################### */
figure img {
  transition: var(--trans-opacity);
}
figure a:hover img {
  opacity: 0.5;
}

.ce_text figure, .content-text figure {
  margin: 0 0 1em;
}
@media (min-width: 480px) {
  .ce_text figure, .content-text figure {
    max-width: 50%;
  }
  .ce_text figure.float_right, .content-text figure.float_right {
    float: right;
    margin: 9px 0 1em 2em;
  }
  .ce_text figure.float_left, .content-text figure.float_left {
    float: left;
    margin: 9px 2em 1em 0;
  }
}
@media (min-width: 900px) {
  .ce_text figure.float_right, .content-text figure.float_right {
    float: right;
    margin: 9px 0 1em 2em;
  }
  .ce_text figure.float_left, .content-text figure.float_left {
    float: left;
    margin: 9px 2em 1em 0;
  }
}
@media (min-width: 480px) {
  .ce_text.media--right > figure, .content-text.media--right > figure {
    float: right;
    margin: 9px 0 1em 2em;
  }
  .ce_text.media--left > figure, .content-text.media--left > figure {
    float: left;
    margin: 9px 2em 1em 0;
  }
}
.ce_text:before, .ce_text:after, .content-text:before, .content-text:after {
  content: " ";
  display: table;
}
.ce_text:after, .content-text:after {
  clear: both;
}

/* ##################################################### */
/* ############## Bildergalerien ####################### */
/* ##################################################### */
.ce_gallery, .content-gallery {
  margin-bottom: 2em;
}
.ce_gallery ul, .content-gallery ul {
  display: grid;
  grid-gap: var(--gap-medium);
  list-style: none;
  padding: 0;
  align-items: center;
}
.ce_gallery ul.cols_2, .ce_gallery.content-gallery--cols-2 ul, .content-gallery ul.cols_2, .content-gallery.content-gallery--cols-2 ul {
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
}
.ce_gallery ul.cols_3, .ce_gallery.content-gallery--cols-3 ul, .content-gallery ul.cols_3, .content-gallery.content-gallery--cols-3 ul {
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
}
.ce_gallery ul.cols_4, .ce_gallery.content-gallery--cols-4 ul, .content-gallery ul.cols_4, .content-gallery.content-gallery--cols-4 ul {
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
}
.ce_gallery ul.cols_5, .ce_gallery.content-gallery--cols-5 ul, .content-gallery ul.cols_5, .content-gallery.content-gallery--cols-5 ul {
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
}
.ce_gallery ul.cols_6, .ce_gallery.content-gallery--cols-6 ul, .content-gallery ul.cols_6, .content-gallery.content-gallery--cols-6 ul {
  grid-template-columns: repeat(auto-fill, minmax(110px, 1fr));
}
.ce_gallery ul.cols_7, .ce_gallery.content-gallery--cols-7 ul, .content-gallery ul.cols_7, .content-gallery.content-gallery--cols-7 ul {
  grid-template-columns: repeat(auto-fill, minmax(90px, 1fr));
}
.ce_gallery ul.cols_8, .ce_gallery.content-gallery--cols-8 ul, .content-gallery ul.cols_8, .content-gallery.content-gallery--cols-8 ul {
  grid-template-columns: repeat(auto-fill, minmax(70px, 1fr));
}
.ce_gallery ul.cols_12, .ce_gallery.content-gallery--cols-12 ul, .content-gallery ul.cols_12, .content-gallery.content-gallery--cols-12 ul {
  grid-template-columns: repeat(auto-fill, minmax(70px, 1fr));
}
@media (min-width: 900px) {
  .ce_gallery ul.cols_2, .ce_gallery.content-gallery--cols-2 ul, .content-gallery ul.cols_2, .content-gallery.content-gallery--cols-2 ul {
    grid-template-columns: repeat(auto-fill, minmax(270px, 1fr));
  }
}

figcaption {
  font-size: 0.8em;
  text-transform: uppercase;
  letter-spacing: 0.6px;
  font-weight: 300;
  padding-top: 0.6em;
}

.ce_image, .content-image {
  margin-bottom: 2em;
}

/* ##################################################### */
/* ############## Lightbox (GLightbox) ################# */
/* ##################################################### */
#glightbox-body .goverlay {
  background: rgba(255, 255, 255, 0.92);
}
#glightbox-body .gslide-description {
  background: transparent;
}
#glightbox-body .gslide-description .gdesc-inner {
  padding: 0;
}
#glightbox-body .gslide-description .gdesc-inner h4.gslide-title {
  font-family: var(--font-heading);
  font-variation-settings: "opsz" 8, "wght" 430;
  font-size: 1.3em;
  line-height: 1.2;
  padding: 1em;
}
#glightbox-body .gslide-media.gslide-image {
  box-shadow: none;
}

/* ##################################################### */
/* ############## Events ############################### */
/* ##################################################### */
.eventlist {
  max-width: 100%;
  margin: 0 0 var(--gap-small);
  padding: var(--gap-small) var(--gap-medium);
  overflow: hidden;
}
@media (min-width: 900px) {
  .eventlist {
    padding: var(--gap-small) var(--gap-big);
  }
}
.eventlist > h2 {
  display: none;
}
.eventlist .swiper-slide {
  position: relative;
  background-color: var(--links);
  overflow: hidden;
}
.eventlist .swiper-slide .eventlink {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: block;
  z-index: 40;
}
.eventlist .swiper-slide .image-box {
  position: relative;
}
.eventlist .swiper-slide .image-box img {
  opacity: 1;
  transition: opacity 0.35s, transform 0.35s;
}
.eventlist .swiper-slide .infos .titel, .eventlist .swiper-slide .infos .time {
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
  background-color: var(--background);
  display: table;
  padding: 0.5em 1em;
  margin: 20px;
  position: absolute;
  line-height: 1.3;
}
.eventlist .swiper-slide .infos .titel {
  bottom: 0;
  left: 0;
  font-family: var(--font-heading);
  font-variation-settings: "opsz" 8, "wght" 430;
  font-size: 1.3em;
  text-align: left;
}
.eventlist .swiper-slide .infos .time {
  top: 0;
  right: 0;
  text-align: right;
}
.eventlist .swiper-slide:hover .image-box img {
  opacity: 0.7;
  transform: scale(1.15) rotate(4deg);
}

.eventtable {
  display: grid;
  grid-gap: var(--gap-medium);
  grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
}

.controls fieldset {
  border: 0;
  margin: 0;
  padding: 0;
}
.controls fieldset button {
  border: none;
  margin: 0.5em 0;
  position: relative;
  padding: 0 1.2em 0 1.8em;
}
.controls fieldset button:before {
  font-family: var(--font-icon) !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  position: absolute;
  left: 3px;
  top: -1px;
  content: "\ea10";
  transition: var(--trans-opacity);
  opacity: 1;
  font-size: 0.7em;
  border: 1px solid var(--fonts);
  padding: 0.3em;
  color: transparent;
}
.controls fieldset button.mixitup-control-active:before {
  color: var(--color1);
}
.controls fieldset button:hover {
  background-color: var(--background);
  color: var(--fonts);
}
.controls fieldset button[data-filter=all].mixitup-control-active:before {
  color: var(--fonts);
}
.controls fieldset button[data-toggle=".jugo"]:before {
  background-color: var(--jugo);
}
.controls fieldset button[data-toggle=".freizeiten"]:before {
  background-color: var(--freizeiten);
}
.controls fieldset button[data-toggle=".sport"]:before {
  background-color: var(--sport);
}
.controls fieldset button[data-toggle=".seminare"]:before {
  background-color: var(--seminare);
}
.controls fieldset button[data-toggle=".musik"]:before {
  background-color: var(--musik);
}
.controls fieldset button[data-toggle=".ip"]:before {
  background-color: var(--ip);
}
.controls fieldset button[data-toggle=".elementarpaedagogik"]:before {
  background-color: var(--elementarpaedagogik);
}
.controls fieldset button[data-toggle=".mitarbeit"]:before {
  background-color: var(--mitarbeit);
}

/* ##################################################### */
/* ############## Monatskalender ####################### */
/* ##################################################### */
.mod_calendar {
  width: 100%;
}

.buttonwrapper {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.buttonwrapper .checkbox {
  margin: 0.5em 0;
  position: relative;
  padding: 0 1.2em 0 1.8em;
  cursor: pointer;
}
.buttonwrapper .checkbox:before {
  font-family: var(--font-icon) !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  position: absolute;
  left: 3px;
  top: 3px;
  content: "\ea10";
  transition: var(--trans-opacity);
  opacity: 1;
  font-size: 0.7em;
  border: 1px solid var(--fonts);
  padding: 0.3em;
  color: #fff;
  display: block;
  width: 1.8em;
}
.buttonwrapper .checkbox.unchecked:before {
  text-indent: -99999px;
}
.buttonwrapper .checkbox.btn-jugo:before {
  background-color: var(--jugo);
}
.buttonwrapper .checkbox.btn-freizeiten:before {
  background-color: var(--freizeiten);
}
.buttonwrapper .checkbox.btn-sport:before {
  background-color: var(--sport);
}
.buttonwrapper .checkbox.btn-seminare:before {
  background-color: var(--seminare);
}
.buttonwrapper .checkbox.btn-musik:before {
  background-color: var(--musik);
}
.buttonwrapper .checkbox.btn-ip:before {
  background-color: var(--ip);
}
.buttonwrapper .checkbox.btn-elementarpaedagogik:before {
  background-color: var(--elementarpaedagogik);
}
.buttonwrapper .checkbox.btn-mitarbeit:before {
  background-color: var(--mitarbeit);
}

.gridcalendar {
  text-align: left;
}
.gridcalendar .navigator {
  display: grid;
  grid-template-columns: max-content auto max-content;
  grid-gap: var(--gap-medium);
  align-items: center;
  margin-bottom: 2em;
}
.gridcalendar .navigator a {
  border: none;
  display: inline-block;
  padding: 0.2em 0.6em;
  font-size: 1.5em;
  background-color: var(--fonts);
  color: var(--background);
  font-weight: 900;
}
.gridcalendar .navigator .prevM {
  order: -1;
}
.gridcalendar .navigator .month {
  text-align: center;
  font-family: var(--font-heading);
  font-variation-settings: "opsz" 8, "wght" 420;
  line-height: 1.2;
  font-size: 1.4em;
}
.gridcalendar .navigator .nextM {
  text-align: right;
}
.gridcalendar .days {
  margin-top: 1em;
  display: none;
}
.gridcalendar .days.active {
  display: block;
}
.gridcalendar .day-label {
  font-family: var(--font-heading);
  font-variation-settings: "opsz" 8, "wght" 420;
  font-size: 1.1em;
}
.gridcalendar .cgrid {
  display: grid;
  grid-gap: var(--gap-medium);
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  margin-bottom: var(--gap-medium);
}
.gridcalendar .weekdays, .gridcalendar .empty {
  display: none;
}
@media (min-width: 1200px) {
  .gridcalendar {
    margin-top: 2em;
  }
  .gridcalendar .weekdays {
    display: block;
  }
  .gridcalendar a {
    text-decoration: none;
    color: var(--fonts);
  }
  .gridcalendar .navigator .prevM a, .gridcalendar .navigator .nextM a {
    background-color: transparent;
    color: var(--fonts);
    padding: 0.7em 1.4em;
  }
  .gridcalendar .cgrid {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    grid-auto-flow: dense;
    grid-gap: 0;
    border: 1px solid var(--fonts);
    font-size: 0.8em;
    margin: 0;
    border-top: none;
  }
  .gridcalendar .cgrid.weekdays {
    border-top: 1px solid var(--fonts);
  }
  .gridcalendar .cgrid .label {
    text-align: center;
  }
  .gridcalendar .cgrid .days {
    border-right: 1px solid var(--fonts);
    padding: 0.6em 0.8em;
    display: block;
    margin: 0;
  }
  .gridcalendar .cgrid .days.empty .monthlabel {
    display: none;
  }
  .gridcalendar .cgrid .days .monthlabel {
    display: none;
  }
  .gridcalendar .cgrid .days .day-label {
    text-align: right;
  }
  .gridcalendar .cgrid .days.col_last {
    border-right: none;
    padding-right: 1em;
  }
  .gridcalendar .cgrid .days .event {
    line-height: 1.1;
    hyphens: auto;
  }
  .gridcalendar .cgrid .days .event a {
    border: none;
    position: relative;
    padding-left: 1em;
    margin-bottom: 0.9em;
    display: block;
  }
  .gridcalendar .cgrid .days .event a:hover {
    color: var(--fonts);
  }
  .gridcalendar .cgrid .days .event a:before {
    display: block;
    content: "";
    height: 100%;
    width: 0.5em;
    left: 0;
    top: 0;
    position: absolute;
  }
  .gridcalendar .cgrid .days .event.hide {
    display: none;
  }
  .gridcalendar .cgrid .days .event.jugo a:before {
    background-color: var(--jugo);
  }
  .gridcalendar .cgrid .days .event.freizeiten a:before {
    background-color: var(--freizeiten);
  }
  .gridcalendar .cgrid .days .event.sport a:before {
    background-color: var(--sport);
  }
  .gridcalendar .cgrid .days .event.workshops a:before {
    background-color: var(--workshops);
  }
  .gridcalendar .cgrid .days .event.musik a:before {
    background-color: var(--musik);
  }
  .gridcalendar .cgrid .days .event.ip a:before {
    background-color: var(--ip);
  }
  .gridcalendar .cgrid .days .event.elementarpaedagogik a:before {
    background-color: var(--elementarpaedagogik);
  }
  .gridcalendar .cgrid .days .event.mitarbeit a:before {
    background-color: var(--mitarbeit);
  }
  .gridcalendar .cgrid .days.today {
    background-color: var(--background);
  }
}

.legend {
  list-style-type: none;
  display: flex;
  padding: 0;
  margin: 2em 0;
  flex-wrap: wrap;
}
.legend li {
  margin: 0.5em 0;
  position: relative;
  padding: 0 1.2em 0 1.8em;
  line-height: 1;
  cursor: pointer;
  user-select: none;
}
.legend li:before {
  position: absolute;
  display: block;
  content: "";
  width: 1.3em;
  height: 1.3em;
  left: 0;
  top: -3px;
}
.legend li:after {
  font-family: var(--font-icon) !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  position: absolute;
  left: 3px;
  color: var(--color2);
  top: 0;
  content: "\ea10";
  transition: var(--trans-opacity);
  opacity: 1;
  font-size: 0.9em;
}
.legend li.active:after {
  opacity: 0;
}

/* ##################################################### */
/* ############## News ################################# */
/* ##################################################### */
.social-feed {
  max-width: 100%;
  margin: 0 0 var(--gap-small);
  padding: var(--gap-small) var(--gap-medium);
}
@media (min-width: 900px) {
  .social-feed {
    padding: var(--gap-small) var(--gap-big);
  }
}
.social-feed .swiper-slide {
  position: relative;
  overflow: hidden;
  text-align: left;
}
.social-feed .swiper-slide .newstext {
  padding: var(--gap-small);
}
.social-feed .swiper-slide .feedlink {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: block;
  z-index: 40;
  border: none;
}
.social-feed .swiper-slide .image-box {
  position: relative;
}
.social-feed .swiper-slide .image-box figure {
  opacity: 1;
  transition: opacity 0.35s, transform 0.35s;
  aspect-ratio: 1;
  overflow: hidden;
}
.social-feed .swiper-slide .image-box figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media (min-width: 900px) {
  .social-feed .swiper-slide {
    background-color: var(--links);
    color: var(--background);
    text-align: center;
  }
  .social-feed .swiper-slide .newstext {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 1em 2em;
    font-size: 0.8em;
  }
  .social-feed .swiper-slide .newstext span {
    font-size: 2em;
    margin-bottom: 1em;
  }
  .social-feed .swiper-slide .newstext.hidden {
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.35s ease, visibility 0.35s ease, transform 0.35s ease;
    transform: translateY(10%);
  }
  .social-feed .swiper-slide:hover .image-box figure {
    opacity: 0.2;
    transform: scale(1.15) rotate(4deg);
  }
  .social-feed .swiper-slide:hover .newstext.hidden {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
  }
}

.layout_full figure {
  margin: 0.5em 0 1em;
}

.newsarchiv {
  display: grid;
  grid-gap: var(--gap-medium);
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
  margin-top: 3em;
  max-width: 100%;
}
@media (min-width: 900px) {
  .newsarchiv {
    grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
  }
}
.newsarchiv h1 {
  grid-column: 1/-1;
  text-align: center;
}
.newsarchiv .archiv-item {
  position: relative;
}
.newsarchiv .archiv-item img {
  width: 100%;
}
.newsarchiv .archiv-item .overlay-box {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: none;
}
.newsarchiv .archiv-item .infoblock {
  position: absolute;
  bottom: 0;
  left: 0;
  text-align: left;
  margin: 20px;
}
.newsarchiv .archiv-item .infoblock .newstitle, .newsarchiv .archiv-item .infoblock .newssubtitle {
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
  background-color: var(--background);
  display: table;
  margin: 0;
  hyphens: auto;
}
.newsarchiv .archiv-item .infoblock .newstitle {
  font-family: var(--font-heading);
  font-variation-settings: "opsz" 8, "wght" 430;
  font-size: 1.3em;
  line-height: 1.2;
  margin: 0.7em 0 0.2em;
  padding: 0.6em 1em;
}
.newsarchiv .archiv-item .infoblock .newssubtitle {
  font-size: 1.1em;
  line-height: 1.4;
  margin: 0.4em 0 0;
  padding: 0.6em 1.2em;
  margin-top: -1em;
}

/* ##################################################### */
/* ############## Podcasts ############################# */
/* ##################################################### */
.podcasts {
  max-width: 100%;
  margin: 0 0 var(--gap-small);
  padding: var(--gap-small) var(--gap-medium);
}
@media (min-width: 900px) {
  .podcasts {
    padding: var(--gap-small) var(--gap-big);
  }
}
.podcasts > h2 {
  display: none;
}
.podcasts .swiper-slide {
  position: relative;
  background-color: var(--links);
  overflow: hidden;
}
.podcasts .swiper-slide .podcastlink {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: block;
  z-index: 40;
}
.podcasts .swiper-slide .image-box {
  position: relative;
}
.podcasts .swiper-slide .image-box img {
  opacity: 1;
  transition: opacity 0.35s, transform 0.35s;
}
.podcasts .swiper-slide .infos .titel, .podcasts .swiper-slide .infos .time {
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
  background-color: var(--background);
  display: table;
  padding: 0.5em 1em;
  margin: 20px;
  position: absolute;
  line-height: 1.3;
}
.podcasts .swiper-slide .infos .titel {
  bottom: 0;
  left: 0;
  font-family: var(--font-heading);
  font-variation-settings: "opsz" 8, "wght" 430;
  font-size: 1.3em;
  text-align: left;
}
.podcasts .swiper-slide .infos .time {
  top: 0;
  right: 0;
  text-align: right;
}
.podcasts .swiper-slide:hover .image-box img {
  opacity: 0.7;
  transform: scale(1.15) rotate(4deg);
}

/* ##################################################### */
/* ############## Shop ################################# */
/* ##################################################### */
.bestellbutton a.reload {
  border: none;
  display: inline-block;
  padding-right: 0.6em;
}

.mod_catalogUniversalView.produkte, .mod_catalogUniversalView.bestellliste, .mod_listing-table.produkte, .mod_listing-table.bestellliste {
  display: grid;
  grid-gap: var(--gap-medium);
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  width: 100%;
  padding: var(--gap-medium);
}
.mod_catalogUniversalView.produkte .title, .mod_catalogUniversalView.bestellliste .title, .mod_listing-table.produkte .title, .mod_listing-table.bestellliste .title {
  font-family: var(--font-heading);
  font-variation-settings: "opsz" 8, "wght" 430;
  font-size: 1.2rem;
  line-height: 1.3;
  margin: 0.7em 0 0;
}
.mod_catalogUniversalView.produkte .shop_subtitle, .mod_catalogUniversalView.bestellliste .shop_subtitle, .mod_listing-table.produkte .shop_subtitle, .mod_listing-table.bestellliste .shop_subtitle {
  margin: 0;
}
.mod_catalogUniversalView.produkte .shop_intro, .mod_catalogUniversalView.bestellliste .shop_intro, .mod_listing-table.produkte .shop_intro, .mod_listing-table.bestellliste .shop_intro {
  margin: 0;
}
.mod_catalogUniversalView.produkte .wishlist-form, .mod_catalogUniversalView.bestellliste .wishlist-form, .mod_listing-table.produkte .wishlist-form, .mod_listing-table.bestellliste .wishlist-form {
  margin: 0.2em 0;
}
.mod_catalogUniversalView.produkte .wishlist-form .form-add, .mod_catalogUniversalView.bestellliste .wishlist-form .form-add, .mod_listing-table.produkte .wishlist-form .form-add, .mod_listing-table.bestellliste .wishlist-form .form-add {
  display: flex;
}
.mod_catalogUniversalView.produkte .wishlist-form .form-add .widget-text label, .mod_catalogUniversalView.bestellliste .wishlist-form .form-add .widget-text label, .mod_listing-table.produkte .wishlist-form .form-add .widget-text label, .mod_listing-table.bestellliste .wishlist-form .form-add .widget-text label {
  display: none;
}
.mod_catalogUniversalView.produkte .wishlist-form .form-add .widget-text input, .mod_catalogUniversalView.bestellliste .wishlist-form .form-add .widget-text input, .mod_listing-table.produkte .wishlist-form .form-add .widget-text input, .mod_listing-table.bestellliste .wishlist-form .form-add .widget-text input {
  width: 2em;
  text-align: center;
}
.mod_catalogUniversalView.produkte .wishlist-form .form-add .widget-submit button, .mod_catalogUniversalView.bestellliste .wishlist-form .form-add .widget-submit button, .mod_listing-table.produkte .wishlist-form .form-add .widget-submit button, .mod_listing-table.bestellliste .wishlist-form .form-add .widget-submit button {
  height: 100%;
  margin-left: 0.5em;
  cursor: pointer;
  padding: 0 0.5em;
}
.mod_catalogUniversalView.produkte .wishlist-form .form-delete, .mod_catalogUniversalView.bestellliste .wishlist-form .form-delete, .mod_listing-table.produkte .wishlist-form .form-delete, .mod_listing-table.bestellliste .wishlist-form .form-delete {
  margin-top: 0.5em;
}
.mod_catalogUniversalView.produkte .wishlist-form .form-delete .widget-submit button, .mod_catalogUniversalView.bestellliste .wishlist-form .form-delete .widget-submit button, .mod_listing-table.produkte .wishlist-form .form-delete .widget-submit button, .mod_listing-table.bestellliste .wishlist-form .form-delete .widget-submit button {
  cursor: pointer;
  padding: 0.5em;
}
@media (min-width: 900px) {
  .mod_catalogUniversalView.produkte, .mod_catalogUniversalView.bestellliste, .mod_listing-table.produkte, .mod_listing-table.bestellliste {
    padding: var(--gap-big);
  }
  .mod_catalogUniversalView.produkte .wishlist-form .form-add, .mod_catalogUniversalView.bestellliste .wishlist-form .form-add, .mod_listing-table.produkte .wishlist-form .form-add, .mod_listing-table.bestellliste .wishlist-form .form-add {
    justify-content: center;
  }
}

/* v4-Watchlist (Vue-Formular + Bestellliste) */
.ce_watchlist-component {
  margin: 0.4em 0;
}
.ce_watchlist-component .watchlist-form {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.6em;
  flex-wrap: wrap;
}
.ce_watchlist-component .watchlist-units {
  display: flex;
  align-items: center;
  gap: 0.5em;
}
.ce_watchlist-component .watchlist-units input {
  width: 3.5em;
  padding: 0.3em;
  text-align: center;
}
.ce_watchlist-component button {
  cursor: pointer;
  padding: 0.3em 0.7em;
}

.ce_watchlist_table {
  margin: var(--gap-medium) 0;
}
.ce_watchlist_table table {
  width: 100%;
  border-collapse: collapse;
}
.ce_watchlist_table th {
  text-align: left;
  padding: 0.5em 0.8em;
  border-bottom: 2px solid var(--color4);
}
.ce_watchlist_table td {
  padding: 0.5em 0.8em;
  border-bottom: 1px solid var(--color4);
  vertical-align: middle;
}
.ce_watchlist_table .ce_watchlist-component {
  margin: 0;
}
.ce_watchlist_table .ce_watchlist-component .watchlist-form {
  justify-content: flex-start;
}

.watchlist-empty {
  padding: var(--gap-medium) 0;
}

/* ##################################################### */
/* ############## Videos ############################### */
/* ##################################################### */
.ce_youtube iframe, .content-youtube iframe {
  border: none;
}

.bgvideo {
  max-width: 100%;
  padding: 0;
  margin: 0;
  height: 280px;
}
.bgvideo video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.video_container {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
}
.video_container iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* ##################################################### */
/* ############## Cookie-Bar ########################### */
/* ##################################################### */
.contao-cookiebar.cookiebar_simple .cc-inner {
  border-radius: 0;
}
.contao-cookiebar.cookiebar_simple .cc-inner .cc-footer button {
  border-radius: 0;
}

/* ##################################################### */
/* ############## Print ################################ */
/* ##################################################### */
@media print {
  header, footer, #mainnav, .menu-trigger, .switch, .totop, .pagination, .sociallinks, .ce_cookiebar, .contao-cookiebar {
    display: none !important;
  }
  *, *::before, *::after {
    background: transparent !important;
    color: #000 !important;
    box-shadow: none !important;
  }
  body {
    font-size: 12pt;
    line-height: 1.4;
  }
  .mod_article > * {
    max-width: 100%;
    padding: 0;
  }
  a {
    text-decoration: underline;
    border: none;
  }
  img {
    max-width: 100% !important;
  }
}
/* ##################################################### */
/* ############## Farbdefinitionen ##################### */
/* ##################################################### */
:root {
  --color1: #ffffff; /* Weiß */
  --color2: #444444; /* Dunkelgrau */
  --color3: #eeeeee; /* Grau Hintergrund */
  --color4: #4e4e4e; /* Grau Überschriften */
  --color5: #000000; /* Schwarz Text */
  --color6: #910a0a; /* Dunkelrot / Hover */
  --color7: #333333; /* Dunkelgrau 2 (Dark-Theme Hintergrund) */
  --color8: #cccccc; /* Hellgrau (Dark-Theme Schrift gedämpft) */
  /* Kategorie-Farben (Events) */
  --jugo: #ba2c44;
  --freizeiten: #dca13e;
  --sport: #e7d93f;
  --seminare: #a9c93a;
  --musik: #5781c5;
  --ip: #8d408d;
  --elementarpaedagogik: #553b26;
  --mitarbeit: #a7a6a6;
  /* Semantische Tokens — Default = helles Theme */
  --background: var(--color1);
  --background2: var(--color3);
  --fonts: var(--color2);
  --headers: var(--color2);
  --links: var(--color5);
  --color-1: #007dae; /* Kirchenbezirk Blau */
  --color-2: #e7bf2e; /* Kirchenbezirk Gelb */
  --color-3: #267b28; /* Kirchenbezirk Grün */
  --color-4: var(--color2);
  --form-bg: #f5f5f5;
}

.theme-dark {
  --background: var(--color2);
  --background2: var(--color7);
  --fonts: var(--color1);
  --headers: var(--color1);
  --links: var(--color1);
  --color-4: var(--color8);
  --form-bg: var(--color7);
}

/* ##################################################### */
/* ############## Fonts ################################ */
/* ##################################################### */
body {
  --font-base: 'Source Sans', sans-serif;
  --font-heading: 'Source Serif', serif;
  --font-icon: 'icomoon';
}

/* ##################################################### */
/* ############## Gaps ################################# */
/* ##################################################### */
body {
  --gap-small: 20px;
  --gap-medium: 36px;
  --gap-big: 64px;
  --gap-huge: 86px;
}

/* ##################################################### */
/* ############## Transitions ########################## */
/* ##################################################### */
body {
  --trans-color: color .2s ease-in-out, background-color .2s ease-in-out;
  --trans-transform: transform .2s ease-in-out;
  --trans-opacity: opacity .2s ease-in-out;
  --trans-border: border-color .2s ease-in-out;
  --trans-all: color .2s ease-in-out, background-color .2s ease-in-out, border-color .2s ease-in-out, opacity .2s ease-in-out;
}

