@charset "UTF-8";
/*
	HTML5 Reset :: style.css
    https://github.com/murtaugh/HTML5-Reset/blob/master/assets/css/reset.css
	----------------------------------------------------------
	We have learned much from/been inspired by/taken code where offered from:
	Eric Meyer					:: http://meyerweb.com
	HTML5 Doctor				:: http://html5doctor.com
	and the HTML5 Boilerplate	:: http://html5boilerplate.com
-------------------------------------------------------------------------------*/
/* Let's default this puppy out
-------------------------------------------------------------------------------*/
html, body, body div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, figure, footer, header, menu, nav, section, time, mark, audio, video, details, summary {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font-weight: normal;
  vertical-align: baseline;
  background: transparent; }

main, article, aside, figure, footer, header, nav, section, details, summary {
  display: block; }

/* Handle box-sizing while better addressing child elements:
   http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
html {
  box-sizing: border-box; }

*,
*:before,
*:after {
  box-sizing: inherit; }

/* consider resetting the default cursor: https://gist.github.com/murtaugh/5247154 */
/* Responsive images and other embedded objects */
/* if you don't have full control over `img` tags (if you have to overcome attributes), consider adding height: auto */
img,
object,
embed {
  max-width: 100%; }

/*
   Note: keeping IMG here will cause problems if you're using foreground images as sprites.
	In fact, it *will* cause problems with Google Maps' controls at small size.
	If this is the case for you, try uncommenting the following:
#map img {
		max-width: none;
}
*/
/* force a vertical scrollbar to prevent a jumpy page */
html {
  overflow-y: scroll; }

/* we use a lot of ULs that aren't bulleted.
	you'll have to restore the bullets within content,
	which is fine because they're probably customized anyway */
ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: '';
  content: none; }

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent; }

del {
  text-decoration: line-through; }

abbr[title], dfn[title] {
  border-bottom: 1px dotted #000;
  cursor: help; }

/* tables still need cellspacing="0" in the markup */
table {
  border-collapse: separate;
  border-spacing: 0; }

th {
  font-weight: bold;
  vertical-align: bottom; }

td {
  font-weight: normal;
  vertical-align: top; }

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0; }

input, select {
  vertical-align: middle; }

pre {
  white-space: pre;
  /* CSS2 */
  white-space: pre-wrap;
  /* CSS 2.1 */
  white-space: pre-line;
  /* CSS 3 (and 2.1 as well, actually) */
  word-wrap: break-word;
  /* IE */ }

input[type="radio"] {
  vertical-align: text-bottom; }

input[type="checkbox"] {
  vertical-align: bottom; }

.ie7 input[type="checkbox"] {
  vertical-align: baseline; }

.ie6 input {
  vertical-align: text-bottom; }

select, input, textarea {
  font: 99% sans-serif; }

table {
  font-size: inherit;
  font: 100%; }

small {
  font-size: 85%; }

strong {
  font-weight: bold; }

td, td img {
  vertical-align: top; }

/* Make sure sup and sub don't mess with your line-heights http://gist.github.com/413930 */
sub, sup {
  font-size: 75%;
  line-height: 0;
  position: relative; }

sup {
  top: -0.5em; }

sub {
  bottom: -0.25em; }

/* standardize any monospaced elements */
pre, code, kbd, samp {
  font-family: monospace, sans-serif; }

/* hand cursor on clickable elements */
.clickable,
label,
input[type=button],
input[type=submit],
input[type=file],
button {
  cursor: pointer; }

/* Webkit browsers add a 2px margin outside the chrome of form elements */
button, input, select, textarea {
  margin: 0; }

/* make buttons play nice in IE */
button,
input[type=button] {
  width: auto;
  overflow: visible; }

/* scale images in IE7 more attractively */
.ie7 img {
  -ms-interpolation-mode: bicubic; }

/* prevent BG image flicker upon hover
   (commented out as usage is rare, and the filter syntax messes with some pre-processors)
.ie6 html {filter: expression(document.execCommand("BackgroundImageCache", false, true));}
*/
/* let's clear some floats */
.clearfix:after {
  content: " ";
  display: block;
  clear: both; }

a {
  text-decoration: none; }

@media (max-width: 1180px) {
  .desktop-only, .only-desktop {
    display: none !important; } }

@media (min-width: 1181px) {
  .mobile-only, .only-mobile {
    display: none !important; } }

:root {
  --pagebg:       #ffffff;
  --footerbg:     #FFC763;
  --ci-purple:    #D4B9DB;
  --ci-pinkish:   #C57970;
  --ci-red:       #96221a;
  --ci-green:     #36AF53;
  --ci-blue:      #96E0D7;
  --ci-brown:     #D0B079;
  --ci-yellow:    #FFC763; }

.bucerius {
  font-family: "Bucerius", "ABC Oracle", "Calibri", "Arial", sans-serif; }

.align-left {
  text-align: left; }

.align-center {
  text-align: center; }

.align-right {
  text-align: right; }
  .align-right > * {
    text-align: left; }

/*
html, body  {
    // Smooth scrolling, adjusted for header size
    scroll-behavior:    smooth;
}
*/
html:not([data-browser="chrome"]), html:not([data-browser="chrome"]) body {
  scroll-behavior: smooth;
  scroll-padding-top: 40px; }
  @media (max-width: 1180px) {
    html:not([data-browser="chrome"]), html:not([data-browser="chrome"]) body {
      scroll-padding-top: 30px; } }
  @media (max-width: 600px) {
    html:not([data-browser="chrome"]), html:not([data-browser="chrome"]) body {
      scroll-padding-top: 30px; } }

html:not([data-browser="chrome"]) #one-pager-navigation {
  scroll-behavior: smooth; }

body {
  font-family: "Open Sans", "Calibri", "Verdana", "Arial", sans-serif;
  font-size: 1.25rem;
  line-height: 1.6;
  color: #000000;
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  justify-content: space-between; }
  @media (max-width: 1180px) {
    body {
      font-size: 1.25rem; } }
  @media (max-width: 600px) {
    body {
      font-size: 1.25rem; } }
  @media (max-width: 1180px) {
    body {
      line-height: 1.6; } }
  @media (max-width: 600px) {
    body {
      line-height: 1.6; } }
  body.menu-open, body.modal-popup {
    overflow: hidden; }

