@charset "UTF-8";
/*
Theme Name: fw-child2
Theme URI: 
Author: frankfurtwest
Author URI: 
Description: 
Requires at least: 6.7
Tested up to: 6.7
Requires PHP: 5.7
Version: 
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Template: frankfurtwest
Text Domain: fw-child2
Tags: 

Organisierte Halbbildung
*/
html {
  margin: 0 !important;
  padding: 0 !important;
}

html, body {
  overflow-x: hidden !important;
}

* {
  box-sizing: border-box;
}

::-moz-selection {
  color: #fff;
  background: rgba(255, 0, 0, 0.8);
}

::selection {
  color: #fff;
  background: rgba(255, 0, 0, 0.8);
}

/* Silbentrennung */
h2,
h3,
p,
li,
th, td,
.x {
  -ms-word-break: break-all;
  word-break: break-all;
  /* Non standard for WebKit */
  word-break: break-word;
  -webkit-hyphens: auto;
  hyphens: auto;
}

h1:not(.wp-block-site-title), h2, h3, h4 {
  line-height: 0.9 !important;
}
h1:not(.wp-block-site-title):first-child, h2:first-child, h3:first-child, h4:first-child {
  margin-top: 0 !important;
}

h3,
h4,
h5,
.x {
  color: #000;
}

p:empty,
div.col-12:empty,
div.col-md-6:empty,
.x:empty {
  display: none !important;
}

.wp-block-site-title {
  margin-top: 1em !important;
  max-width: 95% !important;
  word-break: keep-all !important;
  -webkit-hyphens: none !important;
          hyphens: none !important;
  letter-spacing: -0.05em;
}

/* Logo */
.wp-block-site-logo {
  position: fixed !important;
  top: 5%;
  left: calc(4px + 0.25%);
  z-index: -2;
}
.wp-block-site-logo .custom-logo {
  width: clamp(12vw, 10vw + 5%, 10vw);
  width: 12vw;
}

.wp-block-cover,
.wp-block-cover-image {
  min-height: 200px;
}

img, video, figure {
  max-width: 100%;
  height: auto;
}

/* section headlines startpage */
.home section > hr.wp-block-separator {
  height: 8px !important;
  margin-top: var(--wp--preset--spacing--10) !important;
  border: 0 !important;
}
.home section h2 a {
  color: var(--wp--preset--color--tertiary) !important;
  text-decoration: none;
}
.home section h2 a:hover, .home section h2 a:focus, .home section h2 a:active {
  color: var(--wp--preset--color--secondary) !important;
  color: rgba(255, 51, 0, 0.5) !important;
}
.home section h2:has(a:hover, .home section h2:focus, .home section h2:active) + hr.wp-block-separator {
  background-color: rgba(255, 51, 0, 0.5) !important;
}

/*Buttons */
.wp-block-button a.wp-block-button__link.small {
  padding: 0.2em 0.4em !important;
}
.wp-block-button.is-style-outline a.wp-block-button__link:hover, .wp-block-button.is-style-outline a.wp-block-button__link:focus, .wp-block-button.is-style-outline a.wp-block-button__link:active {
  background-color: #000 !important;
  color: #fff !important;
  border-color: #000 !important;
}

/**/
.has-custom-primary-background-color + .wp-block-cover__inner-container .wp-block-button a:hover, .has-custom-primary-background-color + .wp-block-cover__inner-container .wp-block-button a:focus, .has-custom-primary-background-color + .wp-block-cover__inner-container .wp-block-button a:active {
  color: #fff !important;
  background-color: #000 !important;
}

/**/
.has-contrast-background-color + .wp-block-cover__inner-container .wp-block-button {
  color: #fff !important;
}
.has-contrast-background-color + .wp-block-cover__inner-container .wp-block-button a.wp-block-button__link:hover, .has-contrast-background-color + .wp-block-cover__inner-container .wp-block-button a.wp-block-button__link:focus, .has-contrast-background-color + .wp-block-cover__inner-container .wp-block-button a.wp-block-button__link:active {
  color: #fff !important;
  background-color: #000 !important;
}

