@charset "UTF-8";

/*
Theme Name: Fachwerk Media
Author: Fachwerk Media GbR
Author URI: https://fachwerk.media
Description: Wordpress Theme von Fachwerk Media
Version: 1.0
Text Domain: fachwerk-media
*/

/* Fonts */
  /* open-sans-300 - latin */
  @font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 300;
    src: url('fonts/open-sans-v40-latin-300.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
  }

  /* open-sans-300italic - latin */
  @font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Open Sans';
    font-style: italic;
    font-weight: 300;
    src: url('fonts/open-sans-v40-latin-300italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
  }

  /* open-sans-regular - latin */
  @font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 400;
    src: url('fonts/open-sans-v40-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
  }

  /* open-sans-italic - latin */
  @font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Open Sans';
    font-style: italic;
    font-weight: 400;
    src: url('fonts/open-sans-v40-latin-italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
  }

  /* open-sans-500 - latin */
  @font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 500;
    src: url('fonts/open-sans-v40-latin-500.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
  }

  /* open-sans-500italic - latin */
  @font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Open Sans';
    font-style: italic;
    font-weight: 500;
    src: url('fonts/open-sans-v40-latin-500italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
  }

  /* open-sans-600 - latin */
  @font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 600;
    src: url('fonts/open-sans-v40-latin-600.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
  }

  /* open-sans-600italic - latin */
  @font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Open Sans';
    font-style: italic;
    font-weight: 600;
    src: url('fonts/open-sans-v40-latin-600italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
  }

  /* open-sans-700 - latin */
  @font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 700;
    src: url('fonts/open-sans-v40-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
  }

  /* open-sans-700italic - latin */
  @font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Open Sans';
    font-style: italic;
    font-weight: 700;
    src: url('fonts/open-sans-v40-latin-700italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
  }

  /* open-sans-800 - latin */
  @font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 800;
    src: url('fonts/open-sans-v40-latin-800.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
  }

  /* open-sans-800italic - latin */
  @font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Open Sans';
    font-style: italic;
    font-weight: 800;
    src: url('fonts/open-sans-v40-latin-800italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
  }

/* Reset */
*,
body {
  margin: 0;
  padding: 0;
  border: 0;
  outline: transparent;

  vertical-align: baseline;
	list-style: none;
	text-decoration: none;
}

  /* Form fields reset */
  input,
  textarea,
  select,
  button,
  label {
    float: none;

    width: auto;
    border: 0;
    border-radius: 0;
    padding: 0;
    margin: 0;

    background: none;

    -moz-box-shadow: none;
    -webkit-box-shadow: none;
    box-shadow: none;
  }

  input,
  textarea
  select { -webkit-appearance: none; }

  input::-webkit-outer-spin-button,
  input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
  }

/* Basic */
  /* Text */
  * {
    font-family: 'Open Sans', Arial, sans-serif;
    font-size: 12pt;
    line-height: 1.6;
    font-weight: 400;
    font-style: normal;
    color: #1D1D1B;
  }
  
  figcaption { letter-spacing: .25pt; }

  p, span, a, li, strong, b, em, i, label, button,
  th, td, address, blockquote,
  .single-team-project figcaption { letter-spacing: .5pt; }

  h2, h3, h4, h5, h6,
  h2 > a, h3 > a, h4 > a, h5 > a, h6 > a,
  .subtitle,
  .single-team-qualification,
  .footer-heading,
  a.button, p.readmore > a,
    .single-team-project > figcaption > a { letter-spacing: 1pt; }

  h1 { letter-spacing: 1.5pt; }

    /* Paragraph */
    p:not(:last-child),
    address:not(:last-child) { margin-bottom: 8px; }

    br { line-height: 1; }

    /* Markup */
    b,
    strong,
    strong > a { font-weight: 700; }

    i,
    em { font-style: italic; }

    strong > em,
    strong > i {
      font-weight: 700;
      font-style: italic;
    }

  /* Headings */
  h1,
  h1 > a {
    font-size: 2.1rem;
    font-weight: 600;
    line-height: 1.4;
    text-transform: uppercase;
  }

  h2,
  h2 > a {
    font-size: 1.6rem;
    font-weight: 600;
    line-height: 1.4;
    text-transform: uppercase;
  }

  h3,
  h3 > a {
    font-size: 1.4rem;
    line-height: 1.6;
    text-transform: uppercase;
  }

  h4,
  h4 > a {
    font-size: 1.2rem;
    font-weight: 600;
    line-height: 1.4;
    text-transform: uppercase;
  }

  h5,
  h5 > a {
    font-weight: 700;
    line-height: 1.4;
    text-transform: uppercase;
  }

  h6,
  h6 > a {
    line-height: 1.4;
    text-transform: uppercase;
  }

    /* Margins */
    h1 { margin-bottom: 20px; }

    h2 { margin: 25px 0 15px; }

    h3 { margin: 25px 0 10px; }

    h4,
    h5,
    h6 { margin: 25px 0 5px; }

    h2:first-child, .subtitle+h2,
    h3:first-child, h2+h3,
    h4:first-child, h3+h4,
    h5:first-child, h4+h5
    h6:first-child, h5+h6 { margin-top: 0; }

    h2:has(+h3), h2:has(+p),
    h3:has(+h4), h3:has(+p),
    h4:has(+h5),
    h5:has(+h6) { margin-bottom: 5px; }

    /* Section title & subtitles */
    .section-title,
    .aside-title { text-align: center; }

    .subtitle,
    .single-team-qualification {
      font-weight: 600;
      text-transform: uppercase;
      color: #898E90;
    }

    .page-title > .subtitle { font-size: 1.1rem; }

  /* Lists */
    /* Unordered list */
    main ul:not(.no-bullets) {
      padding-left: 1.5em;
      margin: 1em 0;
    }

    main ul:not(.no-bullets):first-child,
    main ul:not(.no-bullets):only-child,
    main h2+ul:not(.no-bullets),
    main h3+ul:not(.no-bullets),
    main h4+ul:not(.no-bullets),
    main h5+ul:not(.no-bullets),
    main h6+ul:not(.no-bullets) { margin-top: 0; }
    main ul:not(.no-bullets):last-child,
    main ul:not(.no-bullets):only-child { margin-bottom: 0; }

    main li > ul:not(.no-bullets) { margin: 0; }

    main ul:not(.no-bullets) > li {
      display: list-item;
      list-style-type: square;
      padding-left: 1em;
      text-indent: 0;
    }

    /* Ordered list */
    main ol {
      counter-reset: item;
      list-style-type: none;
      padding-left: 2em;
      margin-bottom: 1em;
    }

    main ol:first-child,
    main ol:only-child { margin-top: 0; }
    main ol:last-child,
    main ol:only-child { margin-bottom: 0; }

    main p+ol { margin-top: 1em; }

    main ol > li {
      counter-increment: item;
      text-indent: -1em;
    }
    
    main ol > li:before {
      content: counter(item) '.';
      display: inline-block;
      width: 1em;
    }

    main ol ol { padding-left: 3em; }

    main ol ol > li { text-indent: -1.5em; }

    main ol ol > li:before {
      content: counters(item, '.') '.';
      width: 1.5em;
    }

	/* Links */
  a,
  button { cursor: pointer; }

  a,
  .fachwerk-gallery-image { overflow: hidden; }

  a.underline,
  main p:not(.readmore) a:not(.no-underline) { text-decoration: underline; }

  a:hover { text-decoration: none!important; }

	a:hover > img.hover-resize,
  .fachwerk-gallery-image:hover > img,
  .page_single-project .team-member a:hover > svg,
  .page_team .team-member figure.item-image a:hover > svg {
		-webkit-transform: scale(1.1);
		-moz-transform: scale(1.1);
		-o-transform: scale(1.1);
		transform: scale(1.1);
	}

  .items-row.icons .item-image > a:hover > img.hover-resize,
  .team-member-links a:hover > svg {
		-webkit-transform: scale(.9);
		-moz-transform: scale(.9);
		-o-transform: scale(.9);
		transform: scale(.9);
	}

	a:hover > img.hover-opacity { opacity: 0.75; }

  /* Buttons */
  a.button:before,
  p.readmore > a:before {
    content: '\00BB';
    float: left;
    display: block;
    margin-right: 5px;
  }

  a.button,
  p.readmore > a {
    display: block;
    width: fit-content;
    margin-top: 25px;

    font-weight: 800;
    line-height: 1;
    text-transform: uppercase;

    overflow: visible;
  }

  a.button:hover:before,
  p.readmore > a:hover:before {
    position: relative;
    left: 5px;
  }

  /* Readmore */
  @media screen and (min-width: 700px) {
    .items-row.readmore > .item {
      position: relative;
      padding-bottom: 35px!important;
    }

    .items-row p.readmore {
      position: absolute;
      right: 0;
      bottom: 0;
      left: 0;
    }

    p.readmore > a { margin-top: 0; }

    .items-row.box-style.readmore > .item { padding-bottom: 60px!important; }

    .items-row.box-style p.readmore {
      right: 25px;
      bottom: 25px;
      left: 25px;
    }
  }

  /* Figure */
    /* Figcaption */
    figcaption,
    .page_single-post .post-content .wp-caption-text { margin-top: 5px; }

    figcaption,
    figcaption *,
    .page_single-post .post-content .wp-caption-text,
    .page_single-post .post-content .wp-caption-text * {
      font-size: 0.8rem;
      font-weight: 700;
    }

      /* Figcaption: Split content */
      @media screen and (min-width: 700px) {
        .split-image.image-cover > figcaption,
        .split-image.image-cover > figcaption *,
        .split-image.image-contain > figcaption,
        .split-image.image-contain > figcaption * { color: white; }
    
        .split-image.image-cover > figcaption,
        .split-image.image-contain > figcaption {
          width: fit-content;
          padding: 5px 10px;
          margin-top: 0;
    
          font-weight: 400;
    
          background-color: rgba(0,0,0,0.55);
        }
      }

  /* Images */
  img {
    display: block;
    width: 100%;
    height: auto;
    }

  a:has(> img),
  a:has(> svg) { display: block; }

  a > img,
  a > svg,
  .fachwerk-gallery-image > img,
  .single-team-project figcaption {
    -webkit-transition: transform .25s ease-out, opacity .25s ease-out;
    -moz-transition: transform .25s ease-out, opacity .25s ease-out;
    -o-transition: transform .25s ease-out, opacity .25s ease-out;
    transition: transform .25s ease-out, opacity .25s ease-out;
  }

  figure.item-image { margin-bottom: 25px; }

	/* Table */
	table {
		width: 100%;
    max-width: 100%;

    border-collapse: separate;
    border-spacing: 0;

    overflow: scroll;
	}

  th,
  td {
    padding: 5px 10px;
    text-align: left;
  }

  th {
    font-weight: bold;
    background-color: #EFF0F1;
  }

  td {
    border-bottom: 2px solid #EFF0F1;
    vertical-align: top;
  }

  /* Separator */
  hr {
    border-bottom: 5px solid #EFF0F1;
    margin: 20px 0;
  }