main {
  margin-top: 13.5rem;
  display: flex;
  flex-direction: column;
  align-items: center; }
  @media (max-width: 1180px) {
    main {
      margin-top: 8.25rem; } }
  @media (max-width: 600px) {
    main {
      margin-top: 8.25rem; } }
  main section {
    display: flex;
    flex-direction: column;
    width: 100%;
    max-width: calc(1585px);
    padding-left: 80px;
    padding-right: 80px; }
    body[data-page="junge-freunde"] main section {
      background-color: #ff5532;
      color: #ffffff; }
    @media (max-width: 1180px) {
      main section {
        max-width: 100%; } }
    @media (max-width: 600px) {
      main section {
        max-width: 100%; } }
    @media (max-width: 1180px) {
      main section {
        padding-left: 25px; } }
    @media (max-width: 600px) {
      main section {
        padding-left: 25px; } }
    @media (max-width: 1180px) {
      main section {
        padding-right: 25px; } }
    @media (max-width: 600px) {
      main section {
        padding-right: 25px; } }
    main section.landing .inner, main section.image .inner {
      width: 100%;
      max-width: calc(1585px);
      padding-left: 80px;
      padding-right: 80px; }
      @media (max-width: 1180px) {
        main section.landing .inner, main section.image .inner {
          max-width: 100%; } }
      @media (max-width: 600px) {
        main section.landing .inner, main section.image .inner {
          max-width: 100%; } }
      @media (max-width: 1180px) {
        main section.landing .inner, main section.image .inner {
          padding-left: 25px; } }
      @media (max-width: 600px) {
        main section.landing .inner, main section.image .inner {
          padding-left: 25px; } }
      @media (max-width: 1180px) {
        main section.landing .inner, main section.image .inner {
          padding-right: 25px; } }
      @media (max-width: 600px) {
        main section.landing .inner, main section.image .inner {
          padding-right: 25px; } }
    main section.intermission {
      max-width: 100%;
      padding: 0;
      display: flex;
      flex-direction: column;
      align-items: center; }
      main section.intermission:not(.narrow) .inner {
        width: 100%;
        max-width: calc(1585px);
        padding-left: 80px;
        padding-right: 80px; }
        @media (max-width: 1180px) {
          main section.intermission:not(.narrow) .inner {
            max-width: 100%; } }
        @media (max-width: 600px) {
          main section.intermission:not(.narrow) .inner {
            max-width: 100%; } }
        @media (max-width: 1180px) {
          main section.intermission:not(.narrow) .inner {
            padding-left: 25px; } }
        @media (max-width: 600px) {
          main section.intermission:not(.narrow) .inner {
            padding-left: 25px; } }
        @media (max-width: 1180px) {
          main section.intermission:not(.narrow) .inner {
            padding-right: 25px; } }
        @media (max-width: 600px) {
          main section.intermission:not(.narrow) .inner {
            padding-right: 25px; } }
      main section.intermission.narrow .inner {
        width: 100%;
        max-width: calc(1385px);
        padding-left: 80px;
        padding-right: 80px; }
        @media (max-width: 1180px) {
          main section.intermission.narrow .inner {
            max-width: 100%; } }
        @media (max-width: 600px) {
          main section.intermission.narrow .inner {
            max-width: 100%; } }
        @media (max-width: 1180px) {
          main section.intermission.narrow .inner {
            padding-left: 25px; } }
        @media (max-width: 600px) {
          main section.intermission.narrow .inner {
            padding-left: 25px; } }
        @media (max-width: 1180px) {
          main section.intermission.narrow .inner {
            padding-right: 25px; } }
        @media (max-width: 600px) {
          main section.intermission.narrow .inner {
            padding-right: 25px; } }
      main section.intermission:last-child {
        margin-bottom: 2em; }

/*
.button, .button-link, .language-switch, .tag, .search-input,
.application-item-input input[type=text], .application-item-input input[type=password], .application-item-input textarea, .application-item-input input[type=file],
.application-item-input select   {
    display:    inline-block;
    @include    font-button;
}

*:not(input).button {
    cursor: pointer;
}

.button, .button-link, .tag, .search-input,
.application-item-input input[type=text], .application-item-input input[type=password], .application-item-input textarea, .application-item-input input[type=file],
.application-item-input select   {

    border:     $stroke-width $black solid;
    color:      $black;
    transition: background-color $effect-speed ease-out, color $effect-speed ease-out;;
    background-color: var(--pagebg);

    &:focus {
        outline: none;
        border-color: $purple;
        //outline: 3px $purple solid;
    }
}

.button, .button-link, .tag, .search-input   {
    &:hover, &.selected {
        background-color: $purple;
    }

    &.yellow    {
        --pagebg: #FFC763;
    }
}

.button.round, .button-link, .tag.topic, .search-input,
.application-item-input input[type=text], .application-item-input input[type=password], .application-item-input textarea, .application-item-input input[type=file],
.application-item-input select {
    border-radius: $button-border-radius;
    min-width: 10em;
}

.button.round.menu  {
    @include font-bucerius();

    .do-open, .do-close {
        transform: translateY(10%);
    }

    &:focus {
        border-color: $black !important;
        background-color: $white !important;
    }

    &:hover {
        background-color: $white !important;
    }
}

.button.round.menu-contact, .button.round.menu-login, .button.round.icon  {
    //@include font-bucerius();
    @include rv(padding, 0.1em 2*0.6em 0.1em 2*0.6em, 0.1em 0.6em 0.1em 0.6em);
    min-width: 0;
    background-color: #ffffff;
    text-transform: uppercase;
    &:hover { background-color: $purple; }
    &:hover {
        background-color: $white;
    }
}

.button.round.icon  {
    position: relative;
    padding: 0.1em 1.2em;

    svg, img    {
        display: block;
        height: 90%;
        position: absolute;
        left: 50%;
    }

    &.nailed    {
        svg, img    {
            bottom: 0;
            transform: translateX(-50%);
        }
    }

    &:not(.nailed)  {
        svg, img    {
            top: 50%;
            transform: translate(-50%, -50%);
        }
    }
}

.button-has-arrow, .button, .button-link, .tag, .search-input    {
    @include rv(padding, 0.1em (0.6em * 8) 0.1em 0.6em, 0.1em (0.6em * 4) 0.1em 0.6em);

    &.symmetrical   {
        @include rv(padding, 0.1em 0.6em, 0.1em 0.6em);
    }

    &.collapsed {
        min-width: 0;
    }
}

input.button[type=text], input.button[type=password], .search-input, 
.application-item-input input[type=text], .application-item-input input[type=password], .application-item-input textarea, .application-item-input input[type=file],
.application-item-input select  {
    $padding-left: calc(1.5em *  - 0.15625rem); // 1.5em = padding of input title div, / 20 * 22 = 1.1 accounts for the fact that title is 22px while input is 20 px, 2px is input border

    @include rv(padding, 0.1em (0.6em * 1) 0.1em calc(1.5em / 1.1  - 0.15625rem), 0.5em (0.6em * 1) 0.5em calc(1.5em * 1.1  - 0.15625rem));
}

.application-item-input input[type=text], .application-item-input input[type=password], .application-item-input textarea, .application-item-input input[type=file]  {
    min-width: unset;
}

.tag, .select-title    {
    min-width: unset !important;
    padding:    0.1em 0.6em 0.1em 0.6em;
}

.has-error input[type=text], .has-error input[type=file], .has-error textarea {
    border-color: $red;
    color: $red;
}

.has-error input[type=file]::file-selector-button    {
    color: $red;
    border-right-color: $red !important;
}

.has-error.application-radio    {
    color: $red;
    a   {
        color: $red !important;
    }
}

.button-link, .has-arrow, .search-input    {
    position: relative;

    &::after    {
        content:    '→';
        position:   absolute;
        top:        50%;
        right:      0.6em;
        transform:  translateY(-50%);
        line-height: 1;
        cursor: pointer;
    }

    &.rotate-arrow::after  {
        transform:  translateY(-50%) rotate(-90deg);
    }

    &.purple    {
        --bgcol: #D4B9DB;
        background-color: vaR(--bgcol);
        &:hover {
            --bgcol: #ffffff;
        }
    }
}


.button-link-back, .has-back-arrow    {
    position: relative;

    &::before    {
        content:    '←';
        position:   absolute;
        top:        50%;
        right:      0.6em;
        transform:  translateY(-50%);
        line-height: 1;
        cursor: pointer;
    }

    &.purple    {
        --bgcol: #D4B9DB;
        background-color: vaR(--bgcol);
        &:hover {
            --bgcol: #ffffff;
        }
    }
}

.search-input {
    background-color: $white;
    padding-right: 2em;

    &:focus-within  {
        border-color: $purple;
        //outline: 3px $purple solid;
        outline: none;


        body.menu-open &    {
            border-color: $purple;
        }
    }

    &:hover {
        background-color: $white;
    }

    &::after    {
        display: none !important;

    }

    input   {
        border: none;
        background-color: transparent;
        display: block;
        width: 100%;
        height: 1.5em;
        line-height: 1.5;

        &::placeholder   {
            color: $black;
            opacity: 1 !important;
        }

        &:focus {
            outline: none;
        }
    }

    .arrow   {
        position: absolute;
        top: 50%;
        right: 0.6em;
        transform: translateY(-50%);
        cursor: pointer;
    }
}

.inherit-bg {
    background-color: var(--bgcol);
    &:hover {
        background-color: var(--pagebg);
    }
}

.text-page  {
    display: flex;
    flex-direction: column;
    padding: $mobile-padding;
    padding-bottom: 3em;


    &.space-above   {
        @include rv(margin-top, 6em, 1em);
    }

    .playground {
    }

    .text-page-title {
        @include font-menu;

        a   {
            display: inline-block;
            &:not(:last-child)  {
                margin-right: 1em;
            }
            color: $black;
            text-decoration: none;
            &:hover, &.current {
                text-decoration: underline;
            }
        }
    }
}

.subpage-title  {
    @include font-title();

    > .button {
        margin-left: 0.5em;
    }

    .button.yellow {
        @include font-ws;
    }
    
    &.gridded   {
        display: grid !important;
        @include rv(grid-template-areas, "title button nav", "title title title" "button nav nav");
        @include rv(grid-template-columns, auto minmax(0, 1fr) auto, auto minmax(0, 1fr));
        @include rv(margin-bottom, 0.5em, 2em);

        > *:nth-child(1) {
            grid-area: title;
        }

        > *:nth-child(2) {
            grid-area: button;
            @include rv(padding-left, 0.5em, 0);
        }

        > *:nth-child(3) {
            grid-area: nav;
            display: flex;
            align-items: center;
            .button  {
                margin-left: 0.5em;
            }
        }
    }
}

input[type="text"], input[type="password"]  {
    &::placeholder  {
        color: $black;
        opacity: 1 !important;
    }
}

input, textarea,submit  {
    font-family: $font-default;
}
    */
header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 13.5rem;
  background: #ffffff;
  display: flex;
  justify-content: center;
  z-index: 1020;
  border-bottom: 1px #bcbcbc solid;
  transition: transform 250ms ease-out, opacity 250ms ease-out;
  transform: translateY(0);
  opacity: 1; }
  @media (max-width: 1180px) {
    header {
      height: 8.25rem; } }
  @media (max-width: 600px) {
    header {
      height: 8.25rem; } }
  body.scrolled-down.scrolled-below-head:not(.menu-open) header {
    transform: translateY(-100%);
    opacity: 0; }
  header:focus-within {
    transform: translateY(0) !important;
    opacity: 1 !important; }
  header .inner {
    width: 100%;
    height: 100%;
    max-width: calc(1585px);
    padding-left: 80px;
    padding-right: 80px;
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    justify-content: space-between;
    padding-bottom: 1.5625rem; }
    @media (max-width: 1180px) {
      header .inner {
        max-width: 100%; } }
    @media (max-width: 600px) {
      header .inner {
        max-width: 100%; } }
    @media (max-width: 1180px) {
      header .inner {
        padding-left: 25px; } }
    @media (max-width: 600px) {
      header .inner {
        padding-left: 25px; } }
    @media (max-width: 1180px) {
      header .inner {
        padding-right: 25px; } }
    @media (max-width: 600px) {
      header .inner {
        padding-right: 25px; } }
    @media (max-width: 1180px) {
      header .inner {
        justify-content: flex-start; } }
    @media (max-width: 600px) {
      header .inner {
        justify-content: flex-start; } }
    @media (max-width: 1180px) {
      header .inner {
        padding-bottom: 0.9375rem; } }
    @media (max-width: 600px) {
      header .inner {
        padding-bottom: 0.9375rem; } }
  header .bvfv-logo img {
    display: inline-block;
    width: auto;
    height: 9.4375rem; }
    @media (max-width: 1180px) {
      header .bvfv-logo img {
        height: 5.3125rem; } }
    @media (max-width: 600px) {
      header .bvfv-logo img {
        height: 5.3125rem; } }

