/* =============================================================================
   Tables
   ========================================================================== */

table.ce-table td {
  border: 2px solid transparent;
  background: rgb(var(--c-neutral-lighter));
  padding: 0.3rem 1.5rem;
}

table.ce-table th,
table.ce-table caption {
  color: rgb(var(--c-neutral-lightest));
  background: rgb(var(--c-primary));
  font-family: var(--f-family);
  font-weight: var(--f-weight-n);
  border: 2px solid transparent;
  text-transform: uppercase;
  padding: 0.3rem 1.5rem;
}

.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;
}

.frame-type-table.frame-layout-10 {
  padding: 0;
}

.frame-type-table.frame-layout-10 tbody td {
  color: rgb(var(--c-neutral-dark));
}

table.ce-table.ce-table-tab333333 tr td:first-child {
  width: 33.3%;
}

table.ce-table.ce-table-tab333333 tr td:nth-child(2) {
  width: 33.3%;
}

table.ce-table.ce-table-tab333333 tr td:nth-child(3) {
  width: 33.3%;
}

/* =============================================================================
   Standard contentelements
   ========================================================================== */

/* Uploads */
.uploads__item {
  background-color: rgb(var(--c-neutral-lighter));
  padding: 1rem calc(1.5rem + 22px) 1rem 1rem;
}

.uploads__link {
  color: rgb(var(--c-neutral-dark));
}

.uploads__title {
  color: rgb(var(--c-primary));
  text-transform: uppercase;
  font-size: var(--f-size-l-1);
}

div.uploads__footer {
  margin-top: 0;
  display: grid;
  align-items: center;
  grid-template-columns: max-content 1fr;
}

.uploads__arrowpath {
  stroke: rgb(var(--c-primary));
}

.uploads__text {
  display: grid;
  grid-template-columns: 1fr max-content;
  align-items: center;
  grid-gap: 0 var(--g-gap-s);
}

.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 {
  stroke: 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: rgb(var(--c-primary), 0.6);
}

/* Menus */

.languagemenu__link.-na img {
  filter: grayscale(1) brightness(2);
}

.languagemenu img {
  vertical-align: top;
}

.languagemenu {
  width: 30px;
  margin: 0 var(--g-gap-s);
}

.frame-type-menu_pages li a,
.frame-type-menu_sitemap li a {
  color: rgb(var(--c-neutral-dark));
}

/* 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;
  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%;
}

ul.f3-widget-paginator li.current {
  display: flex;
  justify-content: center;
  align-items: center;
}

.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";
  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";
  font-style: normal;
  text-decoration: inherit;
  -webkit-font-smoothing: antialiased;
  height: auto;
  line-height: normal;
  vertical-align: baseline;
  font-size: var(--f-size);
}

/* Maps */
form input.js-gme-submit {
  border-radius: var(--b-radius-s);
}

input.js-gme-saddress {
  width: auto;
}

::placeholder {
  /*In Chrome, Firefox, Opera, Safari 10.1+ */
  color: rgb(var(--c-primary));
  opacity: 1;
  /*For Firefox */
}

:-ms-input-placeholder {
  /* Internet Explorer 10-11 */
  color: rgb(var(--c-primary));
}

::-ms-input-placeholder {
  /* Microsoft Edge */
  color: rgb(var(--c-primary));
}

/* Text-Media */
.frame-type-textmedia img {
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.frame-type-textmedia .gallery {
  align-self: normal;
}

/* Accordion */
.accordion.-vertical .accordion__button {
  background: rgb(var(--c-neutral-lighter));
  color: rgb(var(--c-primary));
  font-size: var(--f-size-l-2);
  text-transform: uppercase;
  font-family: var(--f-family);
  font-weight: var(--f-weight-n);
  padding: 1rem 4rem 1rem 1rem;
  border: none;
  margin-bottom: 3px;
}

.content div.frame-layout-20 .accordion.-vertical .accordion__button {
  background: rgb(var(--c-neutral-lightest));
  color: rgb(var(--c-primary));
  font-size: var(--f-size-l-2);
  text-transform: uppercase;
  font-family: var(--f-family);
  font-weight: var(--f-weight-n);
  padding: 1rem 4rem 1rem 1rem;
  border: none;
  margin-bottom: 3px;
}

.accordion.-vertical .accordion__header::after {
  color: rgb(var(--c-primary));
}

.accordion.-vertical .accordion__content {
  padding: 1.2rem;
}

@media (hover: hover) {
  .content div.frame-layout-20 .accordion.-vertical .accordion__button:hover,
  .accordion.-vertical .accordion__button:hover {
    background: rgb(var(--c-primary));
    color: rgb(var(--c-neutral-lightest));
  }

  .accordion.-vertical .accordion__header:hover::after {
    color: rgb(var(--c-neutral-lightest));
  }
}

/*Footer*/
.footer .grid__col.-w25:first-child {
  grid-column: 1/13;
  grid-row: 3;
}

.footer .grid__col.-w25:nth-child(2) {
  grid-column: 1/13;
  grid-row: 1;
}

.footer .grid__col.-w25:nth-child(3) {
  grid-column: 1/13;
  grid-row: 2;
  padding-top: 2rem;
}

.footer .grid__col.-w25:nth-child(4) {
  grid-column: 1/13;
  grid-row: 4;
  padding-top: 2rem;
}

input#newsletterregistration__mail {
  margin: 0;
  font-size: var(--f-size-s-1);
  height: 2.2rem;
  border: none;
  color: rgb(var(--c-primary));
}