/**/
/* mobile menu */
.fw-menu-main {
  z-index: 111;
  /** /
  .wp-block-navigation__responsive-container-close {
      position: fixed;
      top: 4rem;
      right: 2rem;

      &::before {
          content: "";
          position: fixed;
          width: 100vw;
          height: 100vh;
          top: 0;
          left: 0;
          background-color: #0f0;
          z-index: -22222;
      }
  }
  /**/
}
.fw-menu-main .wp-block-navigation__responsive-container {
  background: rgba(255, 255, 255, 0.8) !important;
}
.fw-menu-main .wp-block-navigation__responsive-container-open,
.fw-menu-main .wp-block-navigation__responsive-container-close {
  position: fixed;
  top: 4rem;
  right: 2rem;
}
.fw-menu-main .wp-block-navigation__responsive-close {
  z-index: 3333;
  width: 100% !important;
  margin-right: 0 !important;
  overflow-x: hidden;
}
.fw-menu-main .wp-block-navigation__responsive-close .wp-block-navigation__responsive-dialog {
  width: 100% !important;
  margin-right: 0 !important;
  padding-right: 1rem;
}
.fw-menu-main .wp-block-navigation__responsive-close .wp-block-navigation__responsive-dialog a {
  font-size: var(--wp--preset--font-size--medium);
  font-weight: 500;
  color: rgba(0, 0, 0, 0.4) !important;
}
.fw-menu-main .wp-block-navigation__responsive-close .wp-block-navigation__responsive-dialog a:hover, .fw-menu-main .wp-block-navigation__responsive-close .wp-block-navigation__responsive-dialog a:focus, .fw-menu-main .wp-block-navigation__responsive-close .wp-block-navigation__responsive-dialog a:active {
  color: rgb(0, 0, 0);
}
.fw-menu-main .wp-block-navigation__responsive-close .wp-block-navigation__responsive-dialog .current-menu-item a {
  color: rgb(0, 0, 0) !important;
}
.fw-menu-main .wp-block-navigation__responsive-close::after {
  content: "";
  position: absolute;
  top: 2rem;
  right: -250px;
  z-index: -111;
  background: #f00;
  width: 500px;
  height: 500px;
  border-radius: 2222px;
  transition: all 1s ease-in-out;
}
.fw-menu-main .has-modal-open {
  overflow-x: hidden;
}

/* fw-overlay */
.fw-overlay {
  position: relative;
}
.fw-overlay figure.wp-block-post-featured-image + div {
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0.2em;
  overflow-y: hidden;
  line-height: 0.9 !important;
  transition: all 0.4s;
  opacity: 0;
}
.fw-overlay figure.wp-block-post-featured-image + div:hover {
  opacity: 1;
  background-color: rgba(0, 0, 0, 0.5);
}
.fw-overlay figure.wp-block-post-featured-image + div h3 a {
  top: 0;
  width: 100%;
  height: 100%;
  display: inline-block;
  color: #fff !important;
  line-height: 0.8 !important;
  text-decoration: none;
  font-size: calc(var(--wp--preset--font-size--large) * 0.8);
}
.fw-overlay figure.wp-block-post-featured-image + div h3 a:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}
.fw-overlay figure.wp-block-post-featured-image + div h3 + p {
  color: #fff;
}

/* hscroller */
.hscroller ul, .hscroller #vsel {
  --_spacer: .25rem;
  display: grid;
  grid-auto-flow: column !important;
  grid-auto-columns: 28% !important;
  grid-template-columns: none !important;
  /** /
  grid-template-rows: 100%;
  /**/
  gap: calc(2px + 0.5%) !important;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scroll-snap-type: inline mandatory;
  scroll-padding-inline: var(--_spacer, 0.4rem);
  padding-bottom: 1rem;
  /** /
  @media (max-width: 575px) {
      grid-auto-columns: 100% !important;
      grid-auto-flow: row !important;
      scroll-padding-inline: 50em !important;
      gap: calc(var(--_spacer) * 2) !important;
  }
  /**/
}
@media (max-width: 1099px) {
  .hscroller ul, .hscroller #vsel {
    grid-auto-columns: 30% !important;
  }
}
@media (max-width: 991px) {
  .hscroller ul, .hscroller #vsel {
    grid-auto-columns: 36% !important;
  }
}
@media (max-width: 767px) {
  .hscroller ul, .hscroller #vsel {
    grid-auto-columns: 46% !important;
  }
}
@media (max-width: 575px) {
  .hscroller ul, .hscroller #vsel {
    grid-auto-columns: 72% !important;
  }
}
.hscroller ul li, .hscroller ul .vsel-content, .hscroller #vsel li, .hscroller #vsel .vsel-content {
  scroll-snap-align: start;
  inline-size: 100%;
}
.hscroller ul li img, .hscroller ul .vsel-content img, .hscroller #vsel li img, .hscroller #vsel .vsel-content img {
  -o-object-fit: cover;
  object-fit: cover;
}
.hscroller ul li::marker, .hscroller ul .vsel-content::marker, .hscroller #vsel li::marker, .hscroller #vsel .vsel-content::marker {
  content: "";
  display: none;
}