#skip-navigation {
  position: fixed;
  top: 50%;
  left: 50%;
  width: 4em;
  height: 4em;
  transform: translate(-50%, -50%) rotate(90deg);
  background-image: url("../images/arrow-right.svg");
  background-size: 75%;
  background-position: center;
  background-repeat: no-repeat;
  background-color: #fffb;
  border-radius: 3px;
  z-index: 1120;
  cursor: pointer;
  transition: opacity 125ms linear;
  pointer-events: none;
  opacity: 0; }
  #skip-navigation:focus {
    pointer-events: all;
    opacity: 1; }
  #skip-navigation::before {
    position: absolute;
    content: attr(title);
    transform: rotate(-90deg);
    right: 90%;
    text-align: center;
    color: #ffffff;
    background: #000b;
    padding: 0.5em; }

*[data-focus-hint][title] {
  position: relative; }
  *[data-focus-hint][title]::before {
    position: absolute;
    content: attr(title);
    bottom: calc(100% + 0.5em);
    left: 50%;
    transform: translateX(-50%);
    text-align: center;
    color: #ffffff;
    background: #000b;
    padding: 0.5em;
    white-space: pre;
    opacity: 0;
    pointer-events: none;
    transition: opacity 125ms linear; }
  *[data-focus-hint][title]:focus::before {
    opacity: 1; }

