/* Openweather Widget Test */
div.widget-left {
  width: 100%;
  max-width: 720px;
}

div.widget-left-menu__layout {
  padding: 0 1rem;
  margin: 15px auto;
}

div.widget-left__body {
  padding: 1rem;
}

div.widget-left-menu__layout,
div.widget-left__body {
  width: 100%;
}

.calendar__item {
  list-style-type: none;
}

div.widget-left {
  height: auto;
}

div.widget-left-menu--brown {
  background: rgb(var(--c-primary));
}


h2.widget-left-menu__header {
  color: rgb(var(--c-neutral-lightest));
}

.widget-left__graphic path {
  stroke: rgb(var(--c-primary)) !important;
  fill: rgb(var(--c-primary)) !important;
}

h2.widget-left-menu__header:before {
  content: 'Wetter für ';
}

div.widget-left-menu--blue .widget-left-menu__layout,
div.widget-left-menu--brown .widget-left-menu__layout {
  border-bottom: none;
}

div.widget-left-menu__logo_black,
div.widget-left-menu__logo_black_small {
  background: url(https://www.gkmb-cdn.de/img/openweather/new_logo_white.png) 50% 50% no-repeat;
  background-size: 80px 35px;
}

div.widget-left__body {
  flex-direction: column;
  align-items: center;
  gap: var(--g-gap);
  grid-gap: var(--g-gap);
}

img.weather-left-card__img {
  width: 128px;
  height: 128px;
}

div.widget-left__calendar {
  overflow-x: auto;
  width: 100%;
  overflow-y: hidden;
  padding-bottom: 20px;
}

@media (min-width: 500px) {
  div.widget-left__body {
    display: grid;
    grid-template-columns: 128px 1fr;
  }

  div.weather-left-card__row1 {
    flex-direction: column;
    height: auto;
  }

  p.weather-left-card__number {
    padding-top: 10px;
  }
}

@media (min-width: 800px) {
  div.widget-left__body {
    display: flex;
    align-items: center;
    flex-direction: row;
  }

  div.weather-left-card__row1 {
    display: grid;
    grid-template-columns: max-content 1fr;
  }

  div.weather-left-card__row2 {
    padding-top: 10px;
  }

  img.weather-left-card__img {
    width: 100px;
    height: 100px;
  }

  div.widget-left__calendar {
    overflow-x: hidden;
    width: 100%;
    padding-bottom: 0;
  }

  .frame-type-text.frame-layout-10 {
    padding: 3rem;
  }
}

/* =============================================================================
   Tables
   ========================================================================== */

table.ce-table td {
  border: 2px solid rgb(var(--c-neutral-lightest));
  background: rgb(var(--c-neutral-lighter));
  padding: 0.3rem 0.7rem;
}

.content .frame-bg-grey table.ce-table td {
  border: 2px 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));
  border: 2px solid rgb(var(--c-neutral-lightest));
  padding: 0.3rem 0.7rem;
  font-weight: var(--f-weight-sb);
}

.content .frame-bg-grey table.ce-table th,
.content .frame-bg-grey table.ce-table caption {
  border: 2px 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: 0;
}

/* =============================================================================
   Standard contentelements
   ========================================================================== */

/* Uploads */
.uploads__item {
  background-color: rgb(var(--c-neutral-lighter));
}

.content .frame-bg-grey .uploads__item {
  background-color: rgb(var(--c-neutral-lightest));
}

.uploads__link {
  color: rgb(var(--c-neutral-dark));
}

.uploads__title {
  color: rgb(var(--c-primary));
  font-size: var(--f-size-l-1);
}

.uploads__arrowpath {
  stroke: rgb(var(--c-primary));
}

@media (hover: hover) {

  .content .frame-bg-grey .uploads__item:hover,
  .uploads__item:hover {
    background-color: rgb(var(--c-primary));
  }

  .uploads__item:hover,
  .uploads__item:hover .uploads__description,
  .uploads__item:hover .uploads__title {
    color: rgb(var(--c-neutral-lightest));
  }

  .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: rgba(var(--c-primary), 0.6);
}

/* Maps */
.gme-info-window {
  display: grid;
  grid-template-columns: 200px 1fr;
  grid-gap: 1.5rem;
  direction: rtl;
}

.gme-info-window p {
  direction: ltr;
}

.tx-go-maps-ext .gme-info-window img {
  max-width: 100%;
}

.gme-cats {
  background: rgb(var(--c-neutral-lighter));
  padding: 2rem;
}

.category__container {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-gap: 1.5rem;
}

.gm-style-iw {
  max-width: 560px !important;
}


