/**
 * bwpat child template (Cassiopeia) - design of bwpat.de (J3 template bwpatv3) on Joomla 6.
 * Colours: link #182e7a, navy #336, purple #669, red #c00, page background #e0e0ec.
 * All text/background pairs used here reach at least 4.5:1 (WCAG 2.2 AA).
 */

/* ------------------------------------------------------------------ fonts (local, no external requests) */
@font-face {
  font-family: "Open Sans";
  src: url("../fonts/OpenSans-Regular-webfont.woff") format("woff");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Open Sans";
  src: url("../fonts/OpenSans-Italic-webfont.woff") format("woff");
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Open Sans";
  src: url("../fonts/OpenSans-Bold-webfont.woff") format("woff");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
/* headings like J3: the J3 template only had the regular cut, the browser made the bold headings from it
   (synthetic bold, lighter than the real bold cut) */
@font-face {
  font-family: "Open Sans Headings";
  src: url("../fonts/OpenSans-Regular-webfont.woff") format("woff");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

/* ------------------------------------------------------------------ base */
:root {
  --bwpat-bg: #e0e0ec;
  --bwpat-text: #1a171b;
  --bwpat-link: #182e7a;
  --bwpat-navy: #336;
  --bwpat-purple: #669;
  --bwpat-red: #c00;
  --bwpat-light: #d6d6e0;
  --bwpat-light2: #b4b4ce;
  --bwpat-line: #eee;
  --bwpat-box-pad: 1.5em 1.8em;
  --bwpat-box-pad-x: 1.8em;   /* left/right part of --bwpat-box-pad */
  --cassiopeia-color-primary: #336;
  --cassiopeia-color-link: #182e7a;
  --cassiopeia-color-hover: #c00;
  --cassiopeia-font-family-body: "Open Sans", Arial, Helvetica, sans-serif;
  --cassiopeia-font-family-headings: "Open Sans", Arial, Helvetica, sans-serif;
  --link-color: #182e7a;
  --link-color-rgb: 24, 46, 122;
  --link-hover-color: #182e7a;
  --body-color: #1a171b;
  --body-bg: #e0e0ec;
}

body.site {
  background: var(--bwpat-bg);
  color: var(--bwpat-text);
  font-family: "Open Sans", Arial, Helvetica, sans-serif;
  font-size: 0.9375rem;
  line-height: 1.6;
}

a {
  color: var(--bwpat-link);
  text-decoration: none;
}
a:hover,
a:active {
  color: var(--bwpat-link);
  text-decoration: underline;
}
nav a,
.automenu a,
.catcounter a,
.btn-bwpat,
.mod-menu a {
  text-decoration: none;
}
/* Keyboard focus (WCAG 2.2: 2.4.7 focus visible, 1.4.11 at least 3:1): two-tone ring, red inside (#c00,
   5.9:1 on white) and white outside, so it is visible on white, grey-violet and purple/dark backgrounds.
   Cassiopeia/Bootstrap remove the outline on many elements and only set a faint shadow, hence !important. */
a:focus-visible,
button:focus-visible,
summary:focus-visible,
[tabindex]:not([tabindex="-1"]):focus-visible,
[role="button"]:focus-visible,
.btn:focus-visible,
.nav-link:focus-visible,
.navbar-toggler:focus-visible,
.page-link:focus-visible,
.btn-close:focus-visible {
  outline: 3px solid var(--bwpat-red) !important;
  outline-offset: 0 !important;
  box-shadow: 0 0 0 6px #fff !important;
  border-radius: 2px;
}
/* links that only hold an image (banners, logos, covers): the link becomes as large as the image, so the ring goes
   around the image and not around a line of text */
a:has(> img:only-child),
a:has(> picture:only-child) {
  display: inline-block;
  vertical-align: middle;
}
:is(.bwpat-header, .bwpat-sidebar, .bwpat-footer, .bwpat-banner) a:has(> img:only-child) > img { display: block; }
/* Cassiopeia gives focused/hovered links in the footer a light grey and buttons a light hover background */
.footer a:not(.btn):hover,
.footer a:not(.btn):focus {
  color: var(--bwpat-link);
}
.btn-secondary:hover,
.btn-secondary:focus-visible,
.btn-primary:hover,
.btn-primary:focus-visible {
  background: var(--bwpat-navy) !important;
  border-color: var(--bwpat-navy) !important;
  color: #fff !important;
}
/* form fields: dark blue focus (red would look like an error), white background (Cassiopeia uses the grey-violet
   page background); #336 reaches 12:1 on white */
.form-control:focus,
.form-select:focus,
textarea:focus,
select:focus,
input:not([type="submit"], [type="button"], [type="reset"], [type="checkbox"], [type="radio"], [type="image"]):focus {
  background-color: #fff;
  border-color: var(--bwpat-navy);
  box-shadow: 0 0 0 2px var(--bwpat-navy);
  outline: 0;
}
input:is([type="checkbox"], [type="radio"]):focus-visible,
.form-check-input:focus-visible {
  outline: 3px solid var(--bwpat-navy) !important;
  outline-offset: 0 !important;
  box-shadow: 0 0 0 6px #fff !important;
}

h1, h2, h3, h4, h5, h6,
.card-header {
  font-family: "Open Sans Headings", "Open Sans", Arial, Helvetica, sans-serif;
  font-weight: 700;
  line-height: 1.3;
  margin: 0 0 0.5em;
}
h1 { font-size: 2em; }
h2 { font-size: 1.6em; }
h3 { font-size: 1.4em; }
h4 { font-size: 1.2em; }
h5 { font-size: 1.1em; font-style: italic; font-weight: 400; }
h6 { font-size: 1em; font-weight: 400; }

p { margin: 0 0 1em; }
img { max-width: 100%; height: auto; }

.skip-link {
  position: absolute;
  top: 0.5rem;
  left: 0.5rem;
  z-index: 2000;
  padding: 0.5rem 1rem;
  background: #333;
  color: #fff !important;
}

/* ------------------------------------------------------------------ header */
.bwpat-inner {
  max-width: 84rem;
  margin: 0 auto;
  padding: 0 0.7rem;
}

.bwpat-header {
  background: #fff;
}
/* narrow light strip at the very top, like the J3 background image */
.bwpat-header::before {
  content: "";
  display: block;
  height: 8px;
  background: linear-gradient(#e8e8f0, #d9d9e6);
}

.bwpat-topbar .bwpat-inner {
  display: flex;
  justify-content: flex-end;
}
.bwpat-topbar .bannergroup,
.bwpat-topbar .mod-banners {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 0.5rem 1.25rem;
  padding: 0.75rem 0;
}
.bwpat-topbar .banneritem img { max-height: 42px; width: auto; }
.bwpat-topbar .bannerheader,
.bwpat-topbar .bannerfooter { display: none; }

.bwpat-metanav {
  background: var(--bwpat-purple);
}
.bwpat-metanav ul {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  margin: 0;
  padding: 0;
  list-style: none;
}
.bwpat-metanav li { margin: 0; padding: 0; }
.bwpat-metanav a {
  display: block;
  /* band 39px high like J3: 24px line + 2 x 7.5px */
  padding: 7.5px 1rem;
  color: #fff;
  text-transform: uppercase;
  font-size: 0.9375rem;
}
.bwpat-metanav a:hover,
.bwpat-metanav a:focus-visible,
.bwpat-metanav .active > a {
  color: #fff;
  background: var(--bwpat-navy);
  text-decoration: none;
}

.bwpat-brand .bwpat-inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem 1rem;
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
}
.brand-logo { display: block; max-width: 48rem; flex: 1 1 20rem; }
.brand-image { display: block; width: 100%; max-width: 763px; height: auto; }
.bwpat-header-right {
  text-align: right;
  font-size: 0.8125rem;
  font-weight: 700;
  color: #323363;
}
.bwpat-header-right p { margin: 0; line-height: 1.5; }

.bwpat-nav {
  border-top: 1px solid var(--bwpat-purple);
  border-bottom: 1px solid #dedee9;
}
.bwpat-nav .container-nav {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
.bwpat-nav .navbar {
  flex: 1 1 auto;
  padding: 0;
}
.bwpat-nav .metismenu.mod-menu .metismenu-item {
  /* J3: 1.2em left/right */
  padding: 0.35rem 1.2em;
  font-size: 0.9375rem;
}
.bwpat-nav .metismenu.mod-menu .metismenu-item > a,
.bwpat-nav .metismenu.mod-menu .metismenu-item > button {
  color: var(--bwpat-navy);
}
.bwpat-nav .metismenu.mod-menu .metismenu-item.active > a,
.bwpat-nav .metismenu.mod-menu .metismenu-item > a:hover {
  color: var(--bwpat-red);
}
.bwpat-nav .metismenu-item img {
  display: inline-block;
  max-height: 20px;
  width: auto;
  margin-right: 0.35rem;
  vertical-align: -3px;
}
.bwpat-nav .metismenu.mod-menu .mm-collapse {
  background: #fff;
}
.bwpat-nav .metismenu.mod-menu .mm-collapse .metismenu-item {
  font-size: 0.875rem;
}
.bwpat-nav .navbar-toggler {
  margin: 0.4rem 0;
  border: 1px solid var(--bwpat-navy);
  color: var(--bwpat-navy);
}

@media (width >= 992px) {
  .bwpat-nav .metismenu.mod-menu {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
  }
}

@media (width <= 991.98px) {
  .bwpat-nav .metismenu.mod-menu .metismenu-item > ul {
    position: relative;
    top: 0;
    box-shadow: none;
    flex-basis: 100%;
  }
}

/* ------------------------------------------------------------------ grid: main column first in the source */
.bwpat-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-areas: "banner" "main" "left" "right";
  gap: 0 1.25rem;
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
}
.bwpat-banner { grid-area: banner; }
.bwpat-main { grid-area: main; min-width: 0; }
.bwpat-sidebar-left { grid-area: left; min-width: 0; }
.bwpat-sidebar-right { grid-area: right; min-width: 0; }

@media (width >= 768px) {
  .has-sidebar-left .bwpat-grid,
  .has-sidebar-right .bwpat-grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 15rem);
    grid-template-areas: "banner banner" "main left" "main right" "main .";
    align-items: start;
  }
}