.intro {
  background-color: #bcbcbc;
  height: 634px;
  max-width: 100%;
  padding-left: 0;
  padding-right: 0; }
  @media (max-width: 1180px) {
    .intro {
      height: auto; } }
  @media (max-width: 600px) {
    .intro {
      height: auto; } }
  .intro.image {
    background-color: #bcbcbc; }
    .intro.image .inner {
      height: 100%; }
      .intro.image .inner figure {
        display: block;
        width: 100%;
        height: 100%;
        position: relative; }
        .intro.image .inner figure img {
          display: block;
          position: absolute;
          inset: 0;
          width: 100%;
          height: 100%;
          object-fit: cover; }
  .intro.landing {
    background-color: #005f6a;
    min-height: 634px; }
    @media (max-width: 1180px) {
      .intro.landing {
        min-height: 0; } }
    @media (max-width: 600px) {
      .intro.landing {
        min-height: 0; } }
    .intro.landing .inner {
      color: #ffffff;
      padding-top: 34px;
      padding-bottom: 54px;
      display: grid;
      grid-template-columns: 1fr 1fr;
      grid-gap: 33px; }
      @media (max-width: 1180px) {
        .intro.landing .inner {
          grid-template-columns: 1fr; } }
      @media (max-width: 600px) {
        .intro.landing .inner {
          grid-template-columns: 1fr; } }
    .intro.landing video {
      display: block;
      width: 100%; }
    .intro.landing .landing-title p {
      font-size: 3.125rem;
      line-height: 1.3;
      font-weight: 300; }
      @media (max-width: 1180px) {
        .intro.landing .landing-title p {
          font-size: 2.5rem; } }
      @media (max-width: 600px) {
        .intro.landing .landing-title p {
          font-size: 2.5rem; } }
      @media (max-width: 1180px) {
        .intro.landing .landing-title p {
          line-height: 1.375; } }
      @media (max-width: 600px) {
        .intro.landing .landing-title p {
          line-height: 1.375; } }
      .intro.landing .landing-title p strong {
        font-weight: bold; }

#menu-desktop {
  display: flex;
  flex-direction: column;
  align-items: flex-end; }
  @media (max-width: 1180px) {
    #menu-desktop {
      display: none; } }
  #menu-desktop .menu {
    display: flex;
    font-size: 1.25rem;
    line-height: 1.3; }
    #menu-desktop .menu a {
      color: #000000; }
      #menu-desktop .menu a:hover, #menu-desktop .menu a:focus-within {
        color: #96221a; }
    #menu-desktop .menu .menu-item {
      padding-left: 0.4375rem;
      position: relative;
      padding-bottom: 2em;
      padding-right: 2.5rem;
      --linecol:      #000000;
      /*
            &::before   {
                content: '';
                position: absolute;
                left: 0;
                top: 0;
                bottom: 0;
                width: 1px;
                background-color: var(--linecol);
            }
                */ }
      #menu-desktop .menu .menu-item:last-child {
        padding-right: 0; }
      #menu-desktop .menu .menu-item .menu-item-title {
        white-space: pre; }
      #menu-desktop .menu .menu-item .menu-subitems {
        z-index: 1021;
        display: none;
        flex-direction: column;
        background: #ffffff;
        position: absolute;
        top: calc(100% - 1.25em);
        left: 0;
        border: 1px #7d706d solid;
        box-shadow: rgba(100, 100, 111, 0.2) 0px 7px 29px 0px; }
      #menu-desktop .menu .menu-item:focus-within, #menu-desktop .menu .menu-item:hover, #menu-desktop .menu .menu-item.current {
        --linecol: #96221a; }
        #menu-desktop .menu .menu-item:focus-within .menu-item-title, #menu-desktop .menu .menu-item:hover .menu-item-title, #menu-desktop .menu .menu-item.current .menu-item-title {
          color: #96221a; }
      #menu-desktop .menu .menu-item:focus-within .menu-subitems, #menu-desktop .menu .menu-item:hover .menu-subitems {
        display: flex;
        white-space: pre; }
      #menu-desktop .menu .menu-item .menu-subitem {
        padding: 0.4375rem 1.3125rem;
        position: relative;
        /*
                &:before    {
                    content: '';
                    left: 0;
                    top: 0;
                    bottom: 0;
                    width: 1px;
                    background-color: var(--linecol);
                    position: absolute;
                }
*/
        /*
                &::after    {
                    content: '';
                    left: 0;
                    top: 50%;
                    height: 1px;
                    width: $menuPadding * 2;
                    background-color: var(--linecol);
                    position: absolute;

                }*/ }
        #menu-desktop .menu .menu-item .menu-subitem:first-child {
          padding-top: 0.875rem; }
        #menu-desktop .menu .menu-item .menu-subitem:last-child {
          padding-bottom: 0.875rem; }
        #menu-desktop .menu .menu-item .menu-subitem.current {
          color: #96221a; }
        #menu-desktop .menu .menu-item .menu-subitem:last-child:before {
          bottom: 50%; }
        #menu-desktop .menu .menu-item .menu-subitem + .menu-subitem {
          margin-top: -0.4375rem; }

#menu-mobile {
  display: flex;
  flex-direction: column;
  padding-bottom: 80px;
  border-bottom: 1px #7d706d solid;
  background-color: #ffffff;
  position: fixed;
  top: 8.25rem;
  left: 0;
  width: 100%;
  overscroll-behavior: contain;
  max-height: calc(100vh - 8.25rem);
  overflow-y: scroll;
  font-size: 1.25rem;
  line-height: 1.5; }
  @media (max-width: 1180px) {
    #menu-mobile {
      padding-bottom: 25px; } }
  @media (max-width: 600px) {
    #menu-mobile {
      padding-bottom: 25px; } }
  @media (min-width: 1181px) {
    #menu-mobile {
      display: none; } }
  #menu-mobile:not(.open) {
    display: none; }
  #menu-mobile a {
    color: #000000;
    font-weight: 300; }
    #menu-mobile a:hover, #menu-mobile a .current {
      color: #96221a; }
  #menu-mobile .menu-item-title {
    font-weight: normal; }
  #menu-mobile .menu .menu-item {
    position: relative;
    padding: 12.5px 25px 0 25px; }
    #menu-mobile .menu .menu-item .menu-subitems {
      display: flex;
      flex-direction: column;
      padding: 12.5px 25px 0 25px; }

#burger {
  width: 2.375rem;
  height: 2.375rem;
  transition: fill 100ms ease-in, stroke 100ms ease-in;
  padding: 0.4375rem;
  position: fixed;
  right: 80px;
  top: 80px;
  z-index: 1021; }
  @media (min-width: 1181px) {
    #burger {
      display: none; } }
  @media (max-width: 1180px) {
    #burger {
      right: 25px; } }
  @media (max-width: 600px) {
    #burger {
      right: 25px; } }
  @media (max-width: 1180px) {
    #burger {
      top: 25px; } }
  @media (max-width: 600px) {
    #burger {
      top: 25px; } }
  body.menu-open #burger {
    position: absolute; }
  #burger .closed, #burger .open {
    cursor: pointer; }
    #burger .closed path, #burger .open path {
      fill: #000000;
      stroke: #000000; }
  #burger .closed {
    width: 100%;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    opacity: 1;
    transition: opacity 250ms ease-out, transform 250ms ease-out; }
  #burger .open {
    width: 68.42105%;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    opacity: 0;
    transition: opacity 250ms ease-out, transform 250ms ease-out; }
  #burger.open > .closed {
    visibility: hidden;
    transform: translate(-50%, -50%) scaleX(-1); }
  #burger:not(.open) > .open {
    transform: translate(-50%, -50%) scaleX(-1);
    visibility: hidden; }
  #burger.open > .open {
    visibility: visible;
    opacity: 1;
    transform: translate(-50%, -50%) scaleX(1); }
  #burger:not(.open) .closed {
    visibility: visible;
    opacity: 1; }