/* Page layout */
html,
body {
	display: block;
	width: 100%;
	overflow-x: hidden;
}

html { scroll-behavior: smooth; }

.section-wrapper,
.aside-wrapper,
.header-wrapper,
.footer-main > div,
.footer-bottom,
.go-to-top,
.single-team-sidebar-wrapper,
.page_aktuelles .pagination-wrapper,
.page_single-post > article {
	width: 85%;
	max-width: 1150px;
	margin: 0 auto;
}

/* General elements */
  /* Header */
  header {
    position: relative;
    z-index: 99;

    padding: 15px 0;

    background-color: white;
  }

  .header-wrapper {
    display: grid;
    grid-template-columns: 200px auto;
    grid-gap: 30px;
  }

  .header-logo-wrapper > a { width: fit-content; }

  .header-logo-wrapper img {
    width: 160px;
    height: 50px;
  }

  /* Main navigation */
  .main-navigation-wrapper {
    position: relative;
    z-index: 98;
    text-align: right;

    font-size: 0;
    line-height: 0;
  }

  .main-navigation-wrapper li > .sub-menu {
    width: 0;
    height: 0;
    overflow: hidden;
  }

  .main-navigation-wrapper li:hover > .sub-menu,
  .main-navigation-wrapper li > a:focus-visible+ul.sub-menu,
  .main-navigation-wrapper li > ul.sub-menu:focus-within {
    width: auto;
    height: auto;
    overflow: visible;
  }

  .main-navigation-wrapper .main-navigation a { line-height: 1; }

    /* Mobile */
    @media screen and (max-width: 699px) {
      .main-navigation-wrapper .main-navigation { display: none; }

      .main-navigation-wrapper button.open+.main-navigation-container > .main-navigation { display: block!important; }

      .main-navigation-wrapper .main-navigation:before {
        position: absolute;
        top: -10px;
        right: 10px;

        content: ' ';

        display: block;
        width: 0;
        height: 0;
        border-left: 10px solid transparent;
        border-right: 10px solid transparent;
        border-bottom: 10px solid #E5E6E8;
      }

      .main-navigation-wrapper .main-navigation {
        position: absolute;
        right: 0;

        padding: 10px 0;
        margin-top: 20px;

        text-align: left;
        background-color: #E5E6E8;
      }

      .main-navigation-wrapper .main-navigation li > a {
        display: block;
        padding: 10px 15px;
      }

      .main-navigation-wrapper .main-navigation > li > a { min-width: 200px; }

      .main-navigation-wrapper .main-navigation > li:not(.current_page_item):not(.current_page_ancestor) > a:hover { color: #898E90; } /* Text hover */
      
      .main-navigation-wrapper ul > li.current_page_item > a,
      .main-navigation-wrapper ul > li.current_page_ancestor > a { font-weight: 700; } /* Text active */

        /* Level 2 */
        .main-navigation-wrapper .main-navigation > li > ul > li > a:before { content: '› '; }

        .main-navigation-wrapper .main-navigation > li > ul > li:not(.current_page_item) > a:hover { color: #898E90; } /* Text hover */

        /* Dropdown */
        button::-moz-focus-inner { border: 0; }

        .main-navigation-wrapper > #dropdown {
          font-size: 0;
          line-height: 0;
        }

        .main-navigation-wrapper > #dropdown:hover { cursor: pointer; }

        .main-navigation-wrapper #dropdown {
          box-sizing: border-box;

          display: inline-block;
          width: 40px;
          height: 40px;
          border: 1.25px solid #1D1D1B;
          border-radius: 100%;
          margin-top: 5px;

          background-image: url('images/nav-toggle.svg');
          background-size: 100%;
          background-position: top;
          background-repeat: no-repeat;
          background-color: white;
        }

        .main-navigation-wrapper #dropdown.open {
          border-color: #E5E6E8;
          background-position: bottom;
          background-color: #E5E6E8;
        }
    }

    /* Desktop */
    @media screen and (min-width: 700px) {
      .main-navigation-wrapper > #dropdown { display: none; }

      .main-navigation-wrapper .main-navigation * { text-align: left; }

      .main-navigation-wrapper > nav > ul > li {
        display: inline-block;
        height: 50px;
        vertical-align: top;
      }

      .main-navigation-wrapper > nav > ul > li:not(:first-child) { margin-left: 15px; }

      .main-navigation-wrapper > nav > ul > li > a {
        position: relative;
        top: calc(50% - 10px);

        display: inline-block;
        height: 20px;

        font-size: 13pt;
        vertical-align: top;
      }

      .main-navigation-wrapper > nav > ul > li:not(.current_page_item):not(.current_page_ancestor) > a:hover { color: #898E90; } /* Text hover */

      .main-navigation-wrapper > nav > ul > li.current-menu-item > a,
      .main-navigation-wrapper > nav > ul > li.current_page_item > a,
      .main-navigation-wrapper > nav > ul > li.current_page_ancestor > a { font-weight: 600; } /* Text active */

        /* Level 2 */
        .main-navigation-wrapper .main-navigation li { position: relative; }

        .main-navigation-wrapper .main-navigation > li > ul:before {
          position: absolute;
          top: -10px;
          left: 10px;
          z-index: 99;

          content: ' ';

          display: block;
          width: 0;
          height: 0;
          border-left: 10px solid transparent;
          border-right: 10px solid transparent;
          border-bottom: 10px solid #E5E6E8;
        }

        .main-navigation-wrapper .main-navigation > li:last-child > ul:before {
          left: auto;
          right: -2px;
        }

        .main-navigation-wrapper .main-navigation > li > ul {
          position: absolute;
          top: calc(50% + 15px);
          left: 0;

          padding: 10px 0;
          margin-top: 15px;

          background-color: #E5E6E8;
        }

        .main-navigation-wrapper .main-navigation > li:last-child > ul {
          left: auto;
          right: 0;
        }

        .main-navigation-wrapper .main-navigation ul > li > a {
          display: block;
          padding: 10px 15px;
        }

        .main-navigation-wrapper .main-navigation ul > li > a { min-width: 200px; }

        .main-navigation-wrapper .main-navigation ul > li:not(.current_page_item) > a:hover { color: #898E90; }

        .main-navigation-wrapper .main-navigation ul > li.current_page_item > a,
        .main-navigation-wrapper .main-navigation ul > li.current_page_parent > a { font-weight: 700; }
      }

      /* Animations */
        /* Mobile */
        .main-navigation-wrapper .main-navigation {
          -webkit-animation: mobile .35s; /* Safari, Chrome and Opera > 12.1 */
          -moz-animation: mobile .35s; /* Firefox < 16 */
          -o-animation: mobile .35s; /* Opera < 12.1 */
          animation: mobile .35s;
          }

          @keyframes mobile {
            from { top: 111px; opacity: 0; }
            to   { top: 45px; opacity: 1; }
            }

          /* Firefox < 16 */
          @-moz-keyframes mobile {
            from { top: 111px; opacity: 0; }
            to   { top: 45px; opacity: 1; }
            }

          /* Safari, Chrome and Opera > 12.1 */
          @-webkit-keyframes mobile {
            from { top: 111px; opacity: 0; }
            to   { top: 45px; opacity: 1; }
            }

  /* Items row */
  @media screen and (max-width: 699px) { .items-row > .item:not(:last-child) { margin-bottom: 20px; } }

    /* Column Layout */
      /* 2 Columns */
      @media screen and (min-width: 700px) {
        .items-row {
          display: grid;
          grid-template-columns: repeat(4, 1fr);
          grid-gap: 35px;
        }

        .items-row.box-style { grid-gap: 20px; }

        .items-row > .item { grid-column: span 2; }

        .items-row.cols-2:not(.last-row-left) > .item:last-child:nth-child(odd) { grid-column-end: -2; }

        .items-row.cols-2.last-row-complete-only > .item:last-child:nth-child(2n + 1) { display: none; }
      }

      @media screen and (min-width: 700px) and (max-width: 999px) {
        .items-row:not(.last-row-left) > .item:last-child:nth-child(odd) { grid-column-end: -2; }

        .items-row.last-row-complete-only > .item:last-child:nth-child(2n + 1) { display: none; }
      }

      /* 3 Columns */
      @media screen and (min-width: 1000px) {
        .items-row.cols-3 { grid-template-columns: repeat(12, 1fr); }

        .items-row.cols-3 > .item { grid-column: span 4; }

        .items-row.cols-3:not(.last-row-left) > .item:nth-last-child(2):nth-child(3n + 1) { grid-column-end: 7; }
        .items-row.cols-3:not(.last-row-left) > .item:last-child:nth-child(3n + 2) { grid-column-end: 11; }

        .items-row.cols-3:not(.last-row-left) > .item:last-child:nth-child(3n + 1) { grid-column-end: 9; }

        .items-row.cols-3.last-row-complete-only > .item:last-child:nth-child(3n + 1),
        .items-row.cols-3.last-row-complete-only > .item:last-child:nth-child(3n + 2),
        .items-row.cols-3.last-row-complete-only > .item:has(+ .item:last-child):nth-child(3n + 1) { display: none; }
        }

      /* 4 Columns */
      @media screen and (min-width: 1000px) {
        .items-row.cols-4,
        .mod-articlescategory { grid-template-columns: repeat(8, 1fr); }

        .items-row.cols-4 > .item,
        .mod-articlescategory > li { grid-column: span 2; }

        .items-row.cols-4:not(.last-row-left) > .item:nth-last-child(3):nth-child(4n + 1) { grid-column-end: 4; }
        .items-row.cols-4:not(.last-row-left) > .item:nth-last-child(2):nth-child(4n + 2) { grid-column-end: 6; }
        .items-row.cols-4:not(.last-row-left) > .item:last-child:nth-child(4n + 3) { grid-column-end: 8; }

        .items-row.cols-4:not(.last-row-left) > .item:nth-last-child(2):nth-child(4n + 1) { grid-column-end: 5; }
        .items-row.cols-4:not(.last-row-left) > .item:last-child:nth-child(4n + 2) { grid-column-end: 7; }

        .items-row.cols-4:not(.last-row-left) > .item:last-child:nth-child(4n + 1) { grid-column-end: 6; }

        .items-row.cols-4.last-row-complete-only > .item:last-child:nth-child(4n + 1),
        .items-row.cols-4.last-row-complete-only > .item:last-child:nth-child(4n + 2),
        .items-row.cols-4.last-row-complete-only > .item:has(+ .item:last-child):nth-child(4n + 1),
        .items-row.cols-4.last-row-complete-only > .item:last-child:nth-child(4n + 3),
        .items-row.cols-4.last-row-complete-only > .item:has(+ .item:last-child):nth-child(4n + 2),
        .items-row.cols-4.last-row-complete-only > .item:has(+ .item + .item:last-child):nth-child(4n + 1) { display: none; }
        }

      /* 5 Columns */
      @media screen and (min-width: 700px) and (max-width: 999px) {
        .items-row.cols-5 { grid-template-columns: repeat(12, 1fr); }

        .items-row.cols-5 > .item { grid-column: span 4; grid-column-end: auto!important; }

        .items-row.cols-5:not(.last-row-left) > .item:nth-last-child(2):nth-child(3n + 1) { grid-column-end: 7!important; }
        .items-row.cols-5:not(.last-row-left) > .item:last-child:nth-child(3n - 1) { grid-column-end: 11!important; }

        .items-row.cols-5:not(.last-row-left) > .item:last-child:nth-child(3n - 2) { grid-column-end: 9!important; }

        .items-row.cols-5.last-row-complete-only > .item:last-child:nth-child(3n + 1),
        .items-row.cols-5.last-row-complete-only > .item:last-child:nth-child(3n + 2),
        .items-row.cols-5.last-row-complete-only > .item:has(+ .item:last-child):nth-child(3n + 1) { display: none; }
      }

      @media screen and (min-width: 1000px) and (max-width: 1349px) {
        .items-row.cols-5 { grid-template-columns: repeat(8, 1fr); }

        .items-row.cols-5 > .item { grid-column: span 2; }

        .items-row.cols-5:not(.last-row-left) > .item:nth-last-child(3):nth-child(4n + 1) { grid-column-end: 4; }
        .items-row.cols-5:not(.last-row-left) > .item:nth-last-child(2):nth-child(4n + 2) { grid-column-end: 6; }
        .items-row.cols-5:not(.last-row-left) > .item:last-child:nth-child(4n + 3) { grid-column-end: 8; }

        .items-row.cols-5:not(.last-row-left) > .item:nth-last-child(2):nth-child(4n + 1) { grid-column-end: 5; }
        .items-row.cols-5:not(.last-row-left) > .item:last-child:nth-child(4n + 2) { grid-column-end: 7; }

        .items-row.cols-5:not(.last-row-left) > .item:last-child:nth-child(4n + 1) { grid-column-end: 6; }

        .items-row.cols-5.last-row-complete-only > .item:last-child:nth-child(4n + 1),
        .items-row.cols-5.last-row-complete-only > .item:last-child:nth-child(4n + 2),
        .items-row.cols-5.last-row-complete-only > .item:has(+ .item:last-child):nth-child(4n + 1),
        .items-row.cols-5.last-row-complete-only > .item:last-child:nth-child(4n + 3),
        .items-row.cols-5.last-row-complete-only > .item:has(+ .item:last-child):nth-child(4n + 2),
        .items-row.cols-5.last-row-complete-only > .item:has(+ .item + .item:last-child):nth-child(4n + 1) { display: none; }
        }

      @media screen and (min-width: 1350px) {
        .items-row.cols-5 { grid-template-columns: repeat(5, 1fr); }
        .items-row.cols-5 > .item { grid-column: span 1; }

        .items-row.cols-5:not(.last-row-left) { grid-template-columns: repeat(10, 1fr); }
        .items-row.cols-5:not(.last-row-left) > .item { grid-column: span 2; }
        .items-row.cols-5:not(.last-row-left) > .item:last-child:nth-child(5n+1) { grid-column-end: 7; }
        .items-row.cols-5:not(.last-row-left) > .item:nth-last-child(2):nth-child(5n + 1) { grid-column-end: 6; }
        .items-row.cols-5:not(.last-row-left) > .item:last-child:nth-child(5n + 2) { grid-column-end: 8; }
        .items-row.cols-5:not(.last-row-left) > .item:nth-last-child(3):nth-child(5n + 1) { grid-column-end: 5; }
        .items-row.cols-5:not(.last-row-left) > .item:nth-last-child(2):nth-child(5n + 2) { grid-column-end: 7; }
        .items-row.cols-5:not(.last-row-left) > .item:last-child:nth-child(5n + 3) { grid-column-end: 9; }
        .items-row.cols-5:not(.last-row-left) > .item:nth-last-child(4):nth-child(5n + 1) { grid-column-end: 4; }
        .items-row.cols-5:not(.last-row-left) > .item:nth-last-child(3):nth-child(5n + 2) { grid-column-end: 6; }
        .items-row.cols-5:not(.last-row-left) > .item:nth-last-child(2):nth-child(5n + 3) { grid-column-end: 8; }
        .items-row.cols-5:not(.last-row-left) > .item:last-child:nth-child(5n + 4) { grid-column-end: 10; }

        .items-row.cols-5.last-row-complete-only > .item:last-child:nth-child(5n + 1),
        .items-row.cols-5.last-row-complete-only > .item:last-child:nth-child(5n + 2),
        .items-row.cols-5.last-row-complete-only > .item:has(+ .item:last-child):nth-child(5n + 1),
        .items-row.cols-5.last-row-complete-only > .item:last-child:nth-child(5n + 3),
        .items-row.cols-5.last-row-complete-only > .item:has(+ .item:last-child):nth-child(5n + 2),
        .items-row.cols-5.last-row-complete-only > .item:has(+ .item + .item:last-child):nth-child(5n + 1),
        .items-row.cols-5.last-row-complete-only > .item:last-child:nth-child(5n + 4),
        .items-row.cols-5.last-row-complete-only > .item:has(+ .item:last-child):nth-child(5n + 3),
        .items-row.cols-5.last-row-complete-only > .item:has(+ .item + .item:last-child):nth-child(5n + 2),
        .items-row.cols-5.last-row-complete-only > .item:has(+ .item + .item + .item:last-child):nth-child(5n + 1) { display: none; }
        }

    /* Icons */
    .items-row.icons .item-image > a:has(img.hover-resize) { overflow: visible; }

        /* Top */
        .items-row.icons-top { text-align: center; }

        .items-row.box-style.icons-top > .item { padding-top: 35px!important; }

        .items-row.icons-top .item-image {
          max-width: 100px;
          margin: 0 auto 20px;
        }

        .items-row.icons-top p.readmore > a:before { display: none; }

        .items-row.icons-top p.readmore > a {
          margin-left: auto;
          margin-right: auto;
        }

        .items-row.icons-top p.readmore > a:hover { color: #898E90; }

        /* Left */
        .items-row.icons-left .item-image {
          float: left;
          width: 60px;
          margin: 0;
        }

        .items-row.icons-left .wrapper { margin-left: 80px; }

        .items-row.icons-left p.readmore { left: 80px; }

        .items-row.box-style.icons-left p.readmore { left: 105px; }

        @media screen and (min-width: 700px) { .items-row.readmore > .item { padding-bottom: 25px!important; } }

  /* Go to top */
  .go-to-top { padding: 20px 0; }

  .go-to-top a {
    display: block;
    width: fit-content;
    margin-left: auto;
  }

  .go-to-top a > svg {
    display: inline-block;
    height: 1rem;
    margin-right: 5px;
  }

  .go-to-top a > svg * { fill: #898E90; }

  .go-to-top a:hover > svg * { fill: #1D1D1B; }

  /* Footer */
  .footer-main {
    padding: 40px 0;
    background-color: #EFF0F1;
  }

  footer * { color: #898E90; }
  
  footer a:hover,
  footer li.current_page_item > a { color: #1D1D1B; }

  .footer-body a:hover > svg path { fill: #1D1D1B; }

  .footer-heading {
    font-weight: 700;
    text-transform: uppercase;
  }

  @media screen and (max-width: 699px) {
    .footer-body-wrapper { text-align: center; }

    .footer-heading { margin-top: 1.6rem; }
  }

  @media screen and (min-width: 1100px) { .footer-heading { margin-bottom: 1.6rem!important; } }

    /* Layout */
    @media screen and (max-width: 1099px) { .footer-description { display: none; } }

    @media screen and (min-width: 700px) {
      .footer-body-wrapper {
        display: grid;
        grid-template-columns: auto minmax(min-content, max-content) minmax(min-content, max-content);
        grid-gap: 50px;
      }
    }

    @media screen and (min-width: 1100px) {
      .footer-body-wrapper { grid-template-columns: 150px auto minmax(min-content, max-content) minmax(min-content, max-content); }

      .footer-body-wrapper address:not(:last-child) { margin-bottom: 1.6rem; }
    }

    /* Company logo */
    .footer-logo a > svg { width: 150px; }

    .footer-logo svg * { fill: #898E90; }

    @media screen and (min-width: 700px) {
      .footer-logo a,
      .footer-logo a > svg { height: 100%; }

      .footer-logo a > svg { max-width: 100%; }
    }

    /* Description */
    @media screen and (max-width: 1225px) { .footer-description p > span.length-1 { display: none; } }

    @media screen and (max-width: 1325px) { .footer-description p > span.length-2 { display: none; } }

    /* Contact */
    .footer-contact .row-left {
      display: inline-block;
      width: 75px;
    }

    @media screen and (max-width: 699px) { .footer-contact .row-left { display: none; } }

    /* Footer Links */
    .footer-links { margin-top: 3.2rem!important; }

    .footer-links a {
      font-size: 0;
      line-height: 0;
    }

    @media screen and (max-width: 699px) {
      .footer-links a {
        display: block;
        width: fit-content;
        padding: 10px;
        margin: 0 auto;

        background-color: white;
      }

      .footer-links svg { width: 175px; }

      .footer-links a:not(:last-child) { margin-bottom: 10px; }
    }

    @media screen and (min-width: 700px) {
      .footer-links {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        grid-gap: 30px;

        padding: 10px;

        background-color: white;

        box-sizing: border-box;
      }
  
      .footer-links a {
        width: fit-content;
        margin: 0 auto;
      }

      .footer-links svg {
        position: relative;
        top: 50%;

        width: 100%;
        max-height: 50px;

        -webkit-transform: translateY(-50%);
        -moz-transform: translateY(-50%);
        -o-transform: translateY(-50%);
        transform: translateY(-50%);
      }

      .footer-links a.dgnb,
      .footer-links a.dgnb > svg { overflow: visible; }
    }

    .footer-links svg * { fill: #898E90; }

      /* Hover behavior */
      .footer-links svg path,
      .footer-links svg polygon,
      .footer-links svg rect {
        -webkit-transition: fill .25s ease-out;
        -moz-transition: fill .25s ease-out;
        -o-transition: fill .25s ease-out;
        transition: fill .25s ease-out;
      }

      .footer-links a.dgnb .st0,
      .footer-links a.bdla #g36 > path { fill: #B1B5B6; }

      .footer-links a.dgnb:hover svg * { fill: #0070B8; }
      .footer-links a.dgnb:hover .st0 { fill: #BDCF41; }

      .footer-links a.bdla:hover svg * { fill: #231F20; }
      .footer-links a.bdla:hover #g36 > path { fill: #A1C012; }
      .footer-links a.bdla:hover #g40 > path { fill: #706D6E; }

      .footer-links a.bundesstiftung-baukultur:hover svg * { fill: #231F20; }

      .footer-links a.ghv:hover svg * { fill: #083148; }

    /* Footer bottom */
    .footer-bottom { padding: 20px 0; }

    .footer-bottom * {
      font-size: 10pt;
      font-weight: 600;
    }

    @media screen and (max-width: 699px) {
      .footer-bottom { text-align: center; }

      .footer-navigation { margin-top: 10px; }
    }

    @media screen and (min-width: 700px) {
      .footer-bottom {
        display: grid;
        grid-template-columns: auto minmax(min-content, max-content) 35px;
        grid-gap: 20px;
      }
    }

      /* Copyright */
      @media screen and (min-width: 700px) and (max-width: 799px) { .footer-copyright p { line-height: 22px; } }

      @media screen and (min-width: 850px) {
        .footer-copyright p { line-height: 35px; }

        .footer-copyright br { display: none; }
      }

      /* Footer navigation */
      .footer-navigation li:not(:first-child) { margin-left: 10px; }

      @media screen and (min-width: 700px) { .footer-navigation a { line-height: 44px; } }

      @media screen and (min-width: 850px) { .footer-navigation a { line-height: 35px; } }

      /* Instagram */
      .footer-bottom .instagram {
        width: 35px;
        height: 35px;
      }

      .footer-bottom .instagram:not(:hover) .st0 { fill: #898E90; }

      @media screen and (max-width: 699px) { .footer-bottom .instagram { margin: 20px auto 0; } }

      @media screen and (min-width: 700px) and (max-width: 849px) { .footer-bottom .instagram { width: 44px; height: 44px } }

  /* Fachwerk slider */
  .fachwerk-slider img { object-fit: cover; }

    /* Type banner */
    .fachwerk-slider.type-banner img { height: 270px; }

    /* Type fader */
    .fachwerk-slider.type-fader .tns-item,
    .fachwerk-slider.type-fader .tns-item * { display: block; }

    .fachwerk-slider.type-fader .tns-item img { height: 500px; }

    @media screen and (min-width: 700px) {
      .fachwerk-slider.type-fader .tns-item img {
        height: calc(100vh - 80px);
        min-height: 500px;
      }
    }

    /* Figcaption */
    .fachwerk-slider figcaption,
    .fachwerk-slider figcaption * {
      font-weight: 500;
      color: white;
    }

    .fachwerk-slider figcaption {
      position: absolute;
      right: 7.5%;
      bottom: 25px;
      left: 7.5%;

      width: fit-content;
      padding: 4px 10px 5px;
      margin: 0 0 0 auto;

      background-color: rgba(0,0,0,.6);
    }

    .fachwerk-slider.type-fader figcaption { left: calc(7.5% + 50px); }

    @media screen and (min-width: 1353px) {
      .fachwerk-slider figcaption {
        position: absolute;
        right: calc((100vw - 1150px) / 2);
        left: calc((100vw - 1150px) / 2);
      }
    }

    @media screen and (min-width: 1353px) { .fachwerk-slider.type-fader figcaption { left: calc((100vw - 1150px) / 2); } }

    /* Play and Pause */
    .fachwerk-slider button[data-action="start"],
    .fachwerk-slider button[data-action="stop"] {
        position: absolute;
        bottom: 25px;
        left: 7.5%;
        z-index: 9999;
    
        width: 12.5px;
        height: 12.5px;
        padding: 7.5px;
        border-radius: 100%;
    
        font-size: 15px;
        line-height: 15px;
    
        background-color: white;
    
        box-sizing: inherit;
    }

    @media screen and (min-width: 1353px) {
      .fachwerk-slider button[data-action="start"],
      .fachwerk-slider button[data-action="stop"] { left: calc((100vw - 1150px) / 2); }
    }

    /* Fader functionality */
    .tns-outer { padding: 0!important; }

    .tns-outer [hidden] { display: none!important; }

    .tns-outer [aria-controls],
    .tns-outer [data-action] { cursor: pointer; }

    .tns-slider {
      -webkit-transition: all 0s;
      -moz-transition: all 0s;
      transition: all 0s;
    }

    .tns-slider > .tns-item {
      -webkit-box-sizing: border-box;
      -moz-box-sizing: border-box;
      box-sizing: border-box;
    }

    .tns-horizontal.tns-subpixel { white-space: nowrap; }

    .tns-horizontal.tns-subpixel > .tns-item {
      display: inline-block;
      vertical-align: top;
      white-space: normal;
    }

    .tns-horizontal.tns-no-subpixel:after {
      clear: both;
      content: '';
      display: table;
    }

    .tns-horizontal.tns-no-subpixel>.tns-item { float: left; }

    .tns-horizontal.tns-slider.tns-no-subpixel > .tns-item { margin-right: -100%; }

    .tns-no-calc {
      position: relative;
      left: 0;
    }

    .tns-gallery {
      position: relative;
      left: 0;
      min-height: 1px;
    }

    .tns-gallery > .tns-item {
      position: absolute;
      left: -100%;

      -webkit-transition: transform 0s, opacity 0s;
      -moz-transition: transform 0s, opacity 0s;
      transition: transform 0s, opacity 0s;
    }

    .tns-gallery > .tns-slide-active {
      position: relative;
      left: auto !important;
    }

    .tns-gallery>.tns-moving {
      -webkit-transition: all .25s;
      -moz-transition: all .25s;
      transition: all .25s;
    }

    .tns-autowidth { display: inline-block; }

    .tns-lazy-img {
      -webkit-transition: opacity .6s;
      -moz-transition: opacity .6s;
      transition: opacity .6s;
      opacity: .6;
    }

    .tns-lazy-img.tns-complete { opacity: 1; }

    .tns-ah {
      -webkit-transition: height 0s;
      -moz-transition: height 0s;
      transition: height 0s;
    }

    .tns-ovh { overflow: hidden; }

    .tns-visually-hidden {
      position: absolute;
      left: -10000em;
    }

    .tns-transparent {
      opacity: 0;
      visibility: hidden;
    }

    .tns-fadeIn {
      opacity: 1;
      filter: alpha(opacity=100);
      z-index: 0;
    }

    .tns-normal,
    .tns-fadeOut {
      opacity: 0;
      filter: alpha(opacity=0);
      z-index: -1;
    }

    .tns-vpfix { white-space: nowrap; }

    .tns-vpfix > div,
    .tns-vpfix > li { display: inline-block; }

    .tns-t-subp2 {
      position: relative;

      width: 310px;
      height: 10px;
      margin: 0 auto;

      overflow: hidden;
    }

    .tns-t-ct {
      position: absolute;
      right: 0;

      width: 2333.3333333%;
      width: -webkit-calc(100% * 70 / 3);
      width: -moz-calc(100% * 70 / 3);
      width: calc(100% * 70 / 3);
    }

    .tns-t-ct:after {
      clear: both;
      content: '';
      display: table;
    }

    .tns-t-ct > div {
      float: left;

      width: 1.4285714%;
      width: -webkit-calc(100% / 70);
      width: -moz-calc(100% / 70);
      width: calc(100% / 70);
      height: 10px;
    }

    .tns-liveregion { display: none; } /* Turn off live region */

/* Sections */
section:not(:last-child),
section#einleitung > .fachwerk-slider { margin-bottom: 40px; }

  /* General section styles */
    /* Split content */
    @media screen and (max-width: 699px) { .split-content .split-image { margin-bottom: 30px; } }

    @media screen and (min-width: 700px) {
      .split-content {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        grid-gap: 30px;
      }

      @media screen and (min-width: 950px) {
        .split-ratio-1 { grid-template-columns: 1fr 1.6fr; }
        .split-ratio-2 { grid-template-columns: 1.6fr 1fr; }
      }

      .split-image,
      .split-content-wrapper { grid-row: 1; }

      /* Switch */
      .split-content.switch > .split-image { grid-column: 2; }

      .split-content.switch > .split-content-wrapper { grid-column: 1; }

      /* Cover & contain */
      .split-image.image-cover > img,
      .split-image.image-contain > img { height: 100%; }

      .split-image.image-cover > img {
        position: absolute;
        object-fit: cover;
      }

      .split-image.image-contain > img { object-fit: contain; }

      /* Cover wide */
      section.wide:has(.section-wrapper > .split-content > .image-cover.image-fill-width) { padding: 0; }

      section.wide > .section-wrapper:has(.split-content > .image-cover.image-fill-width) {
        width: 100%;
        max-width: none;
        margin: 0;
      }

      section.wide .split-content:has(.image-cover.image-fill-width) {
        grid-template-columns: 7.5% 42.5% 42.5% 7.5%;
        grid-gap: 0;
      }

      section.wide .split-content > .image-cover.image-fill-width { grid-column: 1 / span 2; }

      section.wide .split-content > .image-cover.image-fill-width+.split-content-wrapper {
        grid-column: 3;

        max-width: 575px;
        padding: 40px 0 40px 30px;

        box-sizing: border-box;
      }

      section.wide .split-content.switch > .image-cover.image-fill-width { grid-column: 3 / span 2; }

      section.wide .split-content.switch > .image-cover.image-fill-width+.split-content-wrapper {
        grid-column: 2;
        padding: 40px 30px 40px 0;
        margin-left: auto;
      }

      /* Figcaption */
      .split-image.image-contain > figcaption { display: none; }

      .split-image.image-cover > figcaption {
        position: absolute;
        bottom: 15px;
      }

      .split-content:not(.switch) > .split-image.image-cover > figcaption {
        left: 15px;
        margin-right: 15px;
      }

      .split-content.switch > .split-image.image-cover > figcaption {
        right: 15px;
        margin-left: 15px;
      }

      section.wide .split-content:not(.switch) > .split-image.image-cover.image-fill-width > figcaption { left: 7.5vw; }

      section.wide .split-content.switch > .split-image.image-cover.image-fill-width > figcaption { right: 7.5vw; }

      @media screen and (min-width: 1353px) {
        section.wide .split-content:not(.switch) > .split-image.image-cover.image-fill-width > figcaption { left: calc((100vw - 1150px) / 2); }
        section.wide .split-content.switch > .split-image.image-cover.image-fill-width > figcaption { right: calc((100vw - 1150px) / 2); }
      }
    }

  /* Individual section styles */
    /* Introduction */
    section#einleitung .introtext { max-width: 720px; }

    section#einleitung > .section-wrapper:not(:has(a.button)):after {
      content: ' ';
      display: block;
      width: 37.5%;
      border-bottom: 5px solid #EFF0F1;
      margin-top: 35px;
    }

    @media screen and (max-width: 949px) { section#einleitung > .section-wrapper:not(:has(a.button)):after { width: 62.5%; } }

    .page_aktuelles section#einleitung > .section-wrapper:after,
    .page_impressum section#einleitung > .section-wrapper:after,
    .page_datenschutz section#einleitung > .section-wrapper:after { display: none!important; }

    section#einleitung .introtext *,
    section#einleitung a.button { font-size: 1.1rem; }

      /* Company logo (Home) */
      @media screen and (min-width: 700px) {
        .page_startseite #einleitung > .fachwerk-slider.type-fader:after {
          content: ' ';

          background-image: url('images/rbplusp-logo-slider.svg');
          background-repeat: no-repeat;
          background-position: center;

          position: absolute;
          top: 50px;
          left: 7.5%;
      
          width: 250px;
          height: 250px;

          filter: drop-shadow(1px 1px 1px rgba(0,0,0,.35));
        }
      }

      @media screen and (min-width: 1353px) {
        .page_startseite #einleitung > .fachwerk-slider.type-fader:after {
          right: calc((100vw - 1150px) / 2);
          left: calc((100vw - 1150px) / 2);
        }
      }

        /* Figcaption */
        @media screen and (min-width: 700px) { section#einleitung > .fachwerk-slider.type-fader figcaption { left: calc(7.5% + 340px); } }
        @media screen and (min-width: 942px) { section#einleitung > .fachwerk-slider.type-fader figcaption { left: calc(39.375% + 40px); } }
        @media screen and (min-width: 1353px) { section#einleitung > .fachwerk-slider.type-fader figcaption { left: calc(((100vw - 1150px) / 2) + 31.875% + 40px); } }
        @media screen and (min-width: 1412px) { section#einleitung > .fachwerk-slider.type-fader figcaption { left: calc(((100vw - 1150px) / 2) + 490px); } }

/* Pages */
  /* Startseite */
    /* Projekte */
    .individual-style-home-projects .section-title { text-align: left; }

    .individual-style-home-projects .section-title+div:not(:last-child) { margin-bottom: 20px; }

    @media screen and (max-width: 699px) { .individual-style-home-projects .items-row > .item:nth-child(2) { display: none; } }

    @media screen and (max-width: 999px) { .individual-style-home-projects .items-row > .item:nth-child(3) { display: none; } }

    @media screen and (min-width: 700px) {
      .individual-style-home-projects .section-title,
      .individual-style-home-projects { text-align: center; }

      .individual-style-home-projects .section-title+div:not(:last-child) { max-width: 720px; }
      
      .individual-style-home-projects .section-title+div:not(:last-child),
      .individual-style-home-projects .section-wrapper > a.button {
        margin-right: auto;
        margin-left: auto;
      }
    }

    /* Aktuelles */
    .page_startseite #aktuelles h3,
    .page_startseite #aktuelles h3 > a {
      line-height: 1.4;
      text-transform: none;
    }

    .page_startseite #aktuelles .section-wrapper > a.button:before { display: none; }

    .page_startseite #aktuelles .section-wrapper > a.button {
      padding: 10px 20px;
      margin-right: auto;
      margin-left: auto;

      font-weight: 600;

      color: white;
      background-color: #1D1D1B;
    }

    .page_startseite #aktuelles .section-wrapper > a.button:hover { background-color: #898E90; }

  /* Profil */
    /* Profile */
    section.bg-light:has(+ .individual-style-profiles) { margin-bottom: 0!important; }

    .individual-style-profiles { background-color: #898E90!important; }

    .individual-style-profiles h2 {
      margin-bottom: 25px;
      color: white;
    }

    .individual-style-profiles .subtitle { color: #EFF0F1; }

    .individual-style-profiles .content-wrapper > p { margin: 0; }

    .individual-style-profiles .content-wrapper img { object-fit: contain; }

    @media screen and (max-width: 699px) {
      .individual-style-profiles .content-wrapper a {
        max-width: 250px;
        margin: 0 auto 20px;
      }
    }

    @media screen and (min-width: 700px) {
      .individual-style-profiles .content-wrapper {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        grid-gap: 30px;
      }

      .individual-style-profiles .content-wrapper img { height: 75px; }
    }

  /* Projekte */
    /* Overview */
    .projects .items-row { grid-gap: 10px; }

    .projects figure { overflow: hidden; }

    .projects figcaption,
    .projects figcaption * { color: white; }

    .projects figcaption {
      position: absolute;
      right: 10px;
      bottom: 10px;
      left: 10px;

      width: fit-content;
      padding: 5px 10px 6px;
      margin-top: 0;

      font-weight: 500;
      text-align: left;

      background-color: rgba(0,0,0,0.6);
    }

    .projects .items-row a {
      height: 0;
      padding-bottom: 100%;
    }

    .projects .items-row a > img:not(.trophy-icon) {
      position: absolute;
      height: 100%;
      object-fit: cover;
    }

      /* Trophy (overview) */
      .projects .trophy-icon,
      .page_single-team .trophy-icon {
        position: absolute;
        top: 10px;
        left: 10px;
        z-index: 99;

        width: 25px;
        padding: 7px;

        background-color: white;

        overflow: visible;
      }

      /* Filter */
      #filter-form { margin-bottom: 20px; }

      #filter-form .checkbox-wrapper { margin-bottom: 5px; }
      #filter-form .checkbox-wrapper:not(:last-child) { margin-right: 5px; }

      .filter-form-buttons { margin: 10px 0 20px; }

      #filter-form .checkbox-wrapper > label,
      .filter-form-buttons > * {
        display: block;
        padding: 8px 15px;

        font-size: .9rem;
        font-weight: 500;
        line-height: 1;

        background-color: white;

        cursor: pointer;
      }

      #filter-form input { display: none; }

      #filter-form input:checked+label {
        color: white;
        background-color: #1D1D1B;
      }

      /* Buttons */
      .filter-form-buttons > * {
        color: white;
        background-color: #898E90;
      }

      .filter-form-buttons > *:hover  { background-color: #1D1D1B; }

      .filter-form-buttons > button { margin-right: 5px; }

    /* Single pages */
      /* Introduction */
      .page_single-project #einleitung { overflow: hidden; }

      @media screen and (max-width: 699px) { .page_single-project #einleitung figure { margin-bottom: 40px; } }

      @media screen and (min-width: 700px) {
        .page_single-project #einleitung > .section-wrapper {
          position: absolute;
          top: 0;
          right: 7.5%;
          bottom: 0;
          left: 7.5%;

          width: 31.875%;
          min-width: 300px;
          padding: 75px 40px 40px;
          margin-left: inherit;

          background-color: rgba(0,0,0,.6);

          box-sizing: border-box;
        }

        .page_single-project #einleitung > .section-wrapper * { color: white; }

        .page_single-project #einleitung > .section-wrapper:after { display: none!important; }

        .page_single-project #einleitung p { font-weight: 500; }
      }

      @media screen and (min-width: 1353px) {
        .page_single-project #einleitung > .section-wrapper {
          right: calc((100vw - 1150px) / 2);
          left: calc((100vw - 1150px) / 2);
        }
      }

      @media screen and (min-width: 1412px) { .page_single-project #einleitung > .section-wrapper { width: 450px; } }

      .page_single-project #einleitung figure > img {
        height: 500px;
        margin: 0 auto;
        object-fit: cover;
      }

        /* Trophy (single pages) */
        .page_single-project .trophy-icon {
          display: inline-block;
          width: 2.25rem;
          margin-right: 10px;
        }

        .page_single-project .trophy-wrapper > span { line-height: 2.25rem; }

        .page_single-project .trophy-icon,
        .page_single-project .trophy-wrapper > span { vertical-align: middle; }

      /* Project description */
      @media screen and (max-width: 699px) {
        .page_single-project #details > .section-wrapper {
          width: 100%;
          max-width: none;
          margin: 0;
        }

        .single-project-description > div,
        .single-project-details {
          width: 85%;
          margin: 0 auto;
        }

        .single-project-description {
          padding: 40px 0;
          background-color: #EFF0F1;
        }

        .single-project-details { margin-top: 40px; }

        .projekt-fakten {
          display: grid;
          grid-template-columns: repeat(2, 1fr);
          grid-column-gap: 30px;
        }

        .single-project-details dl > div:last-child:nth-child(odd),
        .page_single-project .item-title.desktop { display: none; }
      }

      @media screen and (min-width: 700px) {
        .page_single-project .item-title.mobile { display: none; }

        .page_single-project #details > .section-wrapper {
          display: grid;
          grid-template-columns: 1.6fr 1fr;
          grid-column-gap: 100px;
        }

        .single-project-description { grid-column: 1; }

        @media screen and (max-width: 1000px) {
          .page_single-project #details .item-title.desktop {
            grid-column: span 2;
            max-width: 720px;
          }
        }
      }

      .single-project-details dl > div:not(:last-child),
      .single-project-details dl:has(+.single-project-team) > div:last-child,
      .single-project-details dl:has(+.single-project-team) > dd:last-child {
        padding-bottom: 1rem;
        border-bottom: 2px solid #EFF0F1;
        margin-bottom: 1rem;
      }

      /* Project team */
      .single-project-team > .item-title { margin-bottom: 10px; }

      .single-project-team-list { margin-bottom: -10px; }

      .single-project-team-list > .team-member {
        width: 75px;
        border-radius: 100%;
        margin-bottom: 10px;
        overflow: hidden;
      }

      .single-project-team-list > .team-member:not(:last-child) { margin-right: 10px; }

      .page_single-project .team-member svg rect { fill: #EFF0F1; }

      /* Other projects */
      aside#weitere-projekte { margin-top: 40px; }

  /* Team */
    /* Overview */
    .page_team .team-member-name,
    .page_team .team-member-name > a {
      margin: 0;
      font-size: 1.2rem;
      font-weight: 600;
    }

    /* Single pages */
    @media screen and (min-width: 700px) {
      .page_single-team {
        display: grid;
        grid-template-columns: calc(7.5vw + 31.875% + 80px) auto;
      }

      .single-team-sidebar-wrapper,
      .single-team-data .section-wrapper {
        width: 100%;
        max-width: none;
        margin: 0;
      }

      .page_single-team #weitere-themen { grid-column: span 2; }

      .single-team-image { margin: 40px 40px 40px 7.5vw; }

      .single-team-data > section { padding-left: 30px; }

      .single-team-data { width: calc(100% - 7.5vw); }
    }

    @media screen and (min-width: 1161px) { .page_single-team { grid-template-columns: calc(7.5vw + 450px) auto; } }

    @media screen and (min-width: 1353px) {
      .page_single-team { grid-template-columns: calc(((100vw - 1150px) / 2) + 450px) auto; }

      .single-team-image { margin: 40px 40px 40px calc(50vw - 575px); }

      .single-team-data { width: calc(100% - ((100vw - 1150px) / 2)); }
    }

      /* Sidebar */
      .single-team-sidebar { background-color: #EFF0F1; }

      @media screen and (max-width: 699px) { .single-team-sidebar { padding: 20px 0; } }

      .single-team-image > img {
        width: 200px;
        box-sizing: border-box;
      }

      @media screen and (min-width: 700px) { .single-team-image > img { width: 100%; } }

        /* Avatar */
        .single-team-image svg,
        .team-member svg { display: block; }

        .single-team-image svg path,
        .team-member svg path { fill: #1D1D1B; }

        .single-team-image svg rect,
        .team-member svg rect { fill: white; }

        section:not(.bg-light) .team-member svg rect { fill: #EFF0F1; }

      /* Content */
      .single-team-heading { margin-top: 40px; }

      .single-team-heading h1 { margin-bottom: 0; }

      .single-team-function,
      .single-team-content,
      .single-team-mail { margin-top: 20px; }

      .single-team-mail > a:hover { color: #898E90; }

        @media screen and (min-width: 700px) {
          .single-team-cv > .section-wrapper,
          .single-team-projects > .section-wrapper {
            padding-top: 40px;
            border-top: 5px solid #EFF0F1;
          }
        }

        /* CV */
        @media screen and (max-width: 699px) {
          .single-team-cv {
            padding: 40px 0;
            background-color: #EFF0F1;
          }

          .single-team-cv td { display: block; }

          .cv-period { line-height: 1; }

          tr:not(:last-of-type) > .cv-activity { margin-bottom: 20px; }
        }

        @media screen and (min-width: 700px) {
          .cv-table tr:last-of-type > td { border-bottom: none; }

          .single-team-cv tr:not(:last-of-type) > td { padding-bottom: 10px; }

          .cv-period { min-width: 100px; }

          .cv-activity { padding-left: 20px; }
        }

        /* Projects */
        @media screen and (min-width: 500px) {
          .single-team-projects-wrapper {
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            grid-gap: 10px;
          }
        }

        @media screen and (min-width: 1050px) { .single-team-projects-wrapper { grid-template-columns: repeat(3, 1fr); } }

        @media screen and (max-width: 499px) { .single-team-project { margin-bottom: 10px; } }

        .single-team-project { overflow: hidden; }

        .single-team-project > a {
          display: block;
          width: 100%;
          padding-bottom: 100%;

          background-color: #1D1D1B;
        }

        .single-team-project a > img:not(.trophy-icon) {
          position: absolute;
          top: 0;
          right: 0;
          bottom: 0;
          left: 0;

          width: 100%;
          height: 100%;

          object-fit: cover;
        }

        .single-team-project a:hover > img { opacity: .25; }

        .single-team-project figcaption {
          position: absolute;
          top: 50%;
          right: 0;
          left: 0;

          padding: 0 10px;
          margin: 0;

          font-size: 1rem;
          text-transform: uppercase;
          text-align: center;

          color: white;

          -webkit-transform: translateY(-50%);
          -moz-transform: translateY(-50%);
          -o-transform: translateY(-50%);
          transform: translateY(-50%);

          opacity: 0;
        }

        .single-team-project a:hover > figcaption { opacity: 1; }

      /* Other team members */
      .page_single-team #weitere-themen { margin-top: 40px;  }

  /* News */
  .page_aktuelles .post-item:not(:last-child) {
    padding-bottom: 40px;
    border-bottom: 5px solid #EFF0F1;
    margin-bottom: 40px;
  }

  @media screen and (min-width: 900px) {
    .page_aktuelles .post-item {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      grid-gap: 50px;
    }
  }

  .page_aktuelles .post-date {
    display: block;
    width: fit-content;

    font-size: .9rem;
    font-weight: 600;
    line-height: 1;
    text-transform: uppercase;

    color: #898E90;
  }

  @media screen and (max-width: 899px) { .post-date { margin-top: 35px; } }

    /* Pagination */
    .pagination > * {
      line-height: 1;
      padding: 10px 15px;
    }

    .pagination > *:not(:last-child) { margin-right: 5px; }

      /* Pagination: Aktuelles */
      .page_aktuelles .pagination > * { border: 1px solid #1D1D1B; }

      .page_aktuelles .pagination > a:hover,
      .page_aktuelles .pagination > span {
        border-color: #898E90;
        color: #898E90;
      }

      /* Pagination: Projekte */
      .page_projekte .pagination {
        width: fit-content;
        margin: 20px auto 0;
      }

      .page_projekte .pagination > * { background-color: white; }

      .page_projekte .pagination > a:hover,
      .page_projekte .pagination > span { color: #D0D3D6; }

    /* Single post */
    .page_single-post { padding-top: 40px; }

    .page_single-post .page-title { text-align: center; }

    .page_single-post .post-content {
      max-width: 680px;
      margin: 40px auto 0;
    }

    .page_single-post .post-content p:has(img),
    .page_single-post figure { margin: 20px 0; }

    .page_single-post .post-content p:has(img):last-child,
    .page_single-post figure:last-child { margin-bottom: 0; }

    .page_single-post .post-date {
      padding-top: 10px;
      border-top: 5px solid #EFF0F1;
      margin-top: 40px;
      font-weight: 700;
    }

  /* Legal notice */
  .page_impressum { text-align: center; }

  .page_impressum section#einleitung { margin-bottom: 0; }

  .page_impressum h2 { margin-bottom: 5px; }

  .page_impressum .developer:before,
  .page_impressum .developer:after {
    content: ' ';
    display: block;
    width: 37.5%;
    border-bottom: 10px solid #E5E6E8;
    margin: 40px auto;
  }

  /* Copyright information */
  .images-copyright {
    max-width: 600px;
    margin: 15px auto 0;
  }

  .images-copyright tr > td:first-child { width: 75px; }

  .images-copyright a {
    display: block;
    width: fit-content;
  }

  .images-copyright img {
    width: 75px;
    height: 75px;
    object-fit: cover;
  }

  /* Privacy policy */
  .page_datenschutz .page-title { text-align: center; }

  @media screen and (min-width: 700px) {
    .page_datenschutz .section-wrapper > div > div {
      -webkit-column-count: 2;
      -moz-column-count: 2;
      column-count: 2;

      -webkit-column-gap: 30px;
      -moz-column-gap: 30px;
      column-gap: 30px;
    }
  }

/* Modules */
  /* Fachwerk related */
  @media screen and (max-width: 699px) {
    .fachwerk-related > .item:last-child,
    .fachwerk-related > .item:nth-last-child(2),
    .related-projects > .item:last-child,
    .related-projects > .item:nth-last-child(2) { display: none; }
  }

  /* Fachwerk gallery */
  .fachwerk-gallery {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-gap: 10px;
  }

  @media screen and (min-width: 700px) { .fachwerk-gallery { grid-template-columns: repeat(3, 1fr); } }

  @media screen and (min-width: 950px) { .fachwerk-gallery { grid-template-columns: repeat(4, 1fr); } }

  @media screen and (min-width: 1200px) { .fachwerk-gallery { grid-template-columns: repeat(5, 1fr); } }

  .fachwerk-gallery-image { cursor: zoom-in; }

    /* Modal */
    .fachwerk-gallery+.modal {
      display: none;

      position: fixed;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      z-index: 99;

      background-color: rgba(0,0,0,.9);
    }

    .fachwerk-gallery+.modal > figure {
      position: absolute;
      top: 50%;
      right: 0;
      left: 0;

      width: 85%;
      height: fit-content;
      margin: 0 auto;

      -webkit-transform: translateY(-50%);
      -moz-transform: translateY(-50%);
      -o-transform: translateY(-50%);
      transform: translateY(-50%);
    }

    .fachwerk-gallery+.modal figcaption,
    .fachwerk-gallery+.modal figcaption * { color: white; }

    .fachwerk-gallery+.modal button {
      position: absolute;
      width: 35px;
      height: 35px;
      background-color: transparent;
    }

    .fachwerk-gallery+.modal button[disabled=""] { display: none; }

    .fachwerk-gallery+.modal button:hover { opacity: .5; }

    .fachwerk-gallery+.modal button.close-modal,
    .fachwerk-gallery+.modal button.arrow-right,
    .fachwerk-gallery+.modal button.arrow-left { top: 25px; }

    .fachwerk-gallery+.modal button.close-modal { right: 25px; }

    .fachwerk-gallery+.modal button.arrow-left { right: 130px; }

    .fachwerk-gallery+.modal button.arrow-right { right: 75px; }

    @media screen and (min-width: 1000px) {
      .fachwerk-gallery+.modal button.arrow-right,
      .fachwerk-gallery+.modal button.arrow-left { top: calc(50% - 17.5px); }

      .fachwerk-gallery+.modal button.arrow-right { right: 25px; }

      .fachwerk-gallery+.modal button.arrow-left { left: 25px; }
    }

    .fachwerk-gallery+.modal button path { fill: white; }

/* Plugins */
  /* Tooltip */
  .tooltip-wrapper { display: inline-block; }

  .tooltip-button-text {
    cursor: help;
    text-decoration: underline;
  }

  .tooltip-button-text:hover {
    text-decoration: none;
  }

  .tooltip-content {
    display: none;
    z-index: 99;

    max-width: 300px;
    padding: 4px 8px;
    border-radius: 4px;

    text-align: left;

    color: white;  
    background-color: rgba(0, 0, 0, 0.9);
    }

  .tooltip-content[data-show] { display: block; }

  .tooltip-arrow,
  .tooltip-arrow::before {
    position: absolute;
    width: 8px;
    height: 8px;
    background: inherit;
  }

  .tooltip-arrow { visibility: hidden; }

  .tooltip-arrow::before {
    content: '';
    transform: rotate(45deg);
    visibility: visible;
  }

  .tooltip-content[data-popper-placement^='top'] > .tooltip-arrow { bottom: -4px; }

  .tooltip-content[data-popper-placement^='bottom'] > .tooltip-arrow { top: -4px; }

  .tooltip-content[data-popper-placement^='left'] > .tooltip-arrow { right: -4px; }

  .tooltip-content[data-popper-placement^='right'] > .tooltip-arrow { left: -4px; }

  .tooltip-icon {
    position: relative;
    top: 2px;
    width: 1rem;
  }

  .tooltip-icon path { fill: #898E90; }

/* Classes */
.display-inline {
  font-size: 0;
  line-height: 0;
}

.display-inline > * {
  display: inline-block;
  vertical-align: text-bottom;
}

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

.relative { position: relative; }

@media screen and (max-width: 699px) {
  .mobile-flip .split-content { display: grid; }

  .mobile-flip .split-content > .split-content-wrapper { grid-row: 1; }

  .mobile-flip .split-content > .split-image {
    grid-row: 2;
    margin: 30px 0 0;
  }
}

  /* Wide */
  section.wide.bg-light,
  section.wide.bg-image { padding: 40px 0; }

    /* Background color */
    section.wide.bg-light  { background-color: #EFF0F1; }

    section.wide:has(+section.wide) { margin-bottom: 0; }

    section.wide.bg-light:has(+section.wide.bg-light) { margin-bottom: 5px; }

    /* Background image */
    section.bg-image {
      min-height: 400px;
      background-size: cover;
    }

    section.bg-image:not(.scroll) { background-attachment: fixed; }

    @supports (-webkit-touch-callout: none) { section.bg-image:not(.scroll) { background-attachment: scroll; } }

  /* Box style */
  .items-row.box-style > .item {
    padding: 25px;
    border: 2px solid #EFF0F1;
  }

  .items-row.box-style.images .item-image { margin: -27px -27px 25px; }

    /* On section.wide */
    section.bg-light .items-row.box-style > .item {
      border: none;
      background-color: white;
    }

    section.bg-light .items-row.box-style.images .item-image { margin: -25px -25px 25px; }

/* Accessibility */
#skip-links { display: none; }