.newsletterregistration {
  display: grid;
  grid-template-columns: 80% 1fr;
  grid-gap: 10px;
  max-width: 260px;
}

footer .newsletterregistration .newsletterregistration__submit {
  text-transform: uppercase;
  text-align: center;
  border-radius: var(--b-radius-s);
  -webkit-border-radius: var(--b-radius-s);
  -moz-border-radius: var(--b-radius-s);
  background-color: rgb(var(--c-neutral-light));
  color: rgb(var(--c-neutral-lightest));
  padding: 0.3rem 1.1rem;
  line-height: 1.7;
  font-size: var(--f-size-s-1);
  margin: 0;
  border: none;
}

footer .newsletterregistration .newsletterregistration__submit:hover {
  background: rgb(var(--c-neutral-darkest));
  color: rgb(var(--c-neutral-lightest));
}

footer.frame-layout-10 {
  background-color: rgb(var(--c-primary));
  padding: 0;
}

.footer {
  padding-top: 62px;
  padding-bottom: 62px;
  background: rgb(var(--c-neutral-lightest));
}

.footer .font__button {
  text-transform: none;
  font-family: var(--f-family);
  font-weight: var(--f-weight-n);
  border-radius: var(--b-radius-s);
  -webkit-border-radius: var(--b-radius-s);
  -moz-border-radius: var(--b-radius-s);
}

.footer .font__button a,
.footer a.font__button {
  padding: 0.7rem 0.6rem;
}

/* =============================================================================
   Media Queries
   ========================================================================== */
@media (min-width: 400px) {
  /* Footer */
  .footer .grid__col.-w25:first-child {
    grid-column: 1/7;
    grid-row: 1;
  }

  .footer .grid__col.-w25:nth-child(2) {
    grid-column: 7/13;
  }

  .footer .grid__col.-w25:nth-child(3) {
    grid-row: 3;
  }

  .footer .grid__col.-w25:nth-child(4) {
    grid-row: 4;
  }

  .newsletterregistration {
    max-width: 500px;
  }

  .footer {
    padding-top: calc(50px + (125 - 62) * ((100vw - 400px) / (1600 - 400)));
    padding-bottom: calc(50px + (125 - 62) * ((100vw - 400px) / (1600 - 400)));
  }
}

@media (min-width: 640px) {
  /*Footer*/
  .footer .grid__col.-w25:first-child {
    grid-column: 1/4;
    grid-row: 1;
  }

  .footer .grid__col.-w25:nth-child(2) {
    grid-column: 4/8;
    grid-row: 1;
  }

  .footer .grid__col.-w25:nth-child(3) {
    grid-column: 1/13;
    grid-row: 2;
    padding-top: 2rem;
  }

  .footer .grid__col.-w25:nth-child(4) {
    grid-column: 8/13;
    grid-row: 1;
    padding-top: 0;
  }
}

@media (min-width: 800px) {
  /*Footer*/
  .footer a.font__button,
  .footer .font__button a {
    border-radius: var(--b-radius-s);
    -webkit-border-radius: var(--b-radius-s);
    -moz-border-radius: var(--b-radius-s);
  }

  /* Accordion */
  .accordion.-vertical .accordion__content {
    padding: 3rem 1.2rem;
  }
}

@media (min-width: 1024px) {
  .uploads .uploads__link {
    grid-column: span 6;
  }
}

@media (min-width: 1280px) {
  /*Footer*/
  .footer .grid__col.-w25:first-child {
    grid-column: 1/3;
    grid-row: 1;
  }

  .footer .grid__col.-w25:nth-child(2) {
    grid-column: 3/6;
    grid-row: 1;
  }

  .footer .grid__col.-w25:nth-child(3) {
    grid-column: 6/10;
    grid-row: 1;
    padding-top: 0;
  }

  .footer .grid__col.-w25:nth-child(4) {
    grid-column: 10/13;
    grid-row: 1;
    padding-top: 0;
  }

  .newsletterregistration {
    max-width: none;
  }

  .frame-maxwidth > * {
    max-width: 1100px;
    margin: 0 auto;
  }
}

@media (min-width: 1580px) {
  /*Footer*/
  .footer {
    padding-top: 125px;
    padding-bottom: 125px;
  }

  .newsletterregistration {
    grid-template-columns: 82% 1fr;
  }
}