@media (width >= 1100px) {
  .has-sidebar-left .bwpat-grid {
    grid-template-columns: minmax(0, 15rem) minmax(0, 1fr);
    grid-template-areas: "banner banner" "left main";
  }
  .has-sidebar-right .bwpat-grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 15rem);
    grid-template-areas: "banner banner" "main right";
  }
  .has-sidebar-left.has-sidebar-right .bwpat-grid {
    grid-template-columns: minmax(0, 15rem) minmax(0, 1fr) minmax(0, 15rem);
    grid-template-areas: "banner banner banner" "left main right";
  }
}

main:focus { outline: none; }

/* ------------------------------------------------------------------ boxes (modules and content) */
.card,
.item-page,
.category-desc,
.blog-box-leading,
.blog-box,
.com-content-category-blog:not(.blog-ausgabe),
.com-content-category,
.com-content-categories,
.com-contact,
.com-contact-category,
.com-users,
.com-users-login,
.com-users-logout,
.com-users-profile,
.com-users-profile__edit,
.com-users-registration,
.com-users-registration-complete,
.com-users-remind,
.com-users-reset,
.com-users-reset-confirm,
.com-users-reset-complete,
.com-finder,
.com-content-article:not(.item-page-issue),
.rsform,
#acym_wrapper {
  background: #fff;
  padding: var(--bwpat-box-pad);
  margin: 0 0 1.5em;
  overflow: hidden;
}
.is-homepage .com-content-article,
.is-homepage .com-content-article .com-content-article__body {
  background: none;
  padding: 0;
  margin: 0;
}
.is-homepage .com-content-article__body > p:empty { display: none; }
.com-content-article:not(.item-page-issue) .item-page,
.com-content-category-blog:not(.blog-ausgabe) .category-desc {
  padding: 0;
  margin: 0;
}
.card {
  border: 0;
  border-radius: 0;
  box-shadow: none;
  color: inherit;
}
.card-header {
  padding: 0;
  margin: 0 0 0.5em;
  background: none;
  border: 0;
  font-size: 1.5em;
  font-weight: 700;
}
.card-body { padding: 0; }
.card-body > :last-child,
.card-body > .mod-custom > :last-child,
.card-body > .mod-custom > :last-child > :last-child { margin-bottom: 0; }