/* buchinfo */
.buchinfo.single .reihe > span {
  box-shadow: 0px -1.25em 0px 0px rgb(220, 185, 115) inset;
  color: #fff;
}
.buchinfo.single .reihe > span a {
  color: #fff !important;
}
.buchinfo.single .reihe > span:hover {
  box-shadow: 0px -1.25em 0px 0px rgba(46, 183, 163, 0.5) inset;
}
.buchinfo.single h1 {
  margin-top: 0.2em;
  margin-bottom: 0.4em;
}
.buchinfo.single .buchdetails {
  margin-top: 1em;
}
.buchinfo.single p {
  margin-top: 0.2em;
  margin-bottom: 0.4em;
  line-height: 1;
}
.buchinfo.single p.post-tags a, .buchinfo.single p.autor_innen a, .buchinfo.single p.reihe a {
  text-decoration: none;
}
.buchinfo.single p.post-tags a:not(:last-child)::after, .buchinfo.single p.autor_innen a:not(:last-child)::after, .buchinfo.single p.reihe a:not(:last-child)::after {
  content: ", ";
  color: var(--wp--preset--color--secondary);
}
.buchinfo.single p.autor_innen {
  font-family: var(--wp--preset--font-family--sofia-sans-extra-condensed);
}
.buchinfo.single p.autor_innen a {
  font-weight: 700;
}
.buchinfo.single p.verlag {
  font-weight: 500;
}
.buchinfo.single p.verlag a {
  font-weight: 500;
}
.buchinfo.single p.preis {
  line-height: 1;
}
.buchinfo.single p.preis .waehrung, .buchinfo.single p.preis .betrag {
  font-weight: bold;
}
.buchinfo.single p.preis .betrag {
  font-size: var(--wp--preset--font-size--large);
}
.buchinfo.single p.preis .mwst {
  font-size: var(--wp--preset--font-size--small);
}

.single:has(.bereich) h1.titel {
  margin-bottom: 0.1em;
}

/* posts-navigation */
.posts-navigation {
  position: fixed;
  top: 66%;
  left: 1%;
  height: 0.1px;
  width: 98%;
  margin-top: 0 !important;
  z-index: 2222;
}
.posts-navigation > div {
  height: 0.1px;
}
.posts-navigation .wp-block-post-navigation-link {
  position: relative;
  color: var(--wp--preset--color--base) !important;
}
.posts-navigation .wp-block-post-navigation-link a {
  display: flex;
  --mywh: calc(2vw + 2rem);
  border-radius: 1111px;
  width: var(--mywh);
  height: var(--mywh);
  background: #000;
  border: 2px solid rgba(255, 255, 255, 0.4);
  /**/
  /**/
  /**/
}
.posts-navigation .wp-block-post-navigation-link a::before {
  width: var(--mywh);
  height: var(--mywh);
  content: url("data:image/svg+xml,%3Csvg%20width%3D%22100%25%22%20height%3D%22100%25%22%20viewBox%3D%220%200%2086%2086%22%20version%3D%221.1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20xml%3Aspace%3D%22preserve%22%20xmlns%3Aserif%3D%22http%3A%2F%2Fwww.serif.com%2F%22%20style%3D%22fill-rule%3Aevenodd%3Bclip-rule%3Aevenodd%3Bstroke-linejoin%3Around%3Bstroke-miterlimit%3A2%3B%22%3E%0A%20%20%20%20%3Cg%20transform%3D%22matrix%281%2C0%2C0%2C1%2C-1493.07%2C-103.244%29%22%3E%0A%20%20%20%20%20%20%20%20%3Cg%20transform%3D%22matrix%281%2C0%2C0%2C1%2C0%2C-101.796%29%22%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%3Ccircle%20cx%3D%221535.97%22%20cy%3D%22247.94%22%20r%3D%2242.9%22%20style%3D%22fill%3Anone%3B%22%2F%3E%0A%20%20%20%20%20%20%20%20%3C%2Fg%3E%0A%20%20%20%20%20%20%20%20%3Cg%20transform%3D%22matrix%280.677661%2C0%2C0%2C0.677661%2C581.545%2C62.4504%29%22%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%3Cpath%20d%3D%22M1389.41%2C160.604L1425.21%2C123.604L1389.41%2C86.404C1387.68%2C84.67%201387.68%2C83.07%201389.41%2C81.604C1391.14%2C79.87%201392.74%2C79.87%201394.21%2C81.604L1433.41%2C121.004C1435.01%2C122.737%201435.01%2C124.404%201433.41%2C126.004L1394.21%2C165.404C1392.74%2C167.137%201391.14%2C167.137%201389.41%2C165.404C1387.68%2C163.937%201387.68%2C162.337%201389.41%2C160.604Z%22%20style%3D%22fill%3Awhite%3Bfill-rule%3Anonzero%3B%22%2F%3E%0A%20%20%20%20%20%20%20%20%3C%2Fg%3E%0A%20%20%20%20%3C%2Fg%3E%0A%3C%2Fsvg%3E");
}
.posts-navigation .wp-block-post-navigation-link a[rel=prev] {
  transform: scaleX(-1);
}
.posts-navigation .wp-block-post-navigation-link a:hover, .posts-navigation .wp-block-post-navigation-link a:focus, .posts-navigation .wp-block-post-navigation-link a:active {
  background: #f00;
}

