/* =============================================================================
   Tables
   ========================================================================== */

table.ce-table td {
  border: 2px solid rgb(var(--c-neutral-lightest));
  background: rgb(var(--c-neutral-lighter));
  padding: 0.3rem 0.7rem;
}

table.ce-table th,
table.ce-table caption {
  color: rgb(var(--c-neutral-darker));
  background: rgb(var(--c-primary));
  font-family: var(--f-family);
  border: 2px solid rgb(var(--c-neutral-lightest));
  text-transform: uppercase;
  padding: 0.3rem 0.7rem;
}

table.ce-table-oeffnung td,
table.ce-table-oeffnung th,
table.ce-table-oeffnung caption {
  border: none;
  background: none;
  padding: 0;
}

table.ce-table-oeffnung {
  border-spacing: 5px;
  border-collapse: separate;
  margin-left: -5px;
}

table.ce-table-oeffnung td {
  min-width: inherit;
  line-height: 130%;
}

table.ce-table-oeffnung td:nth-child(2) {
  border-right: 1px solid rgb(var(--c-neutral-darker));
  text-align: right;
  padding: 0 0.5rem;
}

table.ce-table-oeffnung td:nth-child(3) {
  padding: 0 0.5rem;
}


/* =============================================================================
   Standard contentelements
   ========================================================================== */

/* Uploads */
.uploads__item {
  background-color: rgb(var(--c-neutral-lighter));
}

.uploads__link {
  color: rgb(var(--c-neutral-dark));
}

.uploads__title {
  font-family: var(--f-family-2);
  color: rgb(var(--c-neutral-darker));
  text-transform: uppercase;
  font-size: var(--f-size-l-1);
}

.uploads__arrowpath {
  stroke: rgb(var(--c-neutral-darker));
}

.no-touch .uploads__item:hover {
  background-color: rgb(var(--c-primary));
}

.no-touch .uploads__item:hover .uploads__link,
.no-touch .uploads__item:hover .uploads__title {
  color: rgb(var(--c-neutral-darker));
}

.no-touch .uploads__item:hover .uploads__arrowpath {
  stroke: rgb(var(--c-neutral-darker));
}

a[rel="noreferrer"]::after {
  content: "\f08e";
  font-family: "FaRegular";
  display: inline-block;
  margin-left: 5px;
}

/* Images */
.-border img,
.-border iframe {
  border: 1px solid rgb(var(--c-neutral-light));
}

.gallery__item a[data-fancybox]::before,
.media__image a::before {
  background-color: rgba(var(--c-primary), 0.6);
}

/* Menus */
.frame-type-menu_pages li a,
.frame-type-menu_sitemap li a {
  color: rgb(var(--c-neutral-dark));
}


/* =============================================================================
   Layouts
   ========================================================================== */

.frame-layout-darkgreen {
  --c-element: var(--c-secondary);
  --c-element-hover: var(--c-third);
}

.frame-layout-green {
  --c-element: var(--c-third);
  --c-element-hover: var(--c-secondary);
}

.frame-layout-red {
  --c-element: var(--c-fourth);
  --c-element-hover: var(--c-primary-dark);
}

.swiper-button-prev,
.swiper-button-next {
  background: rgb(var(--c-element));
  width: 50px;
  height: 50px;
  border-radius: 25px;
  cursor: pointer;
  z-index: 10;
  --swiper-navigation-size: 20px;
}

.swiper-button-prev::after,
.swiper-button-next::after {
  color: rgb(var(--c-neutral-lightest));
  content: '\f323';
  font-family: 'FaSharpRegular';
}

.swiper-button-next::after {
  content: '\f324';
}

/* Inhalte dunkelgrün */
.frame-layout-darkgreen .font__far,
.frame-layout-darkgreen .font__fas,
.frame-layout-darkgreen a,
.frame-layout-darkgreen h3,
.frame-layout-darkgreen h3 a,
.frame-layout-darkgreen h4,
.frame-layout-darkgreen h4 a,
.frame-layout-darkgreen .font__button a,
.frame-layout-darkgreen a.font__button {
  color: rgb(var(--c-secondary));
}

.frame-layout-darkgreen table.ce-table th,
.frame-layout-darkgreen table.ce-table caption {
  color: rgb(var(--c-neutral-lightest));
  background: rgb(var(--c-secondary));
}

.frame-layout-darkgreen a:hover,
.frame-layout-darkgreen h3 a:hover,
.frame-layout-darkgreen h4 a:hover {
  color: rgb(var(--c-third));
}

