/* =============================================================================
   Tables
   ========================================================================== */

table.ce-table td {
  border: 4px solid rgb(var(--c-neutral-lightest));
  background: rgb(var(--c-neutral-lighter));
  padding: 0.3rem 0.7rem;
}

.content > .frame-default:nth-child(2n) table.ce-table td {
  border: 4px solid rgb(var(--c-neutral-lighter));
  background: rgb(var(--c-neutral-lightest));
}

table.ce-table th,
table.ce-table caption {
  color: rgb(var(--c-neutral-lightest));
  background: rgb(var(--c-primary));
  font-family: var(--f-family);
  border: 4px solid rgb(var(--c-neutral-lightest));
  text-transform: uppercase;
  padding: 0.3rem 0.7rem;
}

.content > .frame-type-gridelements_pi1:nth-child(2n) table.ce-table th,
.content > .frame-type-gridelements_pi1:nth-child(2n) table.ce-table caption {
  border: 4px solid rgb(var(--c-neutral-lighter));
}

.ios-scrollbar {
  padding-bottom: 20px;
  position: relative;
}

.ios-scrollbar::after {
  content: '\f178';
  font-family: 'FaLight', sans-serif;
  font-size: 15px;
  line-height: 100%;
  position: absolute;
  right: 0;
  bottom: 5px;
}

/* Footer */
.footer {
  background: rgb(var(--c-neutral-darker));
  color: rgb(var(--c-neutral-lightest));
  position: relative;
  overflow: hidden;
}

.footer img.schwan {
  display: block;
  position: absolute;
  left: -5.5vw;
  top: 10rem;
  height: auto;
  z-index: 0;
  opacity: 0.1;
  width: auto;
  object-fit: inherit;
  grid-column: span 5;
}

.footer > .grid__main {
  position: relative;
  z-index: 1;
}

.no-touch .footer a:hover {
  color: rgb(var(--c-neutral));
}

.footer .fa-brands {
  font-size: 40px;
}

.footer .-w33:last-child figure,
.footer .-w33:last-child img {
  width: 100%;
}

.footer p,
.footer h1,
.footer h2,
.footer h3,
.footer h4,
.footer h5,
.footer a {
  color: rgb(var(--c-neutral-lightest));
}

.footer a::after {
  font-size: 12px;
}

/* Metanav */
.metanav {
  margin-top: 2rem;
}

.metanav__link {
  color: rgb(var(--c-neutral-lightest));
  text-transform: uppercase;
}

.metanav__link:hover {
  color: rgb(var(--c-neutral-lighter));
}

.metanav__nav {
  padding: 0;
}

/* =============================================================================
   Standard contentelements
   ========================================================================== */

/* Uploads */
.uploads__item {
  background-color: rgb(var(--c-neutral-lighter));
}

.content > .frame:nth-child(2n) .uploads__item {
  background-color: rgb(var(--c-neutral-lightest));
}

.uploads__link {
  color: rgb(var(--c-neutral-dark));
}

.uploads__title {
  color: rgb(var(--c-neutral-darker));
  font-size: var(--f-size-l-1);
}

.uploads__arrowpath {
  fill: rgb(var(--c-neutral-dark));
  stroke-width: 0;
}

.no-touch .content > .frame:nth-child(2n) .uploads__item:hover,
.no-touch .uploads__item:hover {
  background-color: rgb(var(--c-primary));
}

.no-touch .uploads__item:hover,
.no-touch .uploads__item:hover .uploads__title {
  color: rgb(var(--c-neutral-lightest));
}

.no-touch .uploads__item:hover .uploads__arrowpath {
  fill: rgb(var(--c-neutral-lightest));
}

/* 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-neutral-darkest), 0.6);
}

/* Menus */
.frame-type-menu_pages li a,
.frame-type-menu_sitemap li a {
  color: rgb(var(--c-neutral-dark));
}

.frame-type-menu_section > ul {
  padding: 0;
}

.frame-type-menu_section > ul > li {
  list-style-type: none;
}

.frame-type-menu_section > ul > li > a {
  text-transform: uppercase;
  margin-bottom: 0.5rem;
  display: block;
}

.frame-type-menu_section > ul > li ul {
  padding-left: 20px;
}

.frame-type-menu_section > ul > li ul a {
  color: rgb(var(--c-neutral-darker));
}

.frame-type-menu_section > ul > li ul a:hover {
  color: rgb(var(--c-primary));
}

/* T3ddy */
a.t3ddy-tab-title {
  text-transform: none;
  line-height: 100%;
}

.content > .frame-type-gridelements_pi1 a.t3ddy-tab-title,
.content > .frame-type-gridelements_pi1:nth-child(2n) a.t3ddy-tab-title {
  -moz-box-shadow: none;
  -webkit-box-shadow: none;
  box-shadow: none;
}

.content > .frame-type-gridelements_pi1 a.t3ddy-tab-title:hover,
.content > .frame-type-gridelements_pi1 .ui-state-active a.t3ddy-tab-title {
  -moz-box-shadow: inset 0 -2px 0 0 rgb(var(--c-primary));
  -webkit-box-shadow: inset 0 -2px 0 0 rgb(var(--c-primary));
  box-shadow: inset 0 -2px 0 0 rgb(var(--c-primary));
}

a.t3ddy-tab-title::after {
  border-bottom: none;
}