.lang-switch {
  display: inline-flex;
  align-items: center;
  color: #000000;
  margin-bottom: 1em;
  margin-top: 0;
  margin-left: 0; }
  @media (max-width: 1180px) {
    .lang-switch {
      margin-bottom: 0; } }
  @media (max-width: 600px) {
    .lang-switch {
      margin-bottom: 0; } }
  @media (max-width: 1180px) {
    .lang-switch {
      margin-top: 2em; } }
  @media (max-width: 600px) {
    .lang-switch {
      margin-top: 2em; } }
  @media (max-width: 1180px) {
    .lang-switch {
      margin-left: 25px; } }
  @media (max-width: 600px) {
    .lang-switch {
      margin-left: 25px; } }
  .lang-switch:hover div {
    color: #96221a; }
  .lang-switch img {
    max-height: 1em;
    transform: translateY(5%);
    box-shadow: rgba(0, 0, 0, 0.16) 0px 1px 4px; }
  .lang-switch div {
    margin-left: 0.5em; }

.intermission {
  background-color: #b9eaed; }
  .intermission .inner {
    padding-top: 1.25rem;
    padding-bottom: 1.25rem; }
    @media (max-width: 1180px) {
      .intermission .inner {
        padding-top: 1.25rem; } }
    @media (max-width: 600px) {
      .intermission .inner {
        padding-top: 1.25rem; } }
    @media (max-width: 1180px) {
      .intermission .inner {
        padding-bottom: 1.25rem; } }
    @media (max-width: 600px) {
      .intermission .inner {
        padding-bottom: 1.25rem; } }
  .intermission a {
    color: #000000; }
    .intermission a:hover {
      text-decoration: underline; }

.intermission.variant-1 .intermission-text p {
  font-weight: bold; }
  .intermission.variant-1 .intermission-text p strong {
    font-weight: 300;
    font-size: 3.125rem;
    line-height: 1.3; }
    @media (max-width: 1180px) {
      .intermission.variant-1 .intermission-text p strong {
        font-size: 2.5rem; } }
    @media (max-width: 600px) {
      .intermission.variant-1 .intermission-text p strong {
        font-size: 2.5rem; } }
    @media (max-width: 1180px) {
      .intermission.variant-1 .intermission-text p strong {
        line-height: 1.25; } }
    @media (max-width: 600px) {
      .intermission.variant-1 .intermission-text p strong {
        line-height: 1.25; } }

.intermission.variant-1 .intermission-links {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  margin-left: -2.5rem; }
  @media (max-width: 1180px) {
    .intermission.variant-1 .intermission-links {
      flex-direction: column; } }
  @media (max-width: 600px) {
    .intermission.variant-1 .intermission-links {
      flex-direction: column; } }
  .intermission.variant-1 .intermission-links a {
    margin-left: 2.5rem; }

.intermission.variant-quote .intermission-icon {
  width: 2.5625rem;
  position: absolute;
  top: 0.4em;
  left: 0; }
  @media (max-width: 1180px) {
    .intermission.variant-quote .intermission-icon {
      width: 1.9375rem; } }
  @media (max-width: 600px) {
    .intermission.variant-quote .intermission-icon {
      width: 1.9375rem; } }

.intermission.variant-quote .inner-canvas {
  position: relative; }

.intermission.variant-quote .intermission-text, .intermission.variant-quote .intermission-links {
  padding-left: calc(2.5625rem + 1em); }
  @media (max-width: 1180px) {
    .intermission.variant-quote .intermission-text, .intermission.variant-quote .intermission-links {
      padding-left: calc(1.9375rem + 0.5em); } }
  @media (max-width: 600px) {
    .intermission.variant-quote .intermission-text, .intermission.variant-quote .intermission-links {
      padding-left: calc(1.9375rem + 0.5em); } }

.intermission.variant-quote .intermission-text p i {
  font-style: italic; }

.intermission.variant-quote .intermission-links {
  margin-top: 0.5em;
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  margin-left: -2.5rem; }
  @media (max-width: 1180px) {
    .intermission.variant-quote .intermission-links {
      margin-top: 1em; } }
  @media (max-width: 600px) {
    .intermission.variant-quote .intermission-links {
      margin-top: 1em; } }
  @media (max-width: 1180px) {
    .intermission.variant-quote .intermission-links {
      flex-direction: column; } }
  @media (max-width: 600px) {
    .intermission.variant-quote .intermission-links {
      flex-direction: column; } }
  .intermission.variant-quote .intermission-links a {
    margin-left: 2.5rem; }

.variant-1 + .variant-quote {
  border-top: 2px #005f6a solid; }

.intermission.variant-newsletter .inner {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-gap: 0.5em 2.5rem;
  grid-template-areas: "left right right"; }
  @media (max-width: 1180px) {
    .intermission.variant-newsletter .inner {
      grid-template-columns: 1fr; } }
  @media (max-width: 600px) {
    .intermission.variant-newsletter .inner {
      grid-template-columns: 1fr; } }
  @media (max-width: 1180px) {
    .intermission.variant-newsletter .inner {
      grid-template-areas: "left" "right"; } }
  @media (max-width: 600px) {
    .intermission.variant-newsletter .inner {
      grid-template-areas: "left" "right"; } }
  .intermission.variant-newsletter .inner > *:first-child {
    grid-area: left; }
  .intermission.variant-newsletter .inner > *:last-child {
    grid-area: right; }
  .intermission.variant-newsletter .inner .left {
    font-size: 3.125rem;
    line-height: 1.36;
    display: flex;
    justify-content: flex-end;
    align-items: center; }
    @media (max-width: 1180px) {
      .intermission.variant-newsletter .inner .left {
        justify-content: flex-start; } }
    @media (max-width: 600px) {
      .intermission.variant-newsletter .inner .left {
        justify-content: flex-start; } }
    @media (max-width: 1180px) {
      .intermission.variant-newsletter .inner .left {
        align-items: top; } }
    @media (max-width: 600px) {
      .intermission.variant-newsletter .inner .left {
        align-items: top; } }

.intermission.variant-text .inner .text-canvas {
  max-width: 64%;
  grid-template-columns: repeat(3, minmax(0, 1fr)); }
  @media (max-width: 1180px) {
    .intermission.variant-text .inner .text-canvas {
      max-width: 100%; } }
  @media (max-width: 600px) {
    .intermission.variant-text .inner .text-canvas {
      max-width: 100%; } }
  @media (max-width: 1180px) {
    .intermission.variant-text .inner .text-canvas {
      grid-template-columns: 1fr; } }
  @media (max-width: 600px) {
    .intermission.variant-text .inner .text-canvas {
      grid-template-columns: 1fr; } }
  .intermission.variant-text .inner .text-canvas > * + * {
    margin-top: 1.875rem; }
    @media (max-width: 1180px) {
      .intermission.variant-text .inner .text-canvas > * + * {
        margin-top: 1.25rem; } }
    @media (max-width: 600px) {
      .intermission.variant-text .inner .text-canvas > * + * {
        margin-top: 1.25rem; } }

.icon-after, .icon-before {
  --iconImg:  url('../images/arrow-right.svg');
  --iconSize: 0.8em; }
  .icon-after.arrow-left:after, .icon-after.arrow-left:before, .icon-before.arrow-left:after, .icon-before.arrow-left:before {
    transform: scaleX(-1);
    filter: FlipH; }
  .icon-after.arrow-right-red, .icon-before.arrow-right-red {
    --iconImg:  url('../images/arrow-right-red.svg'); }
  .icon-after.phone, .icon-before.phone {
    --iconImg: url('../images/icon-phone.svg'); }
  .icon-after.email, .icon-before.email {
    --iconImg: url('../images/icon-email.svg'); }
  .icon-after.share, .icon-before.share {
    --iconImg: url('../images/icon-share.svg'); }
  .icon-after.facebook, .icon-before.facebook {
    --iconImg: url('../images/icon-facebook.svg'); }
  .icon-after.facebook-white, .icon-before.facebook-white {
    --iconImg: url('../images/icon-facebook-white.svg');
    --iconSize: 1.8em;
    display: inline-flex; }
  .icon-after.linkedin, .icon-before.linkedin {
    --iconImg: url('../images/icon-linkedin.svg'); }
  .icon-after.bluesky, .icon-before.bluesky {
    --iconImg: url('../images/icon-bluesky.svg'); }
  .icon-after.download, .icon-before.download {
    --iconImg: url('../images/icon-download.svg'); }
  .icon-after.pdf, .icon-before.pdf {
    --iconImg: url('../images/icon-pdf.svg'); }
  .icon-after.download-white, .icon-before.download-white {
    --iconImg: url('../images/icon-download-white.svg'); }
  .icon-after.open, .icon-before.open {
    --iconImg: url('../images/icon-expander-open.svg'); }
  .icon-after.close, .icon-before.close {
    --iconImg: url('../images/icon-expander-close.svg'); }
  .icon-after.email, .icon-after.phone, .icon-before.email, .icon-before.phone {
    hyphens: auto;
    word-break: break-all; }
  .icon-after:after, .icon-before:after {
    margin-left: 0.5em; }
  .icon-after::before, .icon-before::before {
    margin-right: 0.5em; }
  .icon-after:after, .icon-after:before, .icon-before:after, .icon-before:before {
    display: inline-block;
    width: var(--iconSize);
    height: var(--iconSize);
    vertical-align: baseline;
    background-image: var(--iconImg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    overflow: hidden; }

.icon-after::after {
  content: ''; }

.icon-before::before {
  content: ''; }

a.icon-after, a.icon-before {
  color: #000000; }
  a.icon-after:hover, a.icon-before:hover {
    text-decoration: underline; }

section {
  display: flex; }

article {
  display: grid;
  grid-template-columns: 4fr 1fr;
  grid-gap: 1.875rem 6.25rem;
  grid-template-areas: "title share" "content aside"; }
  @media (max-width: 1180px) {
    article {
      grid-template-columns: 1fr; } }
  @media (max-width: 600px) {
    article {
      grid-template-columns: 1fr; } }
  @media (max-width: 1180px) {
    article {
      grid-gap: 1.875rem 0; } }
  @media (max-width: 600px) {
    article {
      grid-gap: 1.875rem 0; } }
  @media (max-width: 1180px) {
    article {
      grid-template-areas: "title" "share" "content" "aside"; } }
  @media (max-width: 600px) {
    article {
      grid-template-areas: "title" "share" "content" "aside"; } }
  article:has(div.img) {
    grid-template-areas: "title share" "img aside" "content aside"; }
    @media (max-width: 1180px) {
      article:has(div.img) {
        grid-template-areas: "title" "img" "share" "content" "aside"; } }
    @media (max-width: 600px) {
      article:has(div.img) {
        grid-template-areas: "title" "img" "share" "content" "aside"; } }
  article .title {
    grid-area: title; }
  article .share {
    grid-area: share; }
  article .content {
    grid-area: content; }
  article .img {
    grid-area: img; }
  article aside {
    grid-area: aside; }
  article .img {
    display: block; }
    article .img figure {
      display: block;
      position: relative;
      width: 100%;
      max-width: 100%; }
      @media (max-width: 1180px) {
        article .img figure {
          max-width: Min(100%, 37.5rem); } }
      @media (max-width: 600px) {
        article .img figure {
          max-width: Min(100%, 37.5rem); } }
      article .img figure .placeholder {
        display: block;
        width: 100%; }
      article .img figure img {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        object-fit: cover; }
    article .img.no-crop .placeholder {
      display: none !important; }
    article .img.no-crop figure {
      max-width: unset !important;
      margin-left: 0;
      margin-right: 0;
      width: calc(100% + 50px); }
      @media (max-width: 1180px) {
        article .img.no-crop figure {
          margin-left: -25px; } }
      @media (max-width: 600px) {
        article .img.no-crop figure {
          margin-left: -25px; } }
      @media (max-width: 1180px) {
        article .img.no-crop figure {
          margin-right: -25px; } }
      @media (max-width: 600px) {
        article .img.no-crop figure {
          margin-right: -25px; } }
      article .img.no-crop figure img {
        position: relative;
        display: block; }
  article .content {
    display: flex;
    flex-direction: column;
    hyphens: none; }
    article .content > * + *:not(.collapse-above) {
      margin-top: 1em; }
    @media (max-width: 1180px) {
      article .content {
        hyphens: none; } }
    @media (max-width: 600px) {
      article .content {
        hyphens: auto; } }
    article .content > p > a {
      color: #000000;
      text-decoration: underline; }
      article .content > p > a:hover {
        color: #96221a; }
      body[data-page="junge-freunde"] article .content > p > a {
        color: #ffffff; }
    article .content ul li:not(.pel-person) {
      position: relative;
      padding-left: 1.25em; }
      article .content ul li:not(.pel-person)::before {
        content: '–';
        position: absolute;
        left: 0; }
      article .content ul li:not(.pel-person) + li {
        margin-top: 0.5em; }
    article .content ul .pel-text a {
      color: #96221a; }
      article .content ul .pel-text a:hover {
        text-decoration: underline; }
  article .share {
    padding-left: 0.78125rem; }
    body[data-page="junge-freunde"] article .share a {
      color: #ffffff; }
    @media (max-width: 1180px) {
      article .share {
        padding-left: 0; } }
    @media (max-width: 600px) {
      article .share {
        padding-left: 0; } }
    article .share .share {
      padding-left: 0; }
    article .share .share-expander {
      text-align: left;
      margin-left: 0;
      cursor: pointer;
      position: relative; }
      @media (max-width: 1180px) {
        article .share .share-expander {
          text-align: right; } }
      @media (max-width: 600px) {
        article .share .share-expander {
          text-align: right; } }
      @media (max-width: 1180px) {
        article .share .share-expander {
          margin-left: auto; } }
      @media (max-width: 600px) {
        article .share .share-expander {
          margin-left: auto; } }
      article .share .share-expander a {
        color: #000000; }
        article .share .share-expander a:hover {
          text-decoration: underline; }
      article .share .share-expander:not(.open) #share-expansion {
        display: none; }
      article .share .share-expander.open #share-button::before {
        --iconImg: url('../images/icon-share-active.svg'); }
    article .share #share-expansion {
      z-index: 1019;
      text-align: left;
      position: absolute;
      top: calc(100% + 0.5em);
      padding: 0.46875rem 0.9375rem;
      background-color: #ffffff;
      border: 1px #898989 solid;
      display: flex;
      flex-direction: column; }
      @media (min-width: 1181px) {
        article .share #share-expansion {
          left: 0; } }
      @media (max-width: 1180px) {
        article .share #share-expansion {
          right: 0; } }
      @media (max-width: 1180px) {
        article .share #share-expansion {
          padding: 0.78125rem 1.5625rem; } }
      @media (max-width: 600px) {
        article .share #share-expansion {
          padding: 0.78125rem 1.5625rem; } }
  article aside {
    border-left: 1px #bcbcbc solid;
    padding-left: 0.78125rem;
    border-top: none;
    padding-top: 0; }
    @media (max-width: 1180px) {
      article aside {
        border-left: none; } }
    @media (max-width: 600px) {
      article aside {
        border-left: none; } }
    @media (max-width: 1180px) {
      article aside {
        padding-left: 0; } }
    @media (max-width: 600px) {
      article aside {
        padding-left: 0; } }
    @media (max-width: 1180px) {
      article aside {
        border-top: 1px #bcbcbc solid; } }
    @media (max-width: 600px) {
      article aside {
        border-top: 1px #bcbcbc solid; } }
    @media (max-width: 1180px) {
      article aside {
        padding-top: 2.34375rem; } }
    @media (max-width: 600px) {
      article aside {
        padding-top: 2.34375rem; } }
    article aside > * + * {
      margin-top: 1em; }
    article aside strong {
      font-weight: bold; }
    article aside nav {
      display: flex;
      flex-direction: column; }
      article aside nav a {
        color: #898989; }
        article aside nav a:hover, article aside nav a.current {
          color: #96221a; }
        body[data-page="junge-freunde"] article aside nav a {
          color: #ffffff; }
          body[data-page="junge-freunde"] article aside nav a:hover, body[data-page="junge-freunde"] article aside nav a.current {
            text-decoration: underline; }
      article aside nav.download-list a + a {
        margin-top: 1em; }

section h1 {
  font-weight: 300;
  font-size: 2.5rem;
  line-height: 1.625;
  color: #96221a; }
  @media (max-width: 1180px) {
    section h1 {
      font-size: 1.875rem; } }
  @media (max-width: 600px) {
    section h1 {
      font-size: 1.875rem; } }
  @media (max-width: 1180px) {
    section h1 {
      line-height: 1.66667; } }
  @media (max-width: 600px) {
    section h1 {
      line-height: 1.66667; } }
  body[data-page="junge-freunde"] section h1 {
    color: #ffffff; }

section h2 {
  font-weight: bold;
  font-size: 1.875rem;
  line-height: 1.5; }

.portrait-head {
  width: 100%;
  max-width: Min(60%, 18.75rem);
  position: relative; }
  .person-expander-list .portrait-head {
    max-width: Min(40%, 11.25rem); }
  .portrait-head .placeholder {
    display: block;
    width: 100%; }
  .portrait-head img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover; }

aside .book-cover {
  width: 100%;
  max-width: Min(60%, 18.75rem); }
  aside .book-cover img {
    display: block;
    width: 100%; }

.col3, .col2, article, .intermission.variant-text .inner, .person-expander-list {
  padding-top: 5rem;
  padding-bottom: 5rem; }
  @media (max-width: 1180px) {
    .col3, .col2, article, .intermission.variant-text .inner, .person-expander-list {
      padding-top: 2.5rem; } }
  @media (max-width: 600px) {
    .col3, .col2, article, .intermission.variant-text .inner, .person-expander-list {
      padding-top: 2.5rem; } }
  @media (max-width: 1180px) {
    .col3, .col2, article, .intermission.variant-text .inner, .person-expander-list {
      padding-bottom: 2.5rem; } }
  @media (max-width: 600px) {
    .col3, .col2, article, .intermission.variant-text .inner, .person-expander-list {
      padding-bottom: 2.5rem; } }

.person-expander-list {
  padding-top: 0.625rem;
  padding-bottom: 0.625rem; }
  @media (max-width: 1180px) {
    .person-expander-list {
      padding-top: 0.625rem; } }
  @media (max-width: 600px) {
    .person-expander-list {
      padding-top: 0.625rem; } }
  @media (max-width: 1180px) {
    .person-expander-list {
      padding-bottom: 0.625rem; } }
  @media (max-width: 600px) {
    .person-expander-list {
      padding-bottom: 0.625rem; } }

.col2 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 2.5rem; }
  @media (max-width: 1180px) {
    .col2 {
      grid-template-columns: 1fr; } }
  @media (max-width: 600px) {
    .col2 {
      grid-template-columns: 1fr; } }
  @media (max-width: 1180px) {
    .col2 {
      gap: 4.375rem 0; } }
  @media (max-width: 600px) {
    .col2 {
      gap: 4.375rem 0; } }

.col3 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0 2.5rem; }
  @media (max-width: 1180px) {
    .col3 {
      grid-template-columns: 1fr; } }
  @media (max-width: 600px) {
    .col3 {
      grid-template-columns: 1fr; } }
  @media (max-width: 1180px) {
    .col3 {
      gap: 4.375rem 0; } }
  @media (max-width: 600px) {
    .col3 {
      gap: 4.375rem 0; } }

.col3 .col, .col2 .col, article aside .col {
  display: flex;
  flex-direction: column;
  align-items: flex-start; }
  .col3 .col .col-text, .col2 .col .col-text, article aside .col .col-text {
    hyphens: none; }
    @media (max-width: 1180px) {
      .col3 .col .col-text, .col2 .col .col-text, article aside .col .col-text {
        hyphens: none; } }
    @media (max-width: 600px) {
      .col3 .col .col-text, .col2 .col .col-text, article aside .col .col-text {
        hyphens: auto; } }
    .col3 .col .col-text > * + *, .col2 .col .col-text > * + *, article aside .col .col-text > * + * {
      margin-top: 1em; }
  .col3 .col .col-img, .col2 .col .col-img, article aside .col .col-img {
    position: relative;
    width: Min(100%, 31.25rem); }
    .col3 .col .col-img svg, .col2 .col .col-img svg, article aside .col .col-img svg {
      display: block;
      width: 100%; }
    .col3 .col .col-img img, .col2 .col .col-img img, article aside .col .col-img img {
      display: block;
      position: absolute;
      top: 0;
      left: 0;
      height: 100%;
      width: 100%;
      object-fit: cover; }
  .col3 .col .col-category, .col2 .col .col-category, article aside .col .col-category {
    font-weight: bold;
    color: #96221a;
    margin-top: 1.5625rem; }
  .col3 .col .col-title, .col2 .col .col-title, article aside .col .col-title {
    font-weight: bold;
    font-size: 2.1875rem;
    line-height: 1.14286;
    margin-bottom: 1.5625rem; }
  .col3 .col a.col-more, .col2 .col a.col-more, article aside .col a.col-more {
    color: #000000;
    text-decoration: underline; }
    .col3 .col a.col-more:hover, .col2 .col a.col-more:hover, article aside .col a.col-more:hover {
      color: #96221a; }

.col2.books {
  gap: 5rem 3.75rem; }
  @media (max-width: 1180px) {
    .col2.books {
      gap: 4.375rem 0; } }
  @media (max-width: 600px) {
    .col2.books {
      gap: 4.375rem 0; } }
  .col2.books .col {
    display: flex;
    flex-direction: row; }
    @media (max-width: 1180px) {
      .col2.books .col {
        flex-direction: row; } }
    @media (max-width: 600px) {
      .col2.books .col {
        flex-direction: column; } }
    .col2.books .col .col-book-cover {
      display: block;
      width: 16.25rem;
      min-width: 16.25rem; }
      @media (max-width: 1180px) {
        .col2.books .col .col-book-cover {
          width: 12.5rem; } }
      @media (max-width: 600px) {
        .col2.books .col .col-book-cover {
          width: 10rem; } }
      @media (max-width: 1180px) {
        .col2.books .col .col-book-cover {
          min-width: 12.5rem; } }
      @media (max-width: 600px) {
        .col2.books .col .col-book-cover {
          min-width: 10rem; } }
    .col2.books .col .col-book-text {
      padding-left: 2.5rem;
      padding-top: 0;
      hyphens: auto; }
      @media (max-width: 1180px) {
        .col2.books .col .col-book-text {
          padding-left: 2.5rem; } }
      @media (max-width: 600px) {
        .col2.books .col .col-book-text {
          padding-left: 0; } }
      @media (max-width: 1180px) {
        .col2.books .col .col-book-text {
          padding-top: 0; } }
      @media (max-width: 600px) {
        .col2.books .col .col-book-text {
          padding-top: 1.25rem; } }

section.separate-more {
  flex-direction: column;
  margin-bottom: -0.9375rem; }
  section.separate-more::before {
    content: '';
    display: none;
    margin-top: 1.5625rem;
    margin-bottom: 3.125rem;
    width: 100%;
    height: 1px;
    background-color: #7d706d; }
    @media (max-width: 1180px) {
      section.separate-more::before {
        display: block; } }
    @media (max-width: 600px) {
      section.separate-more::before {
        display: block; } }
  @media (max-width: 1180px) {
    section.separate-more {
      margin-bottom: 0; } }
  @media (max-width: 600px) {
    section.separate-more {
      margin-bottom: 0; } }

.person-expander-list {
  display: grid;
  grid-gap: 0 2.5rem;
  grid-template-columns: 1fr; }
  @media (max-width: 1180px) {
    .person-expander-list {
      grid-template-columns: 1fr; } }
  @media (max-width: 600px) {
    .person-expander-list {
      grid-template-columns: 1fr; } }
  .person-expander-list h2 {
    font-size: 1.25rem;
    line-height: 2;
    border-bottom: 2px #000000 solid;
    padding-bottom: 0.25em;
    margin-bottom: 0.5em;
    color: #96221a; }
  .person-expander-list ul + h2 {
    margin-top: 2em; }
  .person-expander-list .pel-person {
    display: inline-block;
    width: 100%; }
    .person-expander-list .pel-person + .pel-person {
      border-top: 1px #7d706d solid;
      margin-top: 0.5em;
      padding-top: 0.5em; }
    .person-expander-list .pel-person:last-child {
      border-bottom: 2px #000000 solid;
      margin-bottom: 0.5em;
      padding-bottom: 0.5em; }
  .person-expander-list .pel-expansion {
    padding-top: 1em; }
    .person-expander-list .pel-expansion:not(.open) {
      display: none; }
    .person-expander-list .pel-expansion > *:first-child {
      margin-top: 0.5em; }
  .person-expander-list .pel-text > * + * {
    margin-top: 1em; }
  .person-expander-list .pel-name {
    display: block;
    position: relative;
    padding-left: calc(1.875rem + 0.75em); }
    .person-expander-list .pel-name::before {
      position: absolute;
      left: 0;
      top: 0.2em;
      width: 1.875rem;
      height: 1.875rem; }
  .person-expander-list .pel-expansion {
    margin-left: calc(1.875rem + 0.75em); }
  .person-expander-list .pel-name.icon-before {
    cursor: pointer; }

footer {
  padding-top: 3.125rem;
  padding-bottom: 3.125rem;
  background: #96221a;
  color: #ffffff;
  display: flex;
  justify-content: center; }
  @media (max-width: 1180px) {
    footer {
      padding-top: 1.5625rem; } }
  @media (max-width: 600px) {
    footer {
      padding-top: 1.5625rem; } }
  @media (max-width: 1180px) {
    footer {
      padding-bottom: 1.5625rem; } }
  @media (max-width: 600px) {
    footer {
      padding-bottom: 1.5625rem; } }
  footer .inner {
    width: 100%;
    max-width: calc(1585px);
    padding-left: 80px;
    padding-right: 80px;
    display: flex;
    justify-content: space-between;
    justify-self: flex-start;
    flex-direction: row; }
    @media (max-width: 1180px) {
      footer .inner {
        max-width: 100%; } }
    @media (max-width: 600px) {
      footer .inner {
        max-width: 100%; } }
    @media (max-width: 1180px) {
      footer .inner {
        padding-left: 25px; } }
    @media (max-width: 600px) {
      footer .inner {
        padding-left: 25px; } }
    @media (max-width: 1180px) {
      footer .inner {
        padding-right: 25px; } }
    @media (max-width: 600px) {
      footer .inner {
        padding-right: 25px; } }
    @media (max-width: 1180px) {
      footer .inner {
        flex-direction: column-reverse; } }
    @media (max-width: 600px) {
      footer .inner {
        flex-direction: column-reverse; } }
  footer .left, footer .right {
    display: flex;
    flex-direction: row;
    align-items: center; }
    @media (max-width: 1180px) {
      footer .left, footer .right {
        flex-direction: column; } }
    @media (max-width: 600px) {
      footer .left, footer .right {
        flex-direction: column; } }
    @media (max-width: 1180px) {
      footer .left, footer .right {
        align-items: flex-start; } }
    @media (max-width: 600px) {
      footer .left, footer .right {
        align-items: flex-start; } }
    footer .left a, footer .right a {
      color: #ffffff;
      cursor: pointer; }
      footer .left a:hover, footer .right a:hover {
        text-decoration: underline; }
  footer .left {
    font-size: 0.875rem;
    line-height: 1.71429;
    display: flex;
    flex-direction: column;
    margin-right: auto;
    align-items: flex-start; }
  footer .right {
    font-size: 1.25rem;
    line-height: 1.3;
    display: flex;
    flex-direction: row;
    margin-left: 7.5rem;
    margin-bottom: 0; }
    @media (max-width: 1180px) {
      footer .right {
        flex-direction: column; } }
    @media (max-width: 600px) {
      footer .right {
        flex-direction: column; } }
    @media (max-width: 1180px) {
      footer .right {
        margin-left: 0; } }
    @media (max-width: 600px) {
      footer .right {
        margin-left: 0; } }
    @media (max-width: 1180px) {
      footer .right {
        margin-bottom: 2.5rem; } }
    @media (max-width: 600px) {
      footer .right {
        margin-bottom: 2.5rem; } }
    footer .right img {
      display: inline-block;
      width: 13.75rem;
      margin-left: 2.5rem;
      margin-top: 0; }
      @media (max-width: 1180px) {
        footer .right img {
          width: 11.25rem; } }
      @media (max-width: 600px) {
        footer .right img {
          width: 11.25rem; } }
      @media (max-width: 1180px) {
        footer .right img {
          margin-left: 0; } }
      @media (max-width: 600px) {
        footer .right img {
          margin-left: 0; } }
      @media (max-width: 1180px) {
        footer .right img {
          margin-top: 1.25rem; } }
      @media (max-width: 600px) {
        footer .right img {
          margin-top: 1.25rem; } }
    footer .right a + a {
      margin-left: 2.5rem; }
      @media (max-width: 1180px) {
        footer .right a + a {
          margin-left: 0; } }
      @media (max-width: 600px) {
        footer .right a + a {
          margin-left: 0; } }