/* fw-buttons */
.fw-buttons {
  margin-top: 1em;
  margin-bottom: 2em;
}
.fw-buttons .fw-button a.fw-button__link {
  display: inline-block;
  border-radius: 1111px !important;
  padding: 0.3em 1.33em !important;
  text-decoration: none !important;
  border: 2px solid;
  text-transform: uppercase;
  font-weight: 400;
}
.fw-buttons .fw-button.fw-button-solid a.fw-button__link {
  color: #fff !important;
  background-color: #000 !important;
  border-color: #000 !important;
}
.fw-buttons .fw-button.fw-button-solid a.fw-button__link:hover, .fw-buttons .fw-button.fw-button-solid a.fw-button__link:focus, .fw-buttons .fw-button.fw-button-solid a.fw-button__link:active {
  background-color: #f00 !important;
  color: #fff !important;
  border-color: #f00 !important;
}
.fw-buttons .fw-button.fw-button-outline a.fw-button__link {
  color: #000 !important;
  background-color: transparent !important;
  border-color: #000 !important;
}
.fw-buttons .fw-button.fw-button-outline a.fw-button__link:hover, .fw-buttons .fw-button.fw-button-outline a.fw-button__link:focus, .fw-buttons .fw-button.fw-button-outline a.fw-button__link:active {
  background-color: #f00 !important;
  color: #fff !important;
  border-color: #f00 !important;
}

/**/
/* fw-breadcrumb */
.fw-breadcrumb {
  position: relative;
  font-size: var(--wp--preset--font-size--medium);
  font-weight: 500;
  z-index: 1;
}
.fw-breadcrumb a {
  text-decoration: none;
}
.fw-breadcrumb + div {
  margin-top: 0.2em;
}

/* beitrag tile */
.tile .wp-block-post .wp-block-post-date {
  font-size: var(--wp--preset--font-size--custom-3);
  font-weight: 400;
}

/*vsel*/
.vsel-content {
  position: relative;
  -moz-column-gap: var(--_spacer);
       column-gap: var(--_spacer);
}
.vsel-content .vsel-meta,
.vsel-content .vsel-info {
  float: none !important;
  width: 100% !important;
}
.vsel-content .vsel-meta {
  font-weight: 500;
  font-size: var(--wp--preset--font-size--medium) !important;
}
.vsel-content .vsel-meta > div {
  margin: 0;
  line-height: 1;
}
.vsel-content h3.vsel-meta-title {
  font-size: var(--wp--preset--font-size--large) !important;
}
.vsel-content a {
  text-decoration: none;
}
.vsel-content .vsel-info {
  position: static;
}

.vsel-list .vsel-content {
  display: grid;
  aspect-ratio: 4/5;
  -moz-column-gap: var(--_spacer);
       column-gap: var(--_spacer);
  padding: 1rem !important;
  border: 2px solid #000 !important;
  overflow: hidden;
}
.vsel-list .vsel-content:hover, .vsel-list .vsel-content:focus, .vsel-list .vsel-content:active {
  border-color: #f00 !important;
  background-color: rgba(255, 255, 255, 0.5);
}
.vsel-list .vsel-content .vsel-text p {
  line-height: 1.2;
  font-size: var(--wp--preset--font-size--custom-3);
}
.vsel-list .vsel-content .vsel-image img {
  position: absolute;
  top: 1px;
  left: 0;
  max-width: 100% !important;
  aspect-ratio: 4/5;
  -o-object-fit: cover;
     object-fit: cover;
  margin: 0 !important;
}

/** /
:where(:not(.vsel-list)) {
    .vsel-content {
        .vsel-meta {
            margin-bottom: 1rem;
        }
    }
}
/**/
.vsel-list-vertical .vsel-content, .vsel-list-vertical > li,
.fw-list-vertical .vsel-content,
.fw-list-vertical > li,
.x .vsel-content,
.x > li {
  border-bottom: 2px solid rgb(0, 0, 0) !important;
}