.frame-layout-darkgreen .font__button,
.frame-layout-darkgreen input[type="submit"] {
  color: rgb(var(--c-secondary));
  border: 2px solid rgb(var(--c-secondary));
}

.no-touch .frame-layout-darkgreen .font__button:hover,
.no-touch .frame-layout-darkgreen input[type="submit"]:hover {
  background: rgb(var(--c-third));
  border: 2px solid rgb(var(--c-third));
}

.no-touch .frame-layout-darkgreen .uploads__item:hover .uploads__link,
.no-touch .frame-layout-darkgreen .uploads__item:hover .uploads__title {
  color: rgb(var(--c-neutral-lightest));
}

.no-touch .frame-layout-darkgreen .uploads__item:hover .uploads__arrowpath {
  stroke: rgb(var(--c-neutral-lightest));
}

/* Inhalte grün */
.frame-layout-green .font__far,
.frame-layout-green .font__fas,
.frame-layout-green a,
.frame-layout-green h3,
.frame-layout-green h3 a,
.frame-layout-green h4,
.frame-layout-green h4 a,
.frame-layout-green .font__button a,
.frame-layout-green a.font__button {
  color: rgb(var(--c-third));
}

.frame-layout-green table.ce-table th,
.frame-layout-green table.ce-table caption {
  color: rgb(var(--c-neutral-lightest));
  background: rgb(var(--c-third));
}

.frame-layout-green a:hover,
.frame-layout-green h3 a:hover,
.frame-layout-green h4 a:hover {
  color: rgb(var(--c-secondary));
}

.frame-layout-green .font__button,
.frame-layout-green input[type="submit"] {
  color: rgb(var(--c-third));
  border: 2px solid rgb(var(--c-third));
}

.no-touch .frame-layout-green .font__button:hover,
.no-touch .frame-layout-green input[type="submit"]:hover {
  background: rgb(var(--c-secondary));
  border: 2px solid rgb(var(--c-secondary));
}

.no-touch .frame-layout-green .uploads__item:hover .uploads__link,
.no-touch .frame-layout-green .uploads__item:hover .uploads__title {
  color: rgb(var(--c-neutral-lightest));
}

/* Inhalte rot */
.frame-layout-red .font__far,
.frame-layout-red .font__fas,
.frame-layout-red a,
.frame-layout-red h3,
.frame-layout-red h3 a,
.frame-layout-red h4,
.frame-layout-red h4 a,
.frame-layout-red .font__button a,
.frame-layout-red a.font__button {
  color: rgb(var(--c-fourth));
}

.frame-layout-red table.ce-table th,
.frame-layout-red table.ce-table caption {
  color: rgb(var(--c-neutral-lightest));
  background: rgb(var(--c-fourth));
}

.frame-layout-red a:hover,
.frame-layout-red h3 a:hover,
.frame-layout-red h4 a:hover {
  color: rgb(var(--c-primary-dark));
}

.frame-layout-red .font__button,
.frame-layout-red input[type="submit"] {
  color: rgb(var(--c-fourth));
  border: 2px solid rgb(var(--c-fourth));
}

.no-touch .frame-layout-red .font__button:hover,
.no-touch .frame-layout-red input[type="submit"]:hover {
  background: rgb(var(--c-primary-dark));
  border: 2px solid rgb(var(--c-primary-dark));
}

.no-touch .frame-layout-red .uploads__item:hover .uploads__link,
.no-touch .frame-layout-red .uploads__item:hover .uploads__title {
  color: rgb(var(--c-neutral-lightest));
}

.no-touch .frame-layout-red .uploads__item:hover .uploads__arrowpath {
  stroke: rgb(var(--c-neutral-lightest));
}

/* Hintergrund gelb */
.frame-layout-bgyellow {
  background: rgb(var(--c-primary));
}

.frame-layout-bgyellow a {
  color: rgb(var(--c-fourth));
}

.frame-layout-bgyellow,
.frame-layout-bgyellow h1,
.frame-layout-bgyellow h2,
.frame-layout-bgyellow h3,
.frame-layout-bgyellow h4,
.frame-layout-bgyellow h5,
.frame-layout-bgyellow a:hover {
  color: rgb(var(--c-neutral-darker));
}

.frame-layout-bgyellow .font__button,
.frame-layout-bgyellow input[type="submit"] {
  border: 2px solid rgb(var(--c-fourth));
}

.frame-layout-bgyellow .font__button:hover,
.frame-layout-bgyellow input[type="submit"] {
  background: rgb(var(--c-fourth));
  border: 2px solid rgb(var(--c-fourth));
}