/* Menus */
.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 {
  background: rgb(var(--c-primary));
  color: rgb(var(--c-neutral-lightest));
}

ul.f3-widget-paginator li.current a {
  color: rgb(var(--c-neutral-lightest));
}

@media (hover: hover) {
  ul.f3-widget-paginator li:hover {
    background: rgb(var(--c-primary));
    color: rgb(var(--c-neutral-lightest));
  }

  ul.f3-widget-paginator li:hover 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);
}

/* =============================================================================
   Layout and frame classes
   ========================================================================== */

.frame-space-after-no-space {
  padding-bottom: 0 !important;
}

.frame-space-before-no-space {
  padding-top: 0 !important;
}

.frame-layout-10 > p,
.frame-layout-10 > div,
.frame-layout-10 > figure {
  max-width: 900px;
  margin: 0 auto;
  width: 100%;
}

/* =============================================================================
   Template
   ========================================================================== */

/* Footer */
.footer {
  background: rgb(var(--c-neutral-lightest));
  display: grid;
  grid-template-columns: 4% 1fr 4%;
}

.footer.-grey {
  background: rgb(var(--c-neutral-lighter));
}

.footer__left {
  grid-column: span 2;
  border-bottom-right-radius: var(--b-radius);
  border-top-right-radius: var(--b-radius);
  height: 100%;
  padding: 3rem 2rem 3rem 4vw;
  position: relative;
  top: -3rem;
}

.footer__right {
  grid-column: 2;
  margin-top: -3rem;
}

.footer .grid__main {
  display: block;
}

div.frame-layout-10 {
  background-color: rgb(var(--c-primary)) !important;
}

div.frame-layout-30 {
  background: rgb(var(--c-neutral-light));
}

.frame-layout-10,
.frame-layout-10 h1,
.frame-layout-10 h2,
.frame-layout-10 h3,
.frame-layout-10 h4,
.frame-layout-10 a,
.frame-layout-10 a.font__button,
.frame-layout-10 .font__button a,
.frame-layout-10 .font__button {
  color: rgb(var(--c-neutral-lightest));
}

.frame-layout-10 .font__button {
  border: 2px solid rgb(var(--c-neutral-lightest));

}

.frame-layout-10 .font__button a::after,
.frame-layout-10 a.font__button::after {
  border: 2px solid rgb(var(--c-neutral-lightest));
  color: rgb(var(--c-primary));
  background-color: rgb(var(--c-neutral-lightest));
}

.no-touch .frame-layout-10 .font__button:hover a,
.no-touch .frame-layout-10 a.font__button:hover {
  color: rgb(var(--c-primary));
}

.frame-type-text.frame-layout-10,
.frame-type-text.frame-layout-30 {
  border-radius: var(--b-radius);
  padding: 2.5rem 2rem;
}

.footer.-grey {
  background: rgb(var(--c-neutral-lighter));
}

/* =============================================================================
   Menus
   ========================================================================== */

/* Metanav */
.metanav__link {
  color: rgb(var(--c-neutral-dark));
  text-transform: uppercase;
}

@media (hover: hover) {
  .metanav__link:hover {
    color: rgb(var(--c-primary));
  }
}

.metanav__nav {
  padding: 0.6rem 0;
}

/* =============================================================================
   Media Queries
   ========================================================================== */
@media (min-width: 400px) {
  .footer__right {
    padding-top: calc(50px + (100 - 50) * ((100vw - 400px) / (1600 - 400)));
    padding-bottom: calc(50px + (100 - 50) * ((100vw - 400px) / (1600 - 400)));
  }
}

@media (min-width: 640px) {
  /* Footer */
  .footer .grid__col.-w33:first-child {
    grid-column: span 5;
  }

  .footer .grid__col.-w33:nth-child(2) {
    grid-column: span 4;
  }

  .footer .grid__col.-w33:nth-child(3) {
    grid-column: span 3;
  }
}

@media (min-width: 1280px) {
  /* Footer */
  .footer {
    grid-template-columns: 4% 30% 3rem 1fr 4%;
  }

  .footer__left {
    padding: 4rem 3rem 4rem 4vw;
  }

  .footer__right {
    grid-column: 4;
    margin-top: 0;
  }
}

@media (min-width: 1580px) {
  /* Footer */
  .footer {
    grid-template-columns: 1fr 440px 80px 920px 1fr;
  }

  .footer__left {
    padding: 4rem 3rem 4rem calc(50vw - 720px);
  }

  .footer__right {
    padding-top: 100px;
    padding-bottom: 100px;
  }
}