a.t3ddy-tab-title:hover::after,
.ui-state-active a.t3ddy-tab-title::after {
  border-bottom: 2px solid rgb(var(--c-primary));
}

ul.t3ddy-tabContainer-tabList .ui-tab {
  margin-bottom: 1.2rem;
}

.content
> .frame-type-gridelements_pi1:nth-child(2n)
.t3ddy-accordion-header:hover,
.content
> .frame-type-gridelements_pi1:nth-child(2n)
.t3ddy-accordion-header.ui-accordion-header-active {
  background: rgb(var(--c-primary));
}

/* Gridelements */
.frame-layout-30 .frame-type-textmedia {
  position: relative;
  overflow: hidden;
  max-height: 400px;
}

.frame-layout-30 .gallery__image {
  object-fit: cover;
  width: 100%;
  max-width: inherit;
  height: 100%;
}

.frame-layout-30 .gallery__item {
  height: 50vh;
}

.frame-layout-30 .gallery__item::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 80%;
  left: 0;
  bottom: 0;
  z-index: 1;
  /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#000000+0,000000+100&0+0,0.4+49,0.5+100 */
  background: -moz-linear-gradient(
          top,
          rgba(0, 0, 0, 0) 0%,
          rgba(0, 0, 0, 0.4) 49%,
          rgba(0, 0, 0, 0.5) 100%
  ); /* FF3.6-15 */
  background: -webkit-linear-gradient(
          top,
          rgba(0, 0, 0, 0) 0%,
          rgba(0, 0, 0, 0.4) 49%,
          rgba(0, 0, 0, 0.5) 100%
  ); /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(
          to bottom,
          rgba(0, 0, 0, 0) 0%,
          rgba(0, 0, 0, 0.4) 49%,
          rgba(0, 0, 0, 0.5) 100%
  ); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=0); /* IE6-9 */
}

.frame-layout-30 .textpic__bodytext {
  position: absolute;
  bottom: 2rem;
  left: 1rem;
  right: 1rem;
  z-index: 2;
}

.frame-layout-30 .headline.-small,
.frame-layout-30 .headline.-large {
  margin-bottom: 0.5rem;
}

.frame-layout-30 p,
.frame-layout-30 h2,
.frame-layout-30 h3 {
  color: rgb(var(--c-neutral-lightest));
}

.frame-layout-30 p {
  line-height: 150%;
}

.frame-layout-30 h3 {
  font-family: var(--f-family-i);
}

/* Paginator */
ul.f3-widget-paginator {
  padding: 0;
  display: flex;
  flex-wrap: wrap;
}

ul.f3-widget-paginator li {
  list-style-type: none;
  width: 40px;
  height: 40px;
  line-height: 40px;
  text-align: center;
  margin: 0 5px 5px 0;
  background: rgb(var(--c-neutral-lighter));
}

ul.f3-widget-paginator a {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
  width: 100%;
}

.no-touch ul.f3-widget-paginator li:hover,
ul.f3-widget-paginator li.current {
  background: rgb(var(--c-primary));
  color: rgb(var(--c-neutral-lightest));
}

.no-touch ul.f3-widget-paginator li:hover a,
ul.f3-widget-paginator li.current a {
  color: rgb(var(--c-neutral-lightest));
}

ul.f3-widget-paginator li.previous a::after {
  content: "\f053";
  font-family: "FaLight", sans-serif;
  font-weight: normal;
  font-style: normal;
  text-decoration: inherit;
  -webkit-font-smoothing: antialiased;
  height: auto;
  line-height: normal;
  vertical-align: baseline;
  font-size: var(--f-size);
}

ul.f3-widget-paginator li.next a::after {
  content: "\f054";
  font-family: "FaLight", sans-serif;
  font-weight: normal;
  font-style: normal;
  text-decoration: inherit;
  -webkit-font-smoothing: antialiased;
  height: auto;
  line-height: normal;
  vertical-align: baseline;
  font-size: var(--f-size);
}


/* =============================================================================
   Media Queries
   ========================================================================== */
@media (min-width: 640px) {

  /* Gridelements*/
  .frame-layout-30 > .grid__12 {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr 1fr;
  }

  .frame-layout-30 .frame-type-textmedia {
    max-height: inherit;
    height: 100%;
  }

  .frame-layout-30 .grid__col:last-child .frame-type-textmedia,
  .frame-layout-30 .grid__col:nth-child(2) .frame-type-textmedia {
    max-height: 430px;
  }

  .frame-layout-30 .textpic,
  .frame-layout-30 .gallery {
    display: block;
    height: 100%;
  }

  .frame-layout-30 .gallery__item {
    height: 100%;
  }

  .frame-layout-30 .grid__col {
    grid-column: auto;
  }

  .frame-layout-30 .grid__col:first-child {
    grid-row: span 2;
  }
}

@media (min-width: 1024px) {
  .frame-layout-30 .textpic__bodytext {
    bottom: 5rem;
    left: 2rem;
    right: 2rem;
  }

  .footer img.schwan {
    height: 90%;
    top: inherit;
    bottom: -10%;
  }
}


@media (min-width: 1580px) {
  /* Footer */
  .footer .-w33 {
    grid-column: span 5;
  }

  .footer .-w33:first-child {
    grid-column: span 3;
  }

  .footer .-w33:last-child {
    grid-column: span 4;
  }
}