.frame-layout-bgyellow .font__button:hover a,
.frame-layout-bgyellow a.font__button:hover,
.frame-layout-bgyellow input[type="submit"] {
  color: rgb(var(--c-neutral-lightest));
}

/* Hintergrund dunkelgrün */
.frame-layout-bgdarkgreen {
  background: rgb(var(--c-secondary));
}

.frame-layout-bgdarkgreen a {
  color: rgb(var(--c-neutral-lightest));
  text-decoration: underline;
}

.frame-layout-bgdarkgreen,
.frame-layout-bgdarkgreen h1,
.frame-layout-bgdarkgreen h2,
.frame-layout-bgdarkgreen h3,
.frame-layout-bgdarkgreen h4,
.frame-layout-bgdarkgreen h5,
.frame-layout-bgdarkgreen a:hover {
  color: rgb(var(--c-neutral-lightest));
}

.frame-layout-bgdarkgreen .font__button,
.frame-layout-bgdarkgreen input[type="submit"] {
  border: 2px solid rgb(var(--c-neutral-lightest));
}

.frame-layout-bgdarkgreen .font__button:hover,
.frame-layout-bgdarkgreen input[type="submit"] {
  background: rgb(var(--c-third));
  border: 2px solid rgb(var(--c-third));
}

.frame-layout-bgdarkgreen .font__button a,
.frame-layout-bgdarkgreen a.font__button,
.frame-layout-bgdarkgreen input[type="submit"] {
  text-decoration: none;
}

.frame-layout-bgdarkgreen .font__button:hover a,
.frame-layout-bgdarkgreen a.font__button:hover,
.frame-layout-bgdarkgreen input[type="submit"] {
  color: rgb(var(--c-neutral-lightest));
}

/* Hintergrund grün */
.frame-layout-bggreen {
  background: rgb(var(--c-third));
}

.frame-layout-bggreen a {
  color: rgb(var(--c-neutral-lightest));
  text-decoration: underline;
}

.frame-layout-bggreen,
.frame-layout-bggreen h1,
.frame-layout-bggreen h2,
.frame-layout-bggreen h3,
.frame-layout-bggreen h4,
.frame-layout-bggreen h5,
.frame-layout-bggreen a:hover {
  color: rgb(var(--c-neutral-lightest));
}

.frame-layout-bggreen .font__button,
.frame-layout-bggreen input[type="submit"] {
  border: 2px solid rgb(var(--c-neutral-lightest));
}

.frame-layout-bggreen .font__button:hover,
.frame-layout-bggreen input[type="submit"] {
  background: rgb(var(--c-secondary));
  border: 2px solid rgb(var(--c-secondary));
}

.frame-layout-bggreen .font__button a,
.frame-layout-bggreen a.font__button,
.frame-layout-bggreen input[type="submit"] {
  text-decoration: none;
}

.frame-layout-bggreen .font__button:hover a,
.frame-layout-bggreen a.font__button:hover,
.frame-layout-bggreen input[type="submit"] {
  color: rgb(var(--c-neutral-lightest));
}

/* Hintergrund rot */
.frame-layout-bgred {
  background: rgb(var(--c-fourth));
}

.frame-layout-bgred a {
  color: rgb(var(--c-neutral-lightest));
  text-decoration: underline;
}

.frame-layout-bgred,
.frame-layout-bgred h1,
.frame-layout-bgred h2,
.frame-layout-bgred h3,
.frame-layout-bgred h4,
.frame-layout-bgred h5,
.frame-layout-bgred a:hover {
  color: rgb(var(--c-neutral-lightest));
}

.frame-layout-bgred .font__button,
.frame-layout-bgred input[type="submit"] {
  border: 2px solid rgb(var(--c-neutral-lightest));
}

.frame-layout-bgred .font__button:hover,
.frame-layout-bgred input[type="submit"] {
  background: rgb(var(--c-primary-dark));
  border: 2px solid rgb(var(--c-primary-dark));
}

.frame-layout-bgred .font__button a,
.frame-layout-bgred a.font__button,
.frame-layout-bgred input[type="submit"] {
  text-decoration: none;
}

.frame-layout-bgred .font__button:hover a,
.frame-layout-bgred a.font__button:hover,
.frame-layout-bgred input[type="submit"] {
  color: rgb(var(--c-neutral-darker));
}

/* Mediathek */
.frame-layout-mediathek .gallery {
  grid-gap: 0;
}

.frame-layout-mediathek figure {
  position: relative;
  width: 100%;
  height: 100%;
  display: grid;
}