.bwpat-sidebar .card { text-align: left; }
.bwpat-sidebar .card-header { font-size: 1.4em; }
.bwpat-sidebar ul { padding-left: 1.1em; }

/* modules with own colours (module class suffix from J3) */
.neuigkeiten,
.moduleboxneuigkeiten { border-left: 3px solid var(--bwpat-red); }
.neuigkeiten .card-header,
.moduleboxneuigkeiten .card-header { color: var(--bwpat-navy); font-weight: 400; }
.fe-menu,
.moduleboxfe-menu { background: var(--bwpat-navy); color: #fff; }
.fe-menu a,
.moduleboxfe-menu a { color: #fff; }
.fe-menu ul,
.moduleboxfe-menu ul { list-style: none; margin: 0; padding: 0; }
.moduletable-ausgabe li.current > a,
.moduletable-ausgabe li.active > a { color: var(--bwpat-red); }
.moduletable-formate .card-header,
.moduletable-downloads .card-header,
.nl-nachlesen-mod .card-header { font-size: 1.4em; }
.moduletable-formate p,
.moduletable-openaccess p,
.moduletable-footer p { margin: 0 0 0.3em; }
.moduletable-ht2013 { background: #295d97; color: #fff; font-weight: 700; font-size: 1.2em; padding: 0.2em 0.6em; }
.moduletable-ht2013 p { margin: 0; }
.moduletable-ht2013-kat h3 { font-size: 1.3em; color: #000; }
.moduletable-ht2013-kat h4,
.moduletable-ht2013-kat h5 { font-size: 1em; font-weight: 400; }
.moduletable-ht2013-kat h4 { font-weight: 700; }
.moduletable-ht2013-kat h5 { margin-left: 1em; }
.moduletable-mod-hervorheben,
.moduletabletrauer {
  border: 2px solid var(--bwpat-red);
  border-radius: 8px;
  box-shadow: 0 2px 2px #999;
}
.moduletabletrauer { border-color: #000; }
.wbv-link h4 { font-size: 1.2em; }
.zur-aktuellen-ausgabe { font-size: 0.875rem; }
.zur-aktuellen-ausgabe p { margin: 0; }

ul.catcounter { list-style: none; padding: 0 !important; margin: 0; }
ul.catcounter li { margin: 0.3em 0; }

/* issue table of contents in the sidebar */
.automenu ul { list-style: none; margin: 0 0 0.3em; padding: 0 !important; }
.automenu li { line-height: 1.3; margin: 0 0 0.3em; }
.automenu li a.active,
.automenu li a[aria-current] { color: var(--bwpat-red); text-decoration: underline; }
.automenu .automenu-level2 { margin: 0.8em 0 0.2em; color: var(--bwpat-red); font-weight: 700; }
.automenu .automenu-back { font-weight: 700; margin: 1em 0 0; }

/* ------------------------------------------------------------------ brand colours in texts */
.rot { color: var(--bwpat-red); font-style: italic; font-weight: 700; }
.blau { color: var(--bwpat-navy); font-style: italic; font-weight: 700; }
.rot-normal { color: var(--bwpat-red); }
.blau-normal { color: var(--bwpat-navy); }
.bwpat-format-B, .bwpat-format-rot { color: var(--bwpat-red); }
.bwpat-format-F, .bwpat-format-gruen { color: #008000; }
.bwpat-format-D, .bwpat-format-blau { color: #036; }
.bwpat-format-P, .bwpat-format-schwarz { color: #000; }

.kat-style-D, .kat-style-F, .kat-style-B, .kat-style-P {
  display: inline-block;
  padding: 0.15em 0.4em 0.05em;
  color: #fff;
  background: var(--bwpat-red);
  font-style: normal;
}
.kat-style-D { background: #036; }
.kat-style-F { background: #008000; }
.kat-style-P { background: #800080; }

/* ------------------------------------------------------------------ issue (Ausgabe) */
.issue-header {
  background: #fff;
  padding: var(--bwpat-box-pad);
  margin: 0 0 1.5em;
  overflow: hidden;
}
.issue-header p { margin: 0; }
.issue-header .cat-ausgabenr { margin-bottom: 0.25em; }
.issue-header .issue-title {
  margin: 0 0 0.25em;
  color: var(--bwpat-red);
  font-size: 1.75em;
  font-weight: 400;
  line-height: 1.25;
}
.issue-header .issue-title a { color: var(--bwpat-red); }
.issue-header .issue-subtitle { color: var(--bwpat-red); font-weight: 700; font-size: 1.1em; }
.issue-header .editors { font-style: italic; margin-top: 0.4em; }
.issue-header .category-image { float: left; max-height: 170px; margin: 0 1.5em 0.5em 0; }
.item-page-issue .issue-header .issue-title { font-size: 1.6em; }

.author-fn, .author-ln, .item-authors { font-style: italic; }
.author-ln { text-transform: uppercase; }

.blog-box-leading,
.blog-box { padding: 0; }
.blog-box-leading .issue-item { padding: 1.5em 1.8em; }
.items-row {
  padding: 1.5em 1.8em;
  border-bottom: 3px solid var(--bwpat-line);
}
.items-row:last-child { border-bottom: 0; }
.items-row h2.headingTeil {
  margin: 0 -1.8em 1em;
  padding: 0 1.8em 1em;
  border-bottom: 3px solid var(--bwpat-line);
  color: var(--bwpat-red);
  font-size: 1.1em;
}
.issue-item h3.item-title { font-size: 1.05em; margin: 0 0 0.5em; }
.issue-item h2.headingTeil { color: var(--bwpat-red); font-size: 1.1em; }
.issue-item + .issue-item {
  margin-top: 1.25em;
  padding-top: 1.25em;
  border-top: 3px solid var(--bwpat-line);
}
.issue-item::after { content: ""; display: table; clear: both; }
.issue-item .item-authors { margin: 0 0 0.4em; }
.imgHrsg { float: left; display: flex; flex-wrap: wrap; gap: 5px; margin: 0 1em 0.5em 0; }
.imgHrsg img { max-height: 100px; width: auto; }
.issue-item-editorial h3.item-title { clear: none; }

.item-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
  gap: 0.4em;
  clear: both;
  margin-top: 0.5em;
}
.btn-bwpat {
  display: inline-block;
  padding: 0.2em 0.9em 0.15em;
  background: var(--bwpat-light);
  color: var(--bwpat-navy) !important;
  font-style: italic;
  line-height: 1.4;
  text-align: center;
}
.btn-bwpat:hover,
.btn-bwpat:focus-visible { text-decoration: underline; }
.btn-bwpat.pdf-link { background: var(--bwpat-light2); }
.btn-bwpat.author-link { background: var(--bwpat-purple); color: #fff !important; position: relative; cursor: pointer; }
.kategorie-lang { margin-right: auto; font-style: normal; }
.online-seit { margin: 0.4em 0 0; text-align: right; color: var(--bwpat-red); }

/* author portraits on hover/focus of the "Autor:innen" button */
.author-popup {
  display: none;
  position: absolute;
  bottom: calc(100% + 6px);
  right: 0;
  z-index: 20;
  gap: 4px;
  padding: 8px;
  background: #fff;
  border-radius: 3px;
  box-shadow: 0 0 4px #999;
}
.author-popup img { height: 140px; width: auto; max-width: none; }
.author-popup-many img { height: 90px; }
.author-link:hover .author-popup,
.author-link:focus-visible .author-popup { display: flex; }
/* boxes clip their content (overflow: hidden): not those with author buttons, so the portraits can reach over the
   box above; flow-root still contains floated images */
.card:has(.author-link),
.blog-box:has(.author-link),
.blog-box-leading:has(.author-link),
.com-content-category-blog:has(.author-link),
.com-content-category:has(.author-link),
.com-content-article:has(.author-link),
.item-page:has(.author-link) {
  overflow: visible;
  display: flow-root;
}
.author-link:hover,
.author-link:focus-visible { z-index: 30; }
@media (width <= 575.98px) {
  .author-popup { display: none !important; }
}

/* ------------------------------------------------------------------ article */
.item-page h1.item-title { font-size: 1.6em; }
.item-page h2 { font-size: 1.5em; }
.item-page h3 { font-size: 1.3em; }
.item-page h4 { font-size: 1.15em; }
.item-page h5 { font-size: 1em; }
.item-page h3, .item-page h4, .item-page h5 { margin: 1.3em 0 0.5em; }
.citation,
.artikel-zusatz,
.abstract,
.abstract-E {
  background: #fbfbfe;
  padding: 0.5em 1.5em;
  margin-bottom: 2em;
}
.artikel-zusatz p { margin: 0 0 0.5em; }
.abstract-E, .abstract-E-title, .abstract-E .title { color: var(--bwpat-navy); }
.abstract .title,
.abstract-E .title { display: block; font-size: 1.2em; font-weight: 700; margin: 0 0 0.5em; }
.citation h2 { font-size: 1.3em; margin-top: 0.3em; }
p.Abbildung, p.abbildung { text-align: center; }
.Literaturverz p, p.Literatur, .literaturverzeichnis p { font-size: 0.875rem; }
.created-date { color: #555; }
.item-bottom-buttons { display: flex; flex-wrap: wrap; gap: 0.5em; align-items: center; margin: 1em 0; }
.item-bottom-buttons .pagenavigation { flex: 1 1 auto; }

/* elements used inside article texts */
.button-video,
span.button-archiv,
a.btn,
.btn-primary,
button.btn {
  display: inline-block;
  padding: 0.3em 0.75em;
  border: 0;
  border-radius: 3px;
  background: var(--bwpat-purple);
  color: #fff !important;
  font-size: 0.9375rem;
  line-height: 1.5;
}
/* buttons in article texts (e.g. "zu meinem Profil") get some space to the text above */
.com-content-article__body a.btn { margin-top: 0.5em; }
.button-video { background: var(--bwpat-navy); border-radius: 5px; }
span.button-archiv a { color: #fff !important; }
.container-rahmen { padding: 0.5em 1em; border: 1px solid #000; margin: 0.5em 0; }
.box-grau { border: 1px solid #000; background: #ccc; padding: 1em; margin: 0.5em 0; }
.img-intro-right, .float_right, .image-right { float: right; margin: 0 0 1em 1.5em; }
.float_left, .image-left { float: left; margin: 0 1.5em 1em 0; }
.table-container-mobil { width: 100%; overflow-x: auto; }
.table-container-mobil table { min-width: 600px; }
table { margin-bottom: 1.5em; }
th, td { padding: 0.4em 0.5em; border: 1px solid #ccc; }

/* author profile and list (com_contact) */
.autor-profil-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 0.5em; margin-bottom: 1em; }
.autor-profil-label { margin: 0; font-family: "Open Sans Headings", "Open Sans", Arial, sans-serif; font-size: 2em; font-weight: 700; line-height: 1.3; }
/* like live: grey panel, portrait flush left, name and details next to it */
.autor-ansicht { display: flex; flex-wrap: wrap; align-items: stretch; gap: 0; margin-bottom: 1.5em; background: #eee; }
.autor-portrait img { display: block; }
.autor-detail { padding: 1em 1.5em; }
.autor-portrait img { max-width: 180px; }
.autor-detail { flex: 1 1 16rem; }
.autor-detail p { margin: 0 0 0.4em; }
.autor-name { font-size: 1.8em; margin-bottom: 0.3em; }
.social-media { list-style: none; display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0.75em 0 0; padding: 0 !important; }
.author-content h2 { font-size: 1.3em; margin-top: 1.5em; padding-bottom: 0.3em; border-bottom: 3px solid var(--bwpat-line); }
.author-list { list-style: none; padding-left: 0; }
.author-list li { margin-bottom: 0.4em; }
.author-list .issue-title { font-weight: 700; }
.autoren-liste .contact-thumbnail { width: 60px; max-width: 60px; height: auto; margin-right: 0.75em; float: left; }
.autoren-liste .autor-link { font-size: 1.1em; font-weight: 700; }
.autoren-liste #filter-search { min-width: 14rem; }
.autoren-liste table { width: 100%; }
.autor-verstorben { margin-left: 0.25em; }

/* category overview (archive) */
.div-cat-list { clear: both; padding: 1em 0; border-top: 3px solid var(--bwpat-line); }
.categories-list > .div-cat-list:first-of-type { border-top: 0; }
.div-cat-list .div-cat-list { margin-left: 1em; }
.div-cat-list h2 { font-size: 1.05em; margin: 0 0 0.25em; }
.div-cat-list .cat-list-titel { color: var(--bwpat-red); }
.div-cat-list p { margin: 0 0 0.25em; }
.editors-img { float: right; margin: 0 0 0.5em 1em; display: flex; gap: 4px; }
.editors-img img { max-height: 60px; width: auto; }
.div-cat-list .editors { font-style: italic; }

/* Termine */
.kal-monat { color: var(--bwpat-red); }
.kal-gruppe { margin: 1em 0 1.5em; }
.kal-termin-info { font-size: 0.9em; padding: 1em 2em 0.5em; background: #efefef; margin-bottom: 1em; }

/* ------------------------------------------------------------------ forms */
.form-control,
.form-select,
input[type="text"],
input[type="email"],
input[type="password"],
input[type="search"],
textarea {
  border: 1px solid #767676;
  border-radius: 3px;
}

/* ------------------------------------------------------------------ footer below the main column */
.bwpat-footer .card { font-size: 0.875rem; }

/* ------------------------------------------------------------------ back to top */
.back-to-top-link {
  position: fixed;
  right: 1.5rem;
  bottom: 1.5rem;
  z-index: 99;
  padding: 0.6rem 0.8rem;
  border-radius: 8px;
  background: var(--bwpat-link);
  color: #fff !important;
}

/* ------------------------------------------------------------------ small screens */
@media (width <= 767.98px) {
  :root { --bwpat-box-pad: 1em 1em; --bwpat-box-pad-x: 1em; }
  .bwpat-topbar .banneritem img { max-height: 30px; }
  .bwpat-metanav a { padding: 0.5rem 0.6rem; font-size: 0.8125rem; }
  .bwpat-header-right { text-align: left; font-size: 0.75rem; }
  .bwpat-header-right > * { display: flex; flex-wrap: wrap; gap: 0 1em; }
  .bwpat-brand .bwpat-inner { padding-top: 0.75rem; padding-bottom: 0.75rem; }
  .items-row { padding: 1em; }
  .items-row h2.headingTeil { margin: 0 -1em 1em; padding: 0 1em 0.75em; }
  .blog-box-leading .issue-item { padding: 1em; }
  .issue-header .issue-title { font-size: 1.5em; }
  .imgHrsg { float: none; }
  .imgHrsg img { max-height: 70px; }
  .item-links { justify-content: flex-start; }
  .kategorie-lang { flex-basis: 100%; }
  .online-seit { text-align: left; }
}

@media print {
  .bwpat-header, .bwpat-sidebar, .back-to-top-link, .item-links { display: none !important; }
  body.site { background: #fff; }
}

/* ------------------------------------------------------------------ reviews (Rezensionen) */
.rez-years ul { display: flex; flex-wrap: wrap; gap: .25rem 1rem; list-style: none; margin: 0 0 1.5rem; padding: 0; }
.rez-item { display: flow-root; padding: 1.25rem 0; border-bottom: 1px solid var(--bwpat-bg, #e0e0ec); }
.rez-item:first-child { padding-top: 0; }
.rez-cover { float: right; margin: 0 0 .75rem 1.25rem; max-width: 150px; }
.rez-cover img { display: block; max-width: 100%; height: auto; box-shadow: 0 1px 4px rgba(0, 0, 0, .25); }
.rez-nummer { margin: 0 0 .25rem; font-size: .9rem; color: #555; }
.rez-title { font-size: 1.15rem; line-height: 1.35; margin: 0 0 .75rem; }
h1.rez-title { font-size: 1.5rem; }
.rez-text p { margin: 0 0 .5rem; }
.rez-zusatz { font-style: italic; }
.rez-links { display: flex; flex-wrap: wrap; gap: .5rem; list-style: none; margin: .75rem 0 0; padding: 0; }
.rez-category { margin: 0 0 1rem; }
.rezension .item-content { clear: both; margin-top: 1rem; }
@media (max-width: 575.98px) {
    .rez-cover { max-width: 100px; margin-left: .75rem; }
}

/* ------------------------------------------------------------------ module "Autor:innen pro Beitrag" (right sidebar) */
.beitrag-autoren ul { list-style: none; margin: 0; padding: 0; }
.beitrag-autoren li { display: flow-root; padding: .75rem 0; border-bottom: 1px solid var(--bwpat-bg); }
.beitrag-autoren li:first-child { padding-top: 0; }
.beitrag-autoren li:last-child { border-bottom: 0; padding-bottom: 0; }
/* like J3: name, institution, portrait 150px, below it the button to the profile in the width of the portrait */
.beitrag-autoren .author-detail-name { display: block; font-family: "Open Sans Headings", "Open Sans", Arial, sans-serif; font-size: 1.15em; font-weight: 700; color: var(--bwpat-text); }
.beitrag-autoren .author-detail-inst { display: block; margin-bottom: .6rem; line-height: 1.4; }
.beitrag-autoren .author-detail-image { display: block; width: 150px; max-width: 100%; height: auto; }
.beitrag-autoren .author-detail-link { display: block; width: 150px; max-width: 100%; padding: .2em .3em; background: #eee; color: var(--bwpat-link); text-align: center; text-decoration: none; }
.beitrag-autoren .author-detail-link:hover,
.beitrag-autoren .author-detail-link:focus-visible { background: var(--bwpat-light); text-decoration: underline; }

/* Author list: search and random selection (com_contact category "Autor:innen") */
.autoren-suchformular { display: flex; flex-wrap: wrap; gap: 0.5em; max-width: 32em; margin: 0 0 1em; }
.autoren-suchformular input { flex: 1 1 14em; min-width: 0; }
.autoren-status p { margin: 0 0 0.5em; }
.autoren-karten { list-style: none; margin: 1em 0 0; padding: 0; }
.autor-karte { display: flex; gap: 1em; align-items: flex-start; margin: 0 0 1.2em; }
.autor-karte img,
.autor-karte-ohne-bild { flex: 0 0 60px; width: 60px; height: 80px; object-fit: cover; background: var(--bwpat-light); }
.autor-karte-name { font-weight: 700; font-size: 1.1em; color: var(--bwpat-navy); text-decoration: none; }
.autor-karte-name:hover,
.autor-karte-name:focus-visible { text-decoration: underline; }
.autor-karte-institution { display: block; }

/* Module "Zur AutorInnen-Datenbank": random portraits from the contacts */
.bwpat-sidebar .autoren-zufall-bilder, .autoren-zufall-bilder { display: grid; grid-template-columns: repeat(4, 1fr); gap: .3em; margin: 0 0 .8em; padding: 0; list-style: none; }
.autoren-zufall-bilder a { display: block; }

.autoren-zufall-bilder img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 4; object-fit: cover; background: var(--bwpat-light); }
.autoren-zufall-link { margin: 0; }

/* own profile: buttons in a row below the heading */
.bwpat-profile-buttons { display: flex; flex-wrap: wrap; gap: .5em; margin: 0 0 1.2em; padding: 0; list-style: none; }

/* login: "Passwort zurücksetzen" / "Benutzername vergessen?" as plain text links like in J3 */
.com-users-login__options { display: block; margin: 1.5em 0 0; padding: 0; background: none; border: 0; border-radius: 0; }
.com-users-login__options .list-group-item { display: block; margin: 0; padding: 0; background: none; border: 0; color: var(--bwpat-navy); text-decoration: underline; }
.com-users-login__options .list-group-item:hover,
.com-users-login__options .list-group-item:focus-visible { background: none; text-decoration: none; }
.com-users-login__support { margin: 0; }

/* system messages (after saving etc.): space to the content below */
#system-message-container joomla-alert { margin-bottom: 1.25rem; }

/* large screens: the bwp@ logo reaches 80px beyond the left content edge, like J3 (#header-logo margin-left -80px);
   only when there is room next to the 84rem wide content */
@media (width >= 1520px) {
  .bwpat-brand .brand-logo { margin-left: -80px; }
}

/* category description inside a category box (e.g. /bwpat-vorschau): no second box */
.com-content-categories .category-desc,
.com-content-category .category-desc,
.com-content-category-blog:not(.blog-ausgabe) .category-desc {
  padding: 0;
  margin: 0 0 1em;
  background: none;
}
.category-desc > :last-child { margin-bottom: 0; }

/* main menu "Ausgaben" (menu item 142, about 70 issues): dropdown in several columns on large screens */
@media (width >= 992px) {
  .bwpat-nav .metismenu.mod-menu .item-142 > .mm-collapse {
    columns: 3;
    column-gap: 0.5rem;
    width: 42rem;
    padding: 0.9rem 1.1rem;
    box-sizing: content-box;
  }
  .bwpat-nav .metismenu.mod-menu .item-142 > .mm-collapse > li { break-inside: avoid; padding: 0.25rem 0.6rem; white-space: nowrap; }
}
@media (width >= 1200px) {
  .bwpat-nav .metismenu.mod-menu .item-142 > .mm-collapse {
    columns: 4;
    width: 56rem;
  }
}

/* PDF icon in the abstract box of an article (J3: images/pdficon.png) */
.pdf-link-itempage .pdf-icon { color: var(--bwpat-red); font-size: 1.25em; margin-right: 0.3em; vertical-align: -0.1em; }

/* ------------------------------------------------------------------ article pages: sticky tables of contents */
/* "Inhalt des Beitrags" (mod_custom layout beitrag-inhalt, filled by js/beitrag-inhalt.js) */
/* the side lines run along the left edge of the box: the list reaches into the box padding */
.beitrag-inhalt { margin-left: calc(-1 * var(--bwpat-box-pad-x)); }
.beitrag-inhalt ol { list-style: none; margin: 0; padding: 0; font-size: 0.9375rem; line-height: 1.35; hyphens: auto; }
.beitrag-inhalt li { margin: 0; }
.beitrag-inhalt a {
  display: block;
  padding: 0.25em 0 0.25em calc(var(--bwpat-box-pad-x) - 2px);
  border-left: 2px solid var(--bwpat-line);
  color: var(--bwpat-link);
  text-decoration: none;
}
.beitrag-inhalt a:hover { text-decoration: underline; }
/* title of the article: separated by a line, no side line */
.beitrag-inhalt .beitrag-inhalt-ebene-1 { margin: 0 0 0.5em var(--bwpat-box-pad-x); padding-bottom: 0.5em; border-bottom: 1px solid var(--bwpat-line); }
.beitrag-inhalt .beitrag-inhalt-ebene-1 a { padding-left: 0; border-left: 0; font-size: 0.875rem; color: var(--bwpat-navy); }
.beitrag-inhalt .beitrag-inhalt-ebene-3 a { padding-left: calc(var(--bwpat-box-pad-x) + 0.8em); font-size: 0.875rem; }
/* section in view: like the active entry in the issue table of contents (red, underlined), no bold so nothing moves */
.beitrag-inhalt a[aria-current] { color: var(--bwpat-red); text-decoration: underline; border-left-color: var(--bwpat-red); }
.beitrag-inhalt .beitrag-inhalt-ebene-1 a[aria-current] { text-decoration: none; color: var(--bwpat-link); }
.com-content-article :is(h1, h2, h3, h4)[id] { scroll-margin-top: 1rem; }

/* small screens: the right column is below the article, a table of contents there does not help */
@media (width < 768px) {
  .card:has(.beitrag-inhalt) { display: none; }
}

/* large screens: the issue table of contents (left) and the article table of contents (right) stay in view while
   scrolling through an article; the other modules of the column scroll on below them */
@media (width >= 1100px) {
  .view-article .bwpat-sidebar { align-self: stretch; }
  .view-article .bwpat-sidebar-left .card:has(.automenu),
  .view-article .bwpat-sidebar-right .card:has(.beitrag-inhalt) {
    position: sticky;
    top: 1rem;
    z-index: 5;
    max-height: calc(100vh - 2rem);
    overflow-y: auto;
    box-shadow: 0 2px 8px rgb(0 0 0 / 0.08);
  }
}

/* "Angemeldet als": greeting, below it "Mein Bereich" and "Abmelden", small, always in one line */
.mod-login-logout .login-greeting { margin-bottom: 0.6em; }
.mod-login-logout .bwpat-logout-buttons { display: flex; flex-wrap: nowrap; gap: 0.35em; }
.mod-login-logout .bwpat-logout-buttons .btn {
  padding: 0.2em 0.55em;
  font-size: 0.8125rem;
  white-space: nowrap;
}

/* menus in the left column (e.g. "Service"): with bullets like J3 (Cassiopeia removes them) */
.bwpat-sidebar-left .mod-menu.mod-list { display: block; list-style: disc; padding-left: 1.1em; }
.bwpat-sidebar-left .mod-menu.mod-list > li { list-style: inherit; }
.bwpat-sidebar-left .mod-menu.mod-list > li::marker { color: var(--bwpat-navy); }
/* compact line spacing; sub-menus (layout "offen") always open, indented, without bullets */
.bwpat-sidebar-left .mod-menu li { padding: 0.1em 0; line-height: 1.4; }
.bwpat-sidebar-left .mod-menu-offen__sub { margin: 0.15em 0 0.2em; padding-left: 0.9em; font-size: 0.9375em; }
.bwpat-sidebar-left .mod-menu-offen__sub > li { list-style: none; padding: 0.05em 0; }

/* RSForm form pages (html/com_rsform/rsform/default.php): white box like the other content */
.rsform-seite { background: #fff; padding: var(--bwpat-box-pad); margin: 0 0 1.5em; }

/* read-only form fields (e.g. the e-mail address taken from the user account in RSForm): recognisable as not
   editable - grey background, dashed border; text #333 on #eee = 11:1 */
input[readonly],
textarea[readonly],
.form-control[readonly],
.form-control:disabled,
input:disabled,
textarea:disabled,
select:disabled {
  background-color: #eee !important;
  color: #333;
  border-style: dashed !important;
  cursor: not-allowed;
}

/* events grouped by month (module "Termine gruppiert", layout termine.php): like live */
.termine .kal-monat { font-size: 1.6em; font-weight: 400; margin: 0.6em 0 0.3em; }
.termine .kal-termin { margin-bottom: 1em; }
.termine .kal-termin a { text-decoration: none; }
.termine .kal-termin a:hover { text-decoration: underline; }