/*misc */
.untertitel {
  display: block;
  font-weight: 500;
}

h1 .untertitel {
  font-size: var(--wp--preset--font-size--large);
  letter-spacing: -0.05em;
  margin-top: 0.5em;
}

.bereich, .beitrag_bereich {
  display: inline-block;
  padding: 0.1em 0.2em;
  font-weight: 500;
  color: #fff;
  font-size: var(--wp--preset--font-size--custom-3);
  background-color: rgba(0, 0, 0, 0.2);
  line-height: 1;
}

.beitrag-zusatz {
  font-size: smaller;
}

.beitrag-untertitel {
  font-weight: 500;
  line-height: 1;
}

.presse-container {
  padding-top: 0.5em;
  padding-bottom: 0.5em;
  margin-top: 1em;
  border-top: 2px solid #000;
  background-color: rgba(255, 255, 255, 0.4);
}
.presse-container .presse.medium {
  font-size: var(--wp--preset--font-size--custom-3);
  line-height: 1.25;
}
.presse-container .presse.titel {
  font-size: var(--wp--preset--font-size--medium);
  line-height: 1.5;
  background-color: rgb(255, 255, 255);
}
.presse-container .presse.titel, .presse-container .presse.date, .presse-container .presse.medium {
  padding-left: 0.2em;
}
.presse-container .presse p {
  margin: 0.2em 0;
  line-height: 1.25;
}
.presse-container .presse .presse-link {
  font-size: var(--wp--preset--font-size--custom-3);
  line-height: 1.25;
}

.presse.medium {
  margin-top: 0.2em;
}

.home .presse.excerpt {
  display: none;
}

/** /
.presse {

    &> div {
        padding-top: 1.5em;
        padding-bottom: 1.5em;
        border-top: 2px solid #000;

        p {
            margin-top: .2em;
        }
    }
}
/**/
.wp-block-post-title + .beitrag-untertitel {
  margin-top: 0.2em;
  margin-bottom: 1em;
}
.wp-block-post-title:has(a) + .beitrag-untertitel {
  color: rgba(255, 51, 0, 0.6);
}
.wp-block-post-title:has(a):hover + .beitrag-untertitel {
  color: rgb(255, 0, 0);
}

:has(.beitrag-untertitel) .wp-block-post-title {
  margin-bottom: 0;
}

.fw-list-vertical .untertitel {
  font-size: var(--wp--preset--font-size--medium);
  margin-top: 0.2em;
}
.fw-list-vertical .stretched-link .untertitel {
  color: rgba(255, 0, 0, 0.6);
}
.fw-list-vertical .stretched-link:hover .untertitel {
  color: #f00;
}

blockquote {
  position: relative;
  padding-left: 2em;
  color: rgba(0, 0, 0, 0.6);
}
blockquote::before {
  content: "”";
  position: absolute;
  left: 0.1em;
  top: -0.35em;
  font-size: var(--wp--preset--font-size--x-large);
  color: rgba(0, 0, 0, 0.15);
}

h2.beschreibung {
  margin: 1em 0 0.4em !important;
}

.stretched-link {
  position: relative;
}
.stretched-link a:not(:has(img))::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
}

.object-fit-cover,
.object-fit-cover figure,
.object-fit-cover img,
.x {
  -o-object-fit: cover;
     object-fit: cover;
}

.hide-if-empty:empty {
  display: none !important;
}
.hide-if-empty:has(div:empty), .hide-if-empty:has(p:empty) {
  display: none !important;
}

.hide-if-no-img:not(:has(img)) {
  display: none !important;
}
.hide-if-no-img:not(:has(img)) + div {
  width: 100% !important;
}

.row:has(.hide-if-no-img) {
  /** /
  &> div:not(.hide-if-no-img):not(:has(img)) {
      width: 100% !important;
  }
  /**/
}
.row:has(.hide-if-no-img) .hide-if-no-img:not(:has(img)) {
  display: none !important;
}

.overflow-x-hidden {
  overflow-x: hidden;
}

.overflow-y-hidden {
  overflow-y: hidden;
}

.aspect-ratio-1-1,
.aspect-ratio-1-1 img {
  aspect-ratio: 1/1;
}

.aspect-ratio-2-3,
.aspect-ratio-2-3 img {
  aspect-ratio: 2/3;
}

.aspect-ratio-3-4,
.aspect-ratio-3-4 img {
  aspect-ratio: 3/4;
}

/* bs */
.container {
  padding: 0 !important;
}

@media (min-width: 768px) {
  .text-md-end {
    text-align: end !important;
  }
}