.frame-layout-mediathek figcaption {
  display: none;
}

.frame-layout-mediathek figure.video {
  margin-bottom: 0;
}


/* =============================================================================
   Template
   ========================================================================== */

/* Footer */
.footer {
  background-color: rgb(var(--c-primary));
  color: rgb(var(--c-neutral-darker));
  position: relative;
}

.footer a,
.footer h3,
.footer h4 {
  color: rgb(var(--c-neutral-darker));
}

.footer a {
  font-family: var(--f-family-2);
  font-weight: 700;
}

.footer a:hover {
  color: rgb(var(--c-fourth));
}

.topbutton {
  position: absolute;
  right: 4%;
  top: -22px;
  background: url(../Images/sprites.svg) no-repeat 0 -45px;
  -webkit-background-size: 200px 200px;
  -moz-background-size: 200px 200px;
  -o-background-size: 200px 200px;
  background-size: 200px 200px;
  width: 115px;
  height: 65px;
  cursor: pointer;
}

.topbutton:hover {
  background: url(../Images/sprites.svg) no-repeat 0 -115px;
  -webkit-background-size: 200px 200px;
  -moz-background-size: 200px 200px;
  -o-background-size: 200px 200px;
  background-size: 200px 200px;
}

/* =============================================================================
   Menus
   ========================================================================== */
/* Leftmenu */
.leftmenu__link {
  color: rgb(var(--c-neutral-dark));
}

.leftmenu__link:hover,
.leftmenu__link.-active {
  color: rgb(var(--c-primary));
}

.leftmenu__list.-level1 > .leftmenu__item {
  border-bottom: 1px solid rgb(var(--c-neutral-light));
}

/* Breadcrumb */
.breadcrumb__link {
  color: rgb(var(--c-neutral-dark));
}

.breadcrumb__link:hover {
  color: rgb(var(--c-primary));
}

/* Metanav */
.metanav__link {
  color: rgb(var(--c-neutral-dark));
}

.metanav__link:hover {
  color: rgb(var(--c-primary));
}

.metanav__nav {
  padding: 0 0 0.6rem 0;
  grid-column: 2 / 5;
}

a.socialnav__twitter svg {
  max-width: 12px;
  max-height: 18px;
  fill: rgb(var(--c-neutral-darker));
}

a.socialnav__twitter:hover svg {
  fill: rgb(var(--c-primary));
}

.social__nav {
  grid-column: 2 / 5;
  padding: 0.6rem 0 0 0;
}

.social__nav a {
  margin-right: 1.5rem;
  color: rgb(var(--c-neutral-darker));
}

.social__nav a:hover {
  color: rgb(var(--c-primary));
}

.metanav.grid__main {
  grid-template-columns: 4% 30px 1fr 30px 4%;
}

/* Instagram Feed */
.instagram-feed-preview {
  display: grid;
  grid-gap: var(--g-gap);
}

.instagram-feed-preview img {
  cursor: pointer;
}

.eapps-instagram-feed-content a[rel="noopener noreferrer nofollow"]::after {
  content: none;
}

/* =============================================================================
   Media Queries
   ========================================================================== */

@media (min-width: 640px) {
  /* Footer */
  .metanav__nav {
    grid-column: 4 / 5;
    justify-self: flex-end;
    padding: 0.6rem 0;
  }

  .social__nav {
    grid-column: 2 / 4;
    padding: 0.6rem 0;
  }

  .metanav.grid__main {
    grid-template-columns: 4% 30px 1fr 2fr 30px 4%;
  }
}

@media (min-width: 1440px) {
  /* Footer */
  .topbutton {
    top: -44px;
    background: url(../Images/sprites.svg) no-repeat 0 -90px;
    -webkit-background-size: 400px 400px;
    -moz-background-size: 400px 400px;
    -o-background-size: 400px 400px;
    background-size: 400px 400px;
    width: 230px;
    height: 130px;
    cursor: pointer;
  }

  .topbutton:hover {
    background: url(../Images/sprites.svg) no-repeat 0 -230px;
    -webkit-background-size: 400px 400px;
    -moz-background-size: 400px 400px;
    -o-background-size: 400px 400px;
    background-size: 400px 400px;
  }
}

@media (min-width: 1580px) {
  .metanav.grid__main {
    grid-template-columns: 1fr 50px 720px 720px 50px 1fr;
  }

  .metanav__nav {
    grid-column: 4 !important;
  }

  .social__nav {
    grid-column: 3;
  }
}