@charset "UTF-8";

/* Fonts */
  /* Normal */
  @font-face {
    font-display: swap;
    font-family: 'jaf-bernino-sans';
    src: url('../fonts/BerninoSans-Web-Regular.eot');
    src: url('../fonts/BerninoSans-Web-Regular.woff2') format('woff2'),
        url('../fonts/BerninoSans-Web-Regular.woff') format('woff');
    font-weight: 400;
    font-style: normal;
  }

  @font-face {
    font-display: swap;
    font-family: 'jaf-bernino-sans';
    src: url('../fonts/BerninoSans-Web-Italic.eot');
    src: url('../fonts/BerninoSans-Web-Italic.woff2') format('woff2'),
        url('../fonts/BerninoSans-Web-Italic.woff') format('woff');
    font-weight: 400;
    font-style: italic;
  }

  @font-face {
    font-display: swap;
    font-family: 'jaf-bernino-sans';
    src: url('../fonts/BerninoSans-Web-Semibold.eot');
    src: url('../fonts/BerninoSans-Web-Semibold.woff2') format('woff2'),
        url('../fonts/BerninoSans-Web-Semibold.woff') format('woff');
    font-weight: 500;
    font-style: normal;
  }

  @font-face {
    font-display: swap;
    font-family: 'jaf-bernino-sans';
    src: url('../fonts/BerninoSans-Web-Bold.eot');
    src: url('../fonts/BerninoSans-Web-Bold.woff2') format('woff2'),
        url('../fonts/BerninoSans-Web-Bold.woff') format('woff');
    font-weight: 600;
    font-style: normal;
  }

  /* Condensed */
  @font-face {
    font-display: swap;
    font-family: 'jaf-bernino-sans-condensed';
    src: url('../fonts/BerninoSans-Web-CondensedRegular.eot');
    src: url('../fonts/BerninoSans-Web-CondensedRegular.woff2') format('woff2'),
        url('../fonts/BerninoSans-Web-CondensedRegular.woff') format('woff');
    font-weight: 400;
    font-style: normal;
  }

  @font-face {
    font-display: swap;
    font-family: 'jaf-bernino-sans-condensed';
    src: url('../fonts/BerninoSans-Web-CondensedSemibold.eot');
    src: url('../fonts/BerninoSans-Web-CondensedSemibold.woff2') format('woff2'),
        url('../fonts/BerninoSans-Web-CondensedSemibold.woff') format('woff');
    font-weight: 500;
    font-style: normal;
  }

  @font-face {
    font-display: swap;
    font-family: 'jaf-bernino-sans-condensed';
    src: url('../fonts/BerninoSans-Web-CondensedBold.eot');
    src: url('../fonts/BerninoSans-Web-CondensedBold.woff2') format('woff2'),
        url('../fonts/BerninoSans-Web-CondensedBold.woff') format('woff');
    font-weight: 600;
    font-style: normal;
  }

  @font-face {
    font-display: swap;
    font-family: 'jaf-bernino-sans-condensed';
    src: url('../fonts/BerninoSans-Web-CondensedExtrabold.eot');
    src: url('../fonts/BerninoSans-Web-CondensedExtrabold.woff2') format('woff2'),
        url('../fonts/BerninoSans-Web-CondensedExtrabold.woff') format('woff');
    font-weight: 700;
    font-style: normal;
  }

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

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

  /* Reset – Forms */
  input, .visform input,
  textarea, .visform textarea,
  select, .visform select,
  button, .visform button,
  label, label.visCSSlabel {
    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, .visform input,
  textarea, .visform textarea,
  select, .visform select { -webkit-appearance: none; }

  /* Reset – Forms – Visforms */
  .visCustomText,
  .visBtnCon { margin: 0; }

  .visform { margin-top: 0; }

/* Basic */
.system-unpublished,
.icons { display: none; }

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
  }

a > img {
	-webkit-transition: transform 0.25s ease-out, opacity 0.25s ease-out;
	-moz-transition: transform 0.25s ease-out, opacity 0.25s ease-out;
	-o-transition: transform 0.25s ease-out, opacity 0.25s ease-out;
	transition: transform 0.25s ease-out, opacity 0.25s ease-out;
	}

p.readmore a,
button,
select, .visform select,
.visform input.btn,
div:has(input[type="checkbox"]) p > label,
input[type="checkbox"],
div[role="radiogroup"] p > label,
div[role="radiogroup"] p > input,
.form-check > input,
.form-check > label { cursor: pointer; }

/* Text */
* {
	font-family: jaf-bernino-sans, Arial, sans-serif;
	font-size: 13pt;
	line-height: 1.7;
	font-weight: 400;
	font-style: normal;
	color: #333333;
	}

p, span, a, li, strong, b, em, i, th, td, figcaption, address, blockquote, input, button, textarea, select, option, label, legend,
.footer1 { letter-spacing: 0.5pt; }

.module_main-navigation a,
.footer-heading,
.page_motivnudeln .content-after-columns > p { letter-spacing: .75pt; }

h1, h2, h3, h4, h5, h6,
a.button,
p.readmore a,
.subtitle, .tooltip-container > strong,
.visform input.btn,
.controls > button.btn { letter-spacing: 1pt; }

	/* Paragraph */
	p,
  address { margin-bottom: 8px; }

	p:last-of-type { margin-bottom: 0; }

	br { line-height: 1; }

	hr {
		border-bottom: solid 2px #EFEFEF;
		margin: 35px 0!important;
		}

	/* Markup */
	b,
	strong { font-weight: bold; }

	i,
	em { font-style: italic; }

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

  h1,
	h1 > a {
    font-family: jaf-bernino-sans-condensed;
    font-size: 2.2rem;
    font-weight: 700;
		line-height: 1.3;
    text-align: center;
    text-transform: uppercase;
		}

  h2 { margin-bottom: 20px; }

	h2,
	h2 > a {
    font-family: jaf-bernino-sans-condensed;
		font-size: 1.8rem;
    font-weight: 700;
		line-height: 1.3;
    text-align: center;
		text-transform: uppercase;
		}

    /* h2 border */
    .item-title h2:after,
    .page_legal-notice h1:after,
    .page_privacy-policy h1:after {
      content: ' ';

      display: block;
      width: 150px;

      padding-top: 10px;
      border-bottom: 5px solid #333333;
      margin: 0 auto;
    }

    .bg-light .item-title h2:after { border-color: #EFEFEF; }

    .bg-dark .item-title h2:after { border-color: white; }

    .wrapper:has(+.items-row):not(:has(.content-wrapper > *)) .item-title h2 { margin-bottom: 30px; }

  h3 { margin: 25px 0 10px; }

  h3,
	h3 > a,
  h3 > span {
		font-family: jaf-bernino-sans-condensed;
    font-weight: 500;
    font-size: 1.5rem;
		line-height: 1.4;
    text-transform: uppercase;
		}

  h4 { margin: 25px 0 5px; }

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

  h5 { margin: 25px 0 5px; }

	h5,
	h5 > a {
		line-height: 1.4;
    font-style: italic;
		}

  h6 { margin: 25px 0 5px; }

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

  h3:first-child,
  h4:first-child,
  h5:first-child,
  h6:first-child { margin-top: 0; }

  /* Subtitle */
  .subtitle {
    display: block;
    margin-bottom: 5px;

    font-family: jaf-bernino-sans-condensed;
    font-size: 1.2rem;
    font-weight: 500;
    line-height: 1;
    text-align: center;
    text-transform: uppercase;
    }

	/* List */
  ul.bullets,
  .page_privacy-policy .page-container ul {
		padding-left: 1.25em;
		margin: 1em 0;
		}

	ul.bullets > li,
  .page_privacy-policy .page-container ul > li {
		display: list-item;
		list-style-type: square;
    padding-left: 5px;
		}

    /* Checklist */
    ul.checklist { margin: 1em 0; }

    ul.checklist:last-child,
    ul.bullets:last-child { margin-bottom: 0; }

    ul.checklist > li {
      margin: 0 0 4px 33px;
      text-indent: -24pt;
      }

    ul.checklist > li:before {
      content: ' ';
      position: relative;
      top: 2px;

      display: inline-block;
      width: 16px;
      height: 16px;
      margin-right: 12pt;

      background-image: url('../images/checklist.svg');
      background-size: 16px 16px;
      }

    .wide.bg-dark ul.checklist > li:before { background-image: url('../images/checklist_invertiert.svg'); }

	/* Table */
	table {
		width: 100%;
    margin: 1em 0;
		border-collapse: collapse;
		}

	th {
		font-weight: bold;
		text-align: left;
		}

	th,
	td {
		padding: 7px 15px 5px;
		border: 1px solid #EFEFEF;
		}

  tbody > tr:hover {
    background-color: LightYellow;
    cursor: pointer;
    }

	/* Links */
	a:hover { cursor: pointer; }

  a.highlight {
    font-weight: 500;
    color: #BCBCBC;
    }

  a.highlight:hover { color: #667183; }

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

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

	a:hover > img.hover-resize {
		-webkit-transform: scale(1.1);
		-moz-transform: scale(1.1);
		-o-transform: scale(1.1);
		transform: scale(1.1);
		}

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

/* Page Layout */
html,
body {
	display: block;
	width: 100%;
	overflow-x: hidden;
  scroll-behavior: smooth;
	}

body { background-color: #FFC93C; }

body:before {
  content: ' ';

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

  display: block;
  height: 100vh;
  width: 100vw;

  background-image: url('../images/background-pattern.svg');
  background-size: 1000px;
}

body:after {
  content: '';

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

  display: block;

  width: 100vw;
  height: 100vh;

  min-height: 100vh;
  background: radial-gradient(circle,rgba(255, 255, 255, .25) 25%, rgba(255, 255, 255, 0) 100%);
}

#main-content { padding-top: 30px; }
#main-content:first-child { padding-top: 100px; }

.module_header-navigation > ul,
header > div,
#footer-content > div,
#footer-bottom > div,
.fachwerk_banner_caption,
#page-header,
.sections-container > .page-container,
.sections-container > section, .sections-container > .wide > .item,
.pagination,
#modules-top > *,
#modules-bottom > *, #modules-bottom > .wide > *,
.article-style-split-imgFill.wide > .item > .wrapper {
	width: 85%;
	max-width: 1150px;
	margin: 0 auto;
	}

.sections-container > section,
.page-container > .item,
#modules-bottom > * { margin-bottom: 50px; }

  /* Page Header */
  #page-header { text-align: center; }

  /* Images */
  .item-image,
  .image-wrapper {
    display: block;
    overflow: hidden;
    }

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

    /* Masken */
    section.article-style-split figure.image-wrapper,
    section.article-style-split-imgFill:not(.wide) figure.image-wrapper {
      -webkit-mask-image: url('../images/mask-item-image-1.svg');
      mask-image: url('../images/mask-item-image-1.svg');
      mask-repeat: no-repeat;
      mask-size: 100% 100%;
    }

    section.article-style-split.mask-type-2 figure.image-wrapper,
    section.article-style-split-imgFill:not(.wide).mask-type-2 figure.image-wrapper {
      -webkit-mask-image: url('../images/mask-item-image-2.svg');
      mask-image: url('../images/mask-item-image-2.svg');
    }

  /* Figcaption */
  figcaption { margin-top: 10px; }

  /* Items Row */
  .items-row:not(.cols-1) {
    display: grid;
    width: 100%;
    grid-gap: 30px;
    }

  .items-row > .item { overflow: hidden; }

    /* 1 Column */
    .items-row.cols-1 > .item { margin-bottom: 20px; }

    .items-row.cols-1 > .item:last-child { margin-bottom: 0; }

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

      .items-row:not(.cols-1) > .item { grid-column: span 2; }

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

    @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 { grid-template-columns: repeat(8, 1fr); }

      .items-row.cols-4 > .item { 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; }
      }

    /* Content Beside Columns */
    @media screen and (max-width: 999px) {
      .content-beside-columns {
        max-width: 600px;
        margin: 0 auto 30px;
        text-align: center;
        }
      }

    @media screen and (min-width: 1000px) {
      .content-beside-columns-active > .item {
        display: grid;
        grid-template-columns: 300px auto;
        grid-gap: 50px;
        grid-row-gap: 0;
        }

      .content-beside-columns-active.switch > .item { grid-template-columns: auto 300px; }

      .content-beside-columns-active.golden-cut > .item { grid-template-columns: 1fr 1.6fr; }
      
      .content-beside-columns-active.golden-cut.switch > .item { grid-template-columns: 1.6fr 1fr; }

      .content-beside-columns-active > .item > .wrapper { grid-column: 1 / span 2; }
      }

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

    height: 120px;
    border-bottom: 30px solid transparent;
    margin-bottom: -30px;
  
    -moz-border-image: url('../images/shape-header.svg') 0 0 33.333% fill stretch;
    -webkit-border-image: url('../images/shape-header.svg') 0 0 33.333% fill stretch;
    -o-border-image: url('../images/shape-header.svg') 0 0 33.333% fill stretch;
    border-image: url('../images/shape-header.svg') 0 0 33.333% fill stretch;
  	}

  	/* Logo */
  	.module_logo > a {
      position: absolute;
  		display: block;
  		margin-top: 15px;
  		}

    .module_logo img {
      display: block;
      height: 115px;
      width: auto;
      }

  /* Navigation */
  .module_main-navigation {
    position: relative;
    z-index: 98;

    width: fit-content;
    margin-left: auto;

    text-align: right;

    font-size: 0; /* Darstellungsfehler Chrome, iOS */
    line-height: 0; /* Darstellungsfehler Chrome, iOS */
    }

  .module_main-navigation li > .nav-child {
    width: 0;
    height: 0;
    overflow: hidden;
  }

  .module_main-navigation li:hover > .nav-child {
    width: auto;
    height: auto;
    border-width: 25px!important;
    overflow: visible;
  }

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

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

      .module_main-navigation button.open+ul#main-navigation { display: block!important; }

      .module_main-navigation #main-navigation:before {
          content: '';

          position: absolute;
          top: -32.5px;
          right: -10px;

          display: block;
          width: 25px;
          height: 12.5px;

          background-image: url('../images/nav-arrow.svg');
          background-size: 100%;
        }

      .module_main-navigation #main-navigation {
        position: absolute;
        right: 0;

        border: 25px solid transparent;
        margin-top: 20px;

        -moz-border-image: url('../images/shape-square-green.svg') 33.333% fill stretch;
        -webkit-border-image: url('../images/shape-square-green.svg') 33.333% fill stretch;
        -o-border-image: url('../images/shape-square-green.svg') 33.333% fill stretch;
        border-image: url('../images/shape-square-green.svg') 33.333% fill stretch;

        text-align: left;
        }

      .module_main-navigation #main-navigation li:not(:last-child) { margin-bottom: 15px; }

      .module_main-navigation #main-navigation li > a {
        display: block;
        color: white;
        }

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

      .module_main-navigation #main-navigation li:not(:has(.nav-child)):hover > a,
      .module_main-navigation #main-navigation li:has(li.active):not(:hover) > a,
      .module_main-navigation #main-navigation li.active:not(li.active) > a { opacity: .5; }

        /* 2. Ebene */
        .module_main-navigation #main-navigation li:hover > ul { margin-top: 15px; }

        .module_main-navigation #main-navigation > li > ul > li > a:before { content: '› '; }

        .module_main-navigation #main-navigation > li > ul > li:hover > a,
        .module_main-navigation #main-navigation > li > ul > li.active > a { opacity: 0.5; }

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

        .module_main-navigation > #dropdown {
          margin-top: 45px;
          font-size: 0;
          line-height: 0;
          }

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

        .module_main-navigation #dropdown {
          display: inline-block;
          width: 50px;
          height: 50px;

          background-image: url('../images/nav-dropdown.svg');
          background-position: top;
          background-size: 100% 200%;
          background-repeat: no-repeat;

          }

        .module_main-navigation #dropdown.open { background-position: bottom; }
    }

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

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

      .module_main-navigation > ul > li {
        position: relative;
        top: 40px;
        display: inline-block;
        vertical-align: top;
        }

      .module_main-navigation > ul > li:not(:first-child) { margin-left: 12.5px; }

      .module_main-navigation > ul > li > a {
        display: inline-block;
        height: 30px;
        padding: 5px 0;

        font-family: jaf-bernino-sans-condensed;
        font-size: 1.3rem;
        font-weight: 600;
        line-height: 30px !important;
        text-transform: uppercase;
        vertical-align: middle;
        }

      .module_main-navigation > ul > li:hover > a,
      .module_main-navigation > ul > li.active > a { color: #4B7C46; } /* Text hover and active */

        /* 2. Ebene */
        .module_main-navigation #main-navigation li { position: relative; }

        .module_main-navigation #main-navigation > li > ul:before {
          content: '';

          position: absolute;
          top: -35px;
          left: 0px;

          display: block;
          width: 25px;
          height: 12.5px;

          background-image: url('../images/nav-arrow.svg');
          background-size: 100%;
        }

        .module_main-navigation #main-navigation > li > ul {
          position: absolute;
          left: 0;

          border: 0 solid transparent;

          -moz-border-image: url('../images/shape-square-green.svg') 33.333% fill stretch;
          -webkit-border-image: url('../images/shape-square-green.svg') 33.333% fill stretch;
          -o-border-image: url('../images/shape-square-green.svg') 33.333% fill stretch;
          border-image: url('../images/shape-square-green.svg') 33.333% fill stretch;

          margin-top: 5px;
          }

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

        .module_main-navigation #main-navigation ul > li:not(:last-child) { margin-bottom: 15px; }

        .module_main-navigation #main-navigation ul > li > a {
          display: block;
          color: white;
          }

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

        .module_main-navigation #main-navigation ul > li:hover > a,
        .module_main-navigation #main-navigation ul > li.active > a { opacity: .5; }
      }

      /* Animations */
        /* Mobile */
        .module_main-navigation #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: 136px; opacity: 0; }
            to   { top: 96px; opacity: 1; }
            }

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

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

        /* Desktop Lv. 2 */
        .module_main-navigation #main-navigation > li > a:hover+ul {
          -webkit-animation: desktop-lvl-2 .35s; /* Safari, Chrome and Opera > 12.1 */
          -moz-animation: desktop-lvl-2 .35s; /* Firefox < 16 */
          -o-animation: desktop-lvl-2 .35s; /* Opera < 12.1 */
          animation: desktop-lvl-2 .35s;
          }

          @keyframes desktop-lvl-2 {
            from { top: 75px; opacity: 0; }
            to   { top: 40px; opacity: 1; }
            }

          /* Firefox < 16 */
          @-moz-keyframes desktop-lvl-2 {
            from { top: 75px; opacity: 0; }
            to   { top: 40px; opacity: 1; }
            }

          /* Safari, Chrome and Opera > 12.1 */
          @-webkit-keyframes desktop-lvl-2 {
            from { top: 75px; opacity: 0; }
            to   { top: 40px; opacity: 1; }
            }

  /* Footer */
  footer {
    border-top: 30px solid transparent;
  
    -moz-border-image: url('../images/shape-footer.svg') 33.333% 0 0 fill stretch;
    -webkit-border-image: url('../images/shape-footer.svg') 33.333% 0 0 fill stretch;
    -o-border-image: url('../images/shape-footer.svg') 33.333% 0 0 fill stretch;
    border-image: url('../images/shape-footer.svg') 33.333% 0 0 fill stretch;
  }

  footer * { text-align: center; }

    /* Footer Body */
    #footer-content { padding: 50px 0 20px; }

      /* Layout */
      @media screen and (max-width: 699px) { #footer-content > div > *:not(:last-child) { margin-bottom: 20px; } }

      @media screen and (min-width: 700px) {
        #footer-content > div {
          display: grid;
          grid-template-columns: repeat(3, 1fr);
          grid-gap: 30px;
        }

        .module_footer-logo {
          grid-column: 1 / span 3;
          grid-row: 1;
        }

        .module_footer-order {
          grid-column: 1;
          grid-row: 2;
        }

        .module_footer-contact {
          grid-column: 2;
          grid-row: 2;
        }

        .module_footer-legal {
          grid-column: 3;
          grid-row: 2;
        }

        .module_footer-links {
          grid-column: 2;
          grid-row: 3;
        }
      }

      @media screen and (min-width: 900px) {
        .module_footer-logo {
          grid-column: 1;
          grid-row: 1 / span 2;
        }

        .module_footer-order {
          grid-column: 2;
          grid-row: 1;
        }

        .module_footer-contact {
          grid-column: 2;
          grid-row: 2;
        }

        .module_footer-legal {
          grid-column: 3;
          grid-row: 1;
        }

        .module_footer-links {
          grid-column: 3;
          grid-row: 2;
        }
      }

      /* Design */
      #footer-content a:hover { color: #4B7C46; }

      .footer-heading {
        font-family: jaf-bernino-sans-condensed;
        font-weight: 700;
        font-size: 1.1rem;
        text-transform: uppercase;
      }

        /* Logo */
        a.footer-logo {
          display: block;
          width: fit-content;
          margin: 0 auto;
        }

        .footer-logo > img {
          width: auto;
          height: 175px;
        }

        @media screen and (min-width: 800px) {
          .module_footer-logo > .module-body {
            position: relative;
            top: 50%;

            -webkit-transform: translateY(-50%);
            -ms-transform: translateY(-50%);
            transform: translateY(-50%);
          }
        }

        /* Rechtliches */
        .module_footer-legal li.active > a { color: #4B7C46; }

        /* Links */
        .module_footer-links ul { margin: 10px 0 -5px; }

        .module_footer-links li { margin-bottom: 5px; }

        .module_footer-links li:not(:last-child) { margin-right: 5px; }

        .module_footer-links a,
        .module_footer-links img { display: block; }

        .module_footer-links img {
          width: 35px;
          height: 35px;
        }

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

    #footer-bottom * {
      font-size: .9rem;
      font-weight: 500;
      color: #BCBCBC;
    }

  /* Slider, Banner */
    /* Maske */
    .module_fachwerk-banner,
    .module_fachwerk-video-banner {
      mask-repeat: no-repeat;
      mask-position: bottom;
    }

    .module_fachwerk-banner {
      -webkit-mask-image: url('../images/mask-banner.svg');
      mask-image: url('../images/mask-banner.svg');
      mask-size: 100% 250px;
    }

    .module_fachwerk-video-banner {
      -webkit-mask-image: url('../images/mask-video-banner.svg');
      mask-image: url('../images/mask-video-banner.svg');
      mask-size: 100% 400px;
    }

    /* Caption */
    .fachwerk_banner_caption {
      position: absolute;
      right: 0;
      bottom: 30px;
      left: 0;

      text-align: right;
      }

    .fachwerk_banner_caption > span {
      display: inline-block;
      padding: 10px 15px;

      line-height: 1;
      font-weight: 500;

      background-color: rgba(255,255,255,.75);
      }

    /* Videobanner button */
    #fachwerk-videobanner-button { left: 7.5%; }

    @media screen and (min-width: 1353px) { #fachwerk-videobanner-button { left: calc((100vw - 1150px) / 2); } }

    /* Videobanner in content */
    section:has(.module_fachwerk-video-banner) {
      width: 100%!important;
      max-width: none!important;
    }

    section .module_fachwerk-video-banner {
      -webkit-mask-image: url('../images/mask-video-banner-500.svg');
      mask-image: url('../images/mask-video-banner-500.svg');
      mask-size: 100% 500px;
    }

    section .module_fachwerk-video-banner video { height: 500px; }

    section.wide+section .module_fachwerk-video-banner {
      -webkit-mask-image: url('../images/mask-video-banner-500-flat-top.svg');
      mask-image: url('../images/mask-video-banner-500-flat-top.svg');
    }

    section:has(.module_fachwerk-video-banner) { margin-bottom: 0; }

    section:has(.module_fachwerk-video-banner):has(+.wide) .module_fachwerk-video-banner {
      -webkit-mask-image: url('../images/mask-video-banner-500-flat-bottom.svg');
      mask-image: url('../images/mask-video-banner-500-flat-bottom.svg');
    }

    section:has(.module_fachwerk-video-banner)+.wide { border-top: 0; }

    section.wide+section:has(.module_fachwerk-video-banner):has(+.wide) { background-color: white; }

    section.wide+section:has(+.wide) .module_fachwerk-video-banner {
      -webkit-mask-image: url('../images/mask-video-banner-500.svg');
      mask-image: url('../images/mask-video-banner-500.svg');
    }

/* Styles: General */
  /* Article Information */

  /* Buttons: General */
  a.button,
  p.readmore a {
    display: inline-block;
    padding: 0 5px;
    border: 15px solid transparent;
    margin-top: 20px;

    font-family: jaf-bernino-sans-condensed;
    font-weight: 600;
    line-height: 1;
    text-transform: uppercase;

    color: white;

    -moz-border-image: url('../images/shape-square-red.svg') 33.333% fill stretch;
    -webkit-border-image: url('../images/shape-square-red.svg') 33.333% fill stretch;
    -o-border-image: url('../images/shape-square-red.svg') 33.333% fill stretch;
    border-image: url('../images/shape-square-red.svg') 33.333% fill stretch;
    }

  a.button:hover,
  p.readmore a:hover {
    -moz-border-image: url('../images/shape-square-red-hover.svg') 33.333% fill stretch;
    -webkit-border-image: url('../images/shape-square-red-hover.svg') 33.333% fill stretch;
    -o-border-image: url('../images/shape-square-red-hover.svg') 33.333% fill stretch;
    border-image: url('../images/shape-square-red-hover.svg') 33.333% fill stretch;
  }

  /* Buttons: Readmore */
    @media screen and (min-width: 700px) {
      p.readmore > a { margin-top: 0; }

      .items-row.readmore:not(.cols-1) .item { padding-bottom: 75px!important; }

      div.items-row:not(.cols-1) p.readmore {
        position: absolute;
        bottom: 30px;
        left: 35px;
        right: 35px;

        display: block;
        }
      }

  /* Pagenav */
  .pagination { margin: 30px auto -10px; }

  .pagination * { line-height: 1; }

  .pagination > p {
    float: right;
    padding: 10px 0;
    margin-left: 20px;
    }

  .pagination li {
    display: inline-block;
    margin: 0 5px 10px 0;
    }

  .pagination span,
  .pagination a {
    display: block;
    padding: 10px 15px;
    border: 1px solid #EFEFEF;
    color: #EFEFEF;
    }

  .pagination a {
    border-color: #BCBCBC;
    color: white;
    background-color: #BCBCBC;
    }

  .pagination a:hover {
    border-color: #667183;
    background-color: #667183;
    }

  /* ToTop */
  .module_totop {
    margin-bottom: 30px!important;
    text-align: right;
    }

  .module_totop * { vertical-align: middle; }

  .module_totop a {
    font-family: jaf-bernino-sans-condensed;
    font-weight: 500;
    line-height: 30px;
  }

  .module_totop svg {
    position: relative;
    bottom: 2px;

    height: 30px;
    margin-right: 5px;
    }

  .module_totop svg * { fill: #333333 }

  .module_totop a:hover { color: #4B7C46; }

  .module_totop a:hover svg * { fill: #4B7C46; }

/* Styles: Articles */
  /* Article Style: Page Intro */
  .article-style-introduction { text-align: center; }

  .article-style-introduction .content-wrapper {
    max-width: 760px;
    margin: 0 auto;
    }

  .article-style-introduction > .item > .wrapper > .content-wrapper > p,
  .article-style-introduction > .item > .wrapper > .content-wrapper > p > * {
    font-size: 1.2rem;
    line-height: 1.7;
    }

  /* Article Style: Split */
  .article-style-split .item-image { margin-bottom: 30px; }

  @media screen and (max-width: 699px) {
    .article-style-split,
    .article-style-split-imgFill { text-align: center; }
  }

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

    .article-style-split .item-image { margin-bottom: 0; }

    .article-style-split.switch .item-image {
      grid-row: 1;
      grid-column: 2;
      }

    .article-style-split.switch .wrapper {
      grid-row: 1;
      grid-column: 1;
      }

    .article-style-split h2,
    .article-style-split .subtitle { text-align: left; }

    .article-style-split .item-title h2:after { margin: 0; }

    .article-style-split.image-height-100 figure.image-wrapper,
    .article-style-split.image-height-100 figure.image-wrapper > img { height: 100%; }

    .article-style-split.image-height-100 figure.image-wrapper > img { object-fit: cover; }
  }

  /* Article Style: Split, Image Fill */
  .article-style-split-imgFill { padding: 0!important; }

  .article-style-split-imgFill > .item {
    width: 100%!important;
    max-width: none!important;
    margin: 0!important;
    }

  @media screen and (max-width: 699px) {
    .article-style-split-imgFill > .item > .wrapper { padding-top: 30px; }

    .article-style-split-imgFill.wide > .item > .wrapper { padding-bottom: 50px; }

    .article-style-split-imgFill .image-wrapper { padding-top: 56.25%; }
    }

  .article-style-split-imgFill .image-wrapper > img {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;

    height: 100%;

    object-fit: cover;
    }

    /* Mobile image fullwidth */
    @media screen and (max-width: 699px) {
      section:not(.wide).article-style-split-imgFill { width: 100%; }

      .bg-light+section:not(.wide).article-style-split-imgFill,
      .bg-dark+section:not(.wide).article-style-split-imgFill { margin-top: -80px; }

      section:not(.wide).article-style-split-imgFill .wrapper { 
        width: 85%;
        margin-left: auto;
        margin-right: auto;
      }

      section:not(.wide).article-style-split-imgFill figure.image-wrapper {
        -webkit-mask-image: url('../images/mask-item-image-mobile.svg')!important;
        mask-image: url('../images/mask-item-image-mobile.svg')!important;
      }
    }

    /* Desktop */
    @media screen and (min-width: 700px) {
      .article-style-split-imgFill > .item { display: grid; }

      /* Desktop – Normal */
      .article-style-split-imgFill:not(.wide) > .item {
        grid-template-columns: repeat(2, 1fr);
        column-gap: 30px;
        }

      .article-style-split-imgFill > .item > .wrapper {
        width: 100%!important;
        max-width: none!important;
        margin: 0!important;
        }

      .article-style-split-imgFill .image-wrapper { height: 100%; }

      .article-style-split-imgFill h2,
      .article-style-split-imgFill .subtitle { text-align: left; }

      .article-style-split-imgFill .item-title h2:after { margin: 0; }

        /* Switch */
        .article-style-split-imgFill.switch .item-image {
          grid-row: 1;
          grid-column: 2;
          }

        .article-style-split-imgFill.switch > .item > .wrapper {
          grid-row: 1;
          grid-column: 1;
          }

      /* Desktop – Wide */
      .article-style-split-imgFill.wide > .item { grid-template-columns: 7.5% 42.5% 42.5% 7.5%; }

      .article-style-split-imgFill.wide > .item > .item-image { grid-column: 1 / span 2; }

      .article-style-split-imgFill.wide > .item > .wrapper {
        grid-column: 3;
        padding: 50px 0;
        margin-left: 30px!important;
        }

      .article-style-split-imgFill.wide > .item > .wrapper > * { max-width: 545px; }

        /* Switch */
        .article-style-split-imgFill.wide.switch > .item > .item-image { grid-column: 3 / span 2; }

        .article-style-split-imgFill.wide.switch > .item > .wrapper {
          grid-column: 2;
          margin: 0!important;
          text-align: right;
          }

        .article-style-split-imgFill.wide.switch > .item > .wrapper > * {
          display: inline-block;
          width: calc(100% - 30px);
          margin-right: 30px;
          text-align: left;
          }
      }

  /* Article Style: Tiles */
    /* Tiles */
    .article-style-tiles .tiles-wrapper {
      display: grid;
      grid-gap: 10px;
      grid-template-columns: repeat(2, 1fr);
      }

    .article-style-tiles.tiles-small .tiles {
      max-width: 410px;
      margin: 0 auto 30px!important;
      }

    .article-style-tiles .tiles a {
      display: block;
      overflow: hidden;
      }

      /* 3-spaltig */
      .article-style-tiles.tiles-cols-3 .tiles-wrapper { grid-template-columns: repeat(3, 1fr); }

      .article-style-tiles.tiles-cols-3.tiles-small .tiles {
        max-width: 620px;
        margin: 0 auto;
        }

    /* Content */
    .article-style-tiles .wrapper {
      max-width: 760px;
      margin: 0 auto;
      text-align: center;
      }

    /* Position */
    .article-style-tiles.tiles-right > .item,
    .article-style-tiles.tiles-bottom > .item,
    .article-style-tiles.tiles-left > .item {
      display: grid;
      grid-gap: 30px;
      }

      /* Top */
      .article-style-tiles:not(.tiles-right):not(.tiles-bottom):not(.tiles-left) .tiles { margin-bottom: 30px; }

      /* Bottom */
      .article-style-tiles.tiles-bottom .tiles {
        grid-row: 2;
        grid-column: 1;
        }

      .article-style-tiles.tiles-bottom .wrapper {
        grid-row: 1;
        grid-column: 1;
        }

      /* Left, Right */
      @media screen and (min-width: 700px) {
        .article-style-tiles.tiles-left .tiles,
        .article-style-tiles.tiles-right .tiles { margin-bottom: 0!important; }

        .article-style-tiles.tiles-left > .item,
        .article-style-tiles.tiles-right > .item { grid-template-columns: repeat(2, 1fr); }

        .article-style-tiles.tiles-left .wrapper,
        .article-style-tiles.tiles-right .wrapper {
          max-width: none;
          margin: 0;
          text-align: left;
          }

          /* Right */
          .article-style-tiles.tiles-right .tiles {
            grid-row: 1;
            grid-column: 2;
            }

          .article-style-tiles.tiles-right .wrapper {
            grid-row: 1;
            grid-column: 1;
            }
        }

/* Items Row Styles */
  /* Icons */
  .items-row.icons * { text-align: center!important; }

  .items-row.icons div.item-image,
  .items-row.icons a.item-image { width: fit-content; }

  .items-row.icons div.item-image,
  .items-row.icons a.item-image,
  .items-row.icons figure > a,
  .items-row.icons figure > img { margin: 0 auto; }

  .items-row.box.icons .item-image { margin-top: 30px; }

  .items-row.icons .item-image img {
    width: 60px;
    height: 60px;
    }

  .items-row.icons .wrapper:has(*) { padding-top: 10px!important; }

  .items-row.icons h3 {
    margin-bottom: 0;
    font-size: 1.4rem;
  }

  /* Icons Left */
  .items-row.icons-left .item-image {
    float: left;
    width: 50px;
    }

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

  .icons-left h3 {
		margin: 0 0 5px;
    font-size: 1.4rem;
		}

  /* Icons mobile center */
  @media screen and (max-width: 699px) {
    .icons-mobile-center { text-align: center; }

    .icons-mobile-center .icons-left .item-image,
    .icons-mobile-center .icons-left .wrapper { margin: 0 auto; }

    .icons-mobile-center .icons-left .item-image {
      float: none;
      margin-bottom: 10px;
    }

    .icons-mobile-center .icons-left .wrapper { max-width: 350px; }
  }

/* Individual Styles */
  /* Section 800 */
  section.individual-style-800 > .item,
  .max-width-800 {
    max-width: 800px!important;
    margin-left: auto;
    margin-right: auto;
  }

  /* Range */
  .individual-style-range .items-row .item-image > img {
    width: auto;
    height: 60px;
  }

  .individual-style-range figcaption { line-height: 1.3; }

  .individual-style-range .pasta-selection {
    font-size: .9rem;
    color: #BCBCBC;
  }

  /* Labels */
  .individual-style-labels .item-title,
  .individual-style-labels p.max-width-800 {
    width: 85%;
    max-width: 1150px;
    margin: 0 auto;
  }

  /* Certificates */
  .individual-style-certificates ul { margin-bottom: -10px; }

  .individual-style-certificates li { margin: 0 5px 10px; }

  .individual-style-certificates a { display: block; }

  .individual-style-certificates img {
    display: block;
    width: auto;
    height: 100px;
  }

  /* Production */
  .individual-style-production ul > li {
    position: relative;
    margin-bottom: 40px;
  }

  .individual-style-production h3 {
    font-family: jaf-bernino-sans;
    font-size: 1.2rem;
    font-weight: 600;
    margin-bottom: 5px;
  }

  @media screen and (max-width: 699px) {
    .individual-style-production { text-align: center; }

    .individual-style-production img {
      height: 150px;
      margin-bottom: 1em;
      object-fit: cover;
    }
  }

  @media screen and (min-width: 700px) {
    .individual-style-production ul {
      display: grid;
      grid-auto-rows: 1fr;
    }

    .individual-style-production img {
      position: absolute;
      top: 0;
      bottom: 0;
      left: 0;

      width: calc(50% - 15px);
      height: 100%;
      border-radius: 15px;

      object-fit: cover;
    }

    .individual-style-production .text-wrapper { margin-left: calc(50% + 15px); }
  }

  /* Sabibne Haede */
  .individual-style-sabine-haede .item-image {
    max-width: 150px;
    border: 7.5px solid white;
    border-radius: 100%;
    margin: 0 auto 30px;
  }

  /* Ingredients */
  .ingredients-link {
    display: block;
    width: fit-content;
    margin: 0 auto;
  }

  .ingredients-logo {
    width: auto;
    max-width: 100%;
    height: 125px;
    object-fit: contain;
  }

  .individual-style-ingredients .ingredients-type,
  .individual-style-ingredients p.readmore { text-align: center; }

  .individual-style-ingredients .ingredients-type {
    width: fit-content;
    margin: 20px auto 0;
    
    font-size: .9rem;

    color: #8B8B8B;
  }

/* Rubriken */
  /* Startseite */
  @media screen and (max-width: 699px) {
    .banner-home .item { text-align: center; }

    .banner-home .item-image { margin-bottom: 30px; }
  }

  @media screen and (min-width: 700px) { .banner-home h1 { text-align: left; } }

  .banner-home .wrapper p {
    font-family: jaf-bernino-sans-condensed;
    font-size: 1.5rem;
    line-height: 1.4;
  }

  .banner-home .wrapper a.button { margin-top: 30px; }

  .banner-home .item-image img {
    width: 100%;
    max-height: 400px;
    object-fit: contain;
    object-position: center;
  }

  @media screen and (min-width: 700px) {
    .banner-home .item {
      display: flex;
      flex-direction: row-reverse;
      align-items: center;
      gap: 50px;
    }

    .banner-home .item > * {
      flex-basis: 50%;
      flex-grow: 0;
    }

    .banner-home .item-image img { height: 400px; }
  }

  @media screen and (min-width: 1350px) {
    .banner-home .item > .item-image { flex-basis: 62.5%; }

    .banner-home .item > .wrapper { flex-basis: 37.5%; }
  }

  /* Nudeln */
  .individual-style-motives { padding: 80px 0!important; }

  .individual-style-motives > .item {
    max-width: 480px!important;
    padding: 35px;
    border-radius: 30px;
    background-color: white;
    box-sizing: border-box;
  }

  .individual-style-motives .item-image {
    max-width: 100px;
    border-radius: 100%;
    margin: 0 auto 20px;
  }

  /* Bestellen */
  .form-arrow {
    display: block;
    width: 50px;
    margin: 20px auto;
  }

  .form-arrow path { fill: #4B7C46; }

  .visform h2.optional:after {
    content: 'optional';

    position: relative;
    bottom: 2px;

    display: inline-block;
    padding: 5px 10px;
    border: 2px solid #4B7C46;
    border-radius: 5px;
    margin-left: 10px;
    
    font-family: jaf-bernino-sans;
    font-weight: 700;
    font-size: .7rem;
    line-height: 1;
    vertical-align: middle;

    color: #4B7C46;
  }

  .visform .tooltip-icon {
    width: 1rem;
    line-height: 1;
    vertical-align: text-top;
  }

  .visform .tooltip-icon path { fill: #4B7C46; }

  .field8:has(+.conditional:not(.vishidden)) a.highlight,
  .field12:has(+.conditional:not(.vishidden)) a.highlight { display: none; } /* Etiketten-Link ausblenden, wenn 'gestalten lassen' ausgewaehlt */

  .visform a.highlight {
    display: inline-block;
    margin-top: 10px;

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

    color: #4B7C46!important;
  }

  .visform a.highlight svg {
    width: 1rem;
    vertical-align: text-bottom;
  }

  .visform a.highlight svg path { fill: #4B7C46; }

  .visform a.highlight:hover { color: #3C6338!important; }
  .visform a.highlight:hover svg path { fill: #3C6338; }

  /* Nudelformen */
  .page_nudelformen .item-image img {
    width: 60px!important;
    padding: 20px;
    border-radius: 100%;
    background-color: white;
    object-fit: contain;
  }

  /* Motive */
  .page_motivnudeln .item-image img {
    max-width: 125px;
    border-radius: 100%;
    margin: 0 auto;
    background-color: white;
  }

  .page_motivnudeln .items-row figcaption,
  .page_etiketten .items-row figcaption {
    font-family: jaf-bernino-sans-condensed;
    font-size: 1.2rem;
    line-height: 1;
  }

  .page_motivnudeln .content-after-columns > p,
  .page_verpackungen .content-after-columns > p {
    width: fit-content;
    margin: 50px auto -20px;

    font-family: jaf-bernino-sans-condensed;
    font-size: 1.2rem;
    font-weight: 700;
    text-transform: uppercase;
  }

  .page_motivnudeln .content-after-columns > p:before,
  .page_verpackungen .content-after-columns > p:before {
    content: ' ';

    display: block;
    width: 100px;
    padding-top: 5px;
    border-top: 3px solid #333333;
    margin: 0 auto;
  }

  /* Verpackungen */
  .page_verpackungen .item-image img {
    max-width: 250px;
    border-radius: 100%;
    margin: 0 auto;
  }

  .page_verpackungen .items-row figcaption {
    font-family: jaf-bernino-sans-condensed;
    font-size: 1.2rem;
    line-height: 1.5;
  }

  /* Etiketten */
  .page_etiketten .items-row .item,
  .page_etiketten .items-row figure { overflow: visible; }

  .page_etiketten .items-row a {
    display: block;
    border-radius: 5px;
    box-shadow: 1px 1px 3px rgba(51,51,51,.35);
  }

  .page_etiketten .items-row img { border-radius: 5px; }

  /* Rechtliches */
  .page_legal-notice h1,
  .page_privacy-policy h1 { margin-bottom: 40px; }

  .page_legal-notice h2,
  .page_privacy-policy h2 { margin: 25px 0 5px; }

    /* Legal notice */
    .page_legal-notice h2 { font-size: 1.6rem; }

    .page_legal-notice joomla-hidden-mail > a { text-decoration: underline; }

    /* Privacy policy */
    .page_privacy-policy h2 { text-align: left; }

    .page_privacy-policy h2:first-child,
    .page_privacy-policy h3,
    .page_privacy-policy h3+h4 { margin-top: 0; }

    .page_privacy-policy p+h3 { margin: 25px 0 5px; }

  /* Vielen Dank */
  .page_vielen-dank .page-container .item-image {
    max-width: 100px;
    margin: 0 auto 30px;
    }

  /* Fehler 404 */
  .page_seite-nicht-gefunden section:first-child .item-image {
    max-width: 100px;
    margin: 0 auto 30px;
    }

/* Modules */
  /* Carousel */
  .fachwerk-slider.type-carousel .fachwerk-slider-controls > button {
    border-radius: 100%;
    background-color: #4B7C46;
  }

  .fachwerk-slider.type-carousel .fachwerk-slider-controls img {
    width: 25px;
    height: 25px;
  }

  .fachwerk-slider.type-carousel .fachwerk-slider-controls > button:hover { background-color: #3C6338; }

  @media screen and (max-width: 599px) {
    .fachwerk-slider.type-carousel figure img {
      max-width: 250px;
      margin: 0 auto;
    }
  }

/* System */
  /* Plugins */
    /* Lightbox */

    /* Videos */

    /* Forms */
      /* General Elements */
        /* Form Container */
        .visforms-form,
        .com-users-login,
        .com-users-logout,
        .com-users-reset,
        .com-users-remind {
          position: relative;

          max-width: 600px;
          padding: 0 30px 30px;
          border-bottom: 50px solid transparent;
          margin: 30px auto 0;

          -moz-border-image: url('../images/shape-form.svg') 0 0 33.333% fill stretch;
          -webkit-border-image: url('../images/shape-form.svg') 0 0 33.333% fill stretch;
          -o-border-image: url('../images/shape-form.svg') 0 0 33.333% fill stretch;
          border-image: url('../images/shape-form.svg') 0 0 33.333% fill stretch;

          box-sizing: border-box;
          }

        .visforms-form:before,
        .com-users-login:before,
        .com-users-logout:before,
        .com-users-reset:before,
        .com-users-remind:before {
          content: ' ';

          position: absolute;
          top: -30px;
          left: 0;

          display: block;
          width: 100%;
          height: 10px;
          border-top: 30px solid white;
          border-top-left-radius: 25px;
          border-top-right-radius: 25px;
        }

        .visforms-form *,
        .com-users-login *,
        .com-users-logout * { color: #333333!important; }

        /* Headings */
        .visforms-form h2 {
          margin: 25px 0 10px;
          font-size: 1.6rem;
          text-align: left;
        }

        /* Einleitungstext */
        .visforms-form > .category-desc,
        .login-description,
        .logout-description,
        .com-users-reset legend,
        .com-users-remind legend {
          padding: 10px 15px 11px;
          border-radius: 10px;
          margin-bottom: 20px;
          background-color: #333333;
          }

        .visforms-form > .category-desc *,
        .login-description, .login-description *,
        .logout-description, .logout-description *,
        .com-users-reset legend, .com-users-reset legend *,
        .com-users-remind legend, .com-users-remind legend * {
          font-size: 9pt;
          color: white !important;
          }

        p.infotext {
          font-size: .9rem;
          color: #D32533 !important;
        }

        /* Einleitungsbild */
        .login-description > img,
        .logout-description > img {
          display: block;
          width: 100%;
          height: auto;
          margin-top: 20px;
          }

        .login-description > img:only-child,
        .logout-description > img:only-child { margin: 0; }

        /* Error Message */
        .visform input.error,
        .visform textarea.error,
        .visform select.error,
        div.has-danger > input,
        div.has-danger > textarea,
        div.has-danger > select { border: 1px solid #D32533!important; }

        .visform:not(.bt5):not(.bt4mcindividual):not(.uikit3):not(.uikit2) p.errorcontainer {
          padding: 0;
          margin: 0;
          }

        .visform .checkbox+div > .errorcontainer,
        .visform .radio+div > .errorcontainer { margin-top: 10px!important; }

        .visform:not(.bt5):not(.bt4mcindividual):not(.uikit3):not(.uikit2) label.error,
        .form-control-feedback {
          max-width: none;
          padding: 5px 10px 6px;
          border-radius: 0;
          margin: 0;

          background-color: #D32533;
          }

        .visform:not(.bt5):not(.bt4mcindividual):not(.uikit3):not(.uikit2) label.error,
        .visform:not(.bt5):not(.bt4mcindividual):not(.uikit3):not(.uikit2) label.error *,
        .form-control-feedback {
          font-size: .8rem;
          line-height: 1;
          font-weight: normal!important;
          text-transform: none;

          color: white!important;
          }

        .visform div:not(.consent-data-processing) > input.error+.visCustomText,
        .visform textarea.error+.visCustomText,
        .visform select.error+.visCustomText,
        .visform:not(.bt5):not(.bt4mcindividual):not(.uikit3):not(.uikit2) p.errorcontainer:after { display: none; }

        /* Required */
        div.required { position: relative; }

        div.required:has(:placeholder-shown):not(.consent-data-processing):not(.captchaCont):not(.h-captcha):after {
          content: ' ';

          position: absolute;
          top: calc(50% - 10px);
          right: 15px;

          width: 10px;
          height: 10px;
          padding: 5px;
          border-radius: 100%;

          background-image: url('../images/asterisk.svg');
          background-size: 10px 10px;
          background-position: center;
          background-repeat: no-repeat;
          background-color: white;
        }

        div.required:has(:focus):after,
        div.required:has(.errorcontainer):after { display: none; }

      /* Fields */
      fieldset > div:not(:last-child) { margin-bottom: 10px; } /* Abstand zwischen Felden */

      ::placeholder {
        color: #BCBCBC;
        opacity: 1;
        }

        /* Input */
        input, .visform input:not(.btn),
        textarea, .visform textarea {
          -webkit-box-sizing: border-box;
          -moz-box-sizing: border-box;
          box-sizing: border-box;

          width: 100%;
          padding: 10px 15px;

          background-color: #EFEFEF;
          }

          /* Number field: Hide arrows */
          input[type=number]::-webkit-outer-spin-button,
          input[type=number]::-webkit-inner-spin-button {
            -webkit-appearance: none;
            margin: 0;
          }

          input[type=number] { -moz-appearance: textfield; }

        /* Textarea */
        textarea, .visform textarea { height: 120px; }

        /* Check boxes, radio buttons */
        div:has(input[type="checkbox"]) p,
        div[role="radiogroup"] p {
          padding: 0!important;
          margin: 0!important;
        }

        .visform div:has(input[type="checkbox"]) p:not(.visCSSclear):not(.errorcontainer),
        .visform div[role="radiogroup"] p:not(.visCSSclear):not(.errorcontainer) {
          display: grid;
          grid-template-columns: 1.4rem auto;
          grid-gap: 10px;
        }

        @media screen and (min-width: 600px) {
          .visform div:has(input[type="checkbox"]) p:not(.visCSSclear):not(.errorcontainer),
          .visform div[role="radiogroup"] p:not(.visCSSclear):not(.errorcontainer) { grid-template-columns: 1.4rem calc(50% - 1.4rem - 15px) 1.4rem calc(50% - 1.4rem - 15px); }

          .visform div[role="radiogroup"] .three-rows { grid-template-columns: 1.4rem calc(33.333% - 1.4rem - (50px / 3)) 1.4rem calc(33.333% - 1.4rem - (50px / 3)) 1.4rem calc(33.333% - 1.4rem - (50px / 3))!important; }
        }

        .visform div:has(input[type="checkbox"]) p > label,
        .visform div[role="radiogroup"] p > label {
          margin: 0;
          font-weight: 400;
          line-height: 1.4;
          text-transform: none;
        }

        .visform input[type="checkbox"],
        .visform div[role="radiogroup"] p > input {
          width: 1.4rem!important;
          height: 1.4rem;
          padding: 0!important;
          margin: 0!important;
        }

        .visform div[role="radiogroup"] p > input { border-radius: 100%; }

        .visform input[type="checkbox"]:checked { background-image: url('../images/check.svg'); }

        .visform div[role="radiogroup"] p > input:checked { background-image: url('../images/check-radio.svg'); }

        /* Select */
        select, .visform select {
          -webkit-box-sizing: border-box;
          -moz-box-sizing: border-box;
          box-sizing: border-box;

          width: 100%;
          padding: 10px 15px;

          background-color: #EFEFEF;
          }

        select, .visform select {
          background-image: url('../images/select.svg');
          background-repeat: no-repeat;
          background-position: right;
          }

        /* Consent to data processing */
        .consent-data-processing > input { float: left; }

        .consent-data-processing > .visCustomText:has(label) { margin-left: 35px; }

        .consent-data-processing > .visCustomText > label {
          margin: 0;
          font-size: 1rem;
          font-weight: 400;
        }

        .consent-data-processing > .visCustomText > label,
        .tooltip-wrapper * { text-transform: none; }

        .visform .tooltip-content { color: white!important; }

        /* Captcha */
        .captchaCont .visCSSlabel { display: none; }

        .captchaCont .h-captcha iframe { max-width: 100%; }

        /* Submit Button */
        .visform input.btn,
        .controls > button.btn {
          display: block;
          width: 100%;
          border: 15px solid transparent!important;
          margin-top: 20px;

          -moz-border-image: url('../images/shape-square-red.svg') 33.333% fill stretch!important;
          -webkit-border-image: url('../images/shape-square-red.svg') 33.333% fill stretch!important;
          -o-border-image: url('../images/shape-square-red.svg') 33.333% fill stretch!important;
          border-image: url('../images/shape-square-red.svg') 33.333% fill stretch!important;

          font-family: jaf-bernino-sans-condensed;
          font-weight: 600;
          line-height: 1;
          text-transform: uppercase;

          color: white!important;
          }

        .visform input.btn:hover,
        .controls > button.btn:hover {
          -moz-border-image: url('../images/shape-square-red-hover.svg') 33.333% fill stretch!important;
          -webkit-border-image: url('../images/shape-square-red-hover.svg') 33.333% fill stretch!important;
          -o-border-image: url('../images/shape-square-red-hover.svg') 33.333% fill stretch!important;
          border-image: url('../images/shape-square-red-hover.svg') 33.333% fill stretch!important;
        }

      /* Fields – Related */
        /* Label */
        label,
        label.visCSSlabel {
          margin: 25px 0 10px;
          font-size: .9rem;
          line-height: 1;
          text-transform: uppercase;
          }

        label:has(span.visually-hidden) { margin: 0; }

        label,
        label.visCSSlabel,
        label.required > span { font-weight: 600; }

        .visforms-form div.required > label.visCSSlabel:after {
          padding-left: 3px!important;
          color: #333333!important;
          }

        fieldset > div:first-child label { margin-top: 0; }

        /* Button for Field */
        .visform .input-append > button,
        .input-group > button {
          position: absolute;
          top: 0;
          right: 0;
          bottom: 0;

          width: 45px;
          background-color: #BCBCBC;
          }

        .visform .input-append > .error+button,
        .input-group.has-danger > button { bottom: 21px; }

          /* Visforms Date Field */
          .visform .visicon-calendar { color: white!important; }

          /* User Login Password Toggler */
          .input-password-toggle > span:not(.visually-hidden) {
            display: block;
            width: 100%;
            height: 100%;

            background-position: center;
            background-size: 20px;
            background-repeat: no-repeat;
            }

          .input-password-toggle > .icon-eye-slash { background-image: url('../images/toggle-hide.svg'); }
          .input-password-toggle > .icon-eye { background-image: url('../images/toggle-show.svg'); }

          /* Calendar */
          .js-calendar { right: 0; }
          .calendar-container table tbody td.day:hover { background-color: #EFEFEF; }

          .calendar-container table tbody td.day.selected {
            color: white!important;
            background-color: #667183;
            }

          .visform .buttons-wrapper .btn {
            border: 0;
            color: white!important;
            background-color: #BCBCBC;
            }

          .visform .buttons-wrapper .btn:hover { background-color: #667183; }

          /* Passwort vergessen */
          .list-group { margin: 15px 0 -10px; }

          .list-group > a {
            display: inline-block;
            margin: 0 10px 10px 0;
            line-height: 1;
            }

          .list-group > a:hover { text-decoration: underline!important; }

    /* Tooltips */
    .tooltip { display: inline-block; }

    .tooltip:hover {
      border-bottom: none;
      cursor: help;
      }

    .tooltip-container {
      display: none;

      position: absolute;
      left: 50%;
      bottom: 50px;

      width: 250px;
      padding: 15px;
      border-radius: 10px;

      text-align: left;

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

      opacity: 0;

      -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
      transform: translateX(-50%);
      }

    .tooltip-container,
    .tooltip-container a { color: white!important; }

    .tooltip-container:after {
      content: ' ';

      position: absolute;
      bottom: -15px;
      right: 0;
      left: 0;

      display: inline-block;
      width: 0;
      height: 0;
      border-left: 15px solid transparent;
      border-right: 15px solid transparent;
      border-top: 15px solid rgba(0,0,0,.9);
      margin: 0 auto;
      }

    .tooltip-container > strong {
      text-transform: uppercase;
      color: white!important;
      }

    .tooltip:hover > .tooltip-container { display: block; }

      /* Animation */
      .tooltip-container {
        -webkit-animation: tooltip .1s ease .35s forwards; /* Safari, Chrome and Opera > 12.1 */
        -moz-animation: tooltip .1s ease .35s forwards; /* Firefox < 16 */
        -ms-animation: tooltip .1s ease .35s forwards; /* Internet Explorer */
        -o-animation: tooltip .1s ease .35s forwards; /* Opera < 12.1 */
        animation: tooltip .1s ease .35s forwards;
        }

      @keyframes tooltip {
        from { bottom: 70px; opacity: 0; }
        to   { bottom: 50px; opacity: 1; }
        }

      /* Firefox < 16 */
      @-moz-keyframes tooltip {
        from { bottom: 70px; opacity: 0; }
        to   { bottom: 50px; opacity: 1; }
        }

      /* Safari, Chrome and Opera > 12.1 */
      @-webkit-keyframes tooltip {
        from { bottom: 70px; opacity: 0; }
        to   { bottom: 50px; opacity: 1; }
        }

      /* Internet Explorer */
      @-ms-keyframes tooltip {
        from { bottom: 70px; opacity: 0; }
        to   { bottom: 50px; opacity: 1; }
        }

/* Classes */
.clear { clear: both; }

.text-center,
.page_legal-notice { text-align: center; }

.margin-top-0 { margin-top: 0!important; }
.margin-top-15 { margin-top: 15px!important; }
.margin-bottom-0 { margin-bottom: 0!important; }

.display-inline,
.module_header-navigation > ul, .module_header-navigation li,
#footer-bottom ul,
.visform .field-wrapper,
.visBtnCon,
.visform:not(.bt5):not(.bt4mcindividual):not(.uikit3):not(.uikit2) p.errorcontainer,
.visform .field-wrapper > .visCustomText,
.form-check,
.list-group {
	font-size: 0;
	line-height: 0;
	}

.display-inline > *,
.module_header-navigation > ul > li,
#footer-bottom ul > li {
	display: inline-block;
	vertical-align: top;
	}

.relative,
.item,
.article-style-split-imgFill .image-wrapper,
.field-calendar,
.input-group,
.visform .input-append,
fieldset > div { position: relative; }

.wrapper-margin { margin-bottom: 30px; } /* Wenn Spaltenlayout auf Hauptinhalt eines Beitrags folgt */

div[role="radiogroup"] > label.hide-parent-label,
label.hide-label { display: none; }

.fullwidth,
.fullwidth > .item {
  width: 100%!important;
  max-width: none!important;
}

  /* Wide */
	.wide {
    width: 100%!important;
    max-width: none!important;
    padding: 30px 0 50px;
    margin-left: 0!important;
    margin-right: 0!important;
		}

  .wide.bg-light,
  .wide.bg-dark {
    position: relative;
    z-index: 1;
    border-top: 30px solid transparent;
    border-bottom: 30px solid transparent;
  }

    /* Light */
    section.bg-light {
      -moz-border-image: url('../images/shape-section-white.svg') 33.333% 0 fill stretch;
      -webkit-border-image: url('../images/shape-section-white.svg') 33.333% 0 fill stretch;
      -o-border-image: url('../images/shape-section-white.svg') 33.333% 0 fill stretch;
      border-image: url('../images/shape-section-white.svg') 33.333% 0 fill stretch;
    }

    /* Dark */
    section.bg-dark {
      -moz-border-image: url('../images/shape-section-green.svg') 33.333% 0 fill stretch;
      -webkit-border-image: url('../images/shape-section-green.svg') 33.333% 0 fill stretch;
      -o-border-image: url('../images/shape-section-green.svg') 33.333% 0 fill stretch;
      border-image: url('../images/shape-section-green.svg') 33.333% 0 fill stretch;
    }

    /* Transition */
    .wide:has(+.wide),
    .wide:has(+section .module_fachwerk-video-banner) {
      border-bottom: none;
      margin-bottom: 0;
    }

    .bg-light+.bg-dark {
      -moz-border-image: url('../images/shape-section-transition-a.svg') 33.333% 0 fill stretch;
      -webkit-border-image: url('../images/shape-section-transition-a.svg') 33.333% 0 fill stretch;
      -o-border-image: url('../images/shape-section-transition-a.svg') 33.333% 0 fill stretch;
      border-image: url('../images/shape-section-transition-a.svg') 33.333% 0 fill stretch;
    }

    .bg-dark+.bg-light {
      -moz-border-image: url('../images/shape-section-transition-b.svg') 33.333% 0 fill stretch;
      -webkit-border-image: url('../images/shape-section-transition-b.svg') 33.333% 0 fill stretch;
      -o-border-image: url('../images/shape-section-transition-b.svg') 33.333% 0 fill stretch;
      border-image: url('../images/shape-section-transition-b.svg') 33.333% 0 fill stretch;
    }

    /* Wide – Elements inside */
    .bg-dark > .item > .wrapper > .item-title *,
    .bg-dark > .item > .wrapper > .content-wrapper *,
    *[class^="module"].bg-dark * { color: white; }

    .bg-dark > .item > .wrapper > .content-wrapper .button,
    *[class^="module"].bg-dark .button {
      color: #BCBCBC;
      background-color: white;
      }

    .bg-dark > .item > .wrapper > .content-wrapper .button:hover,
    *[class^="module"].bg-dark .button:hover { color: #667183; }

  /* Background Image */
  .bg-image {
    padding: 0;

    background-size: cover;
    background-position: center;

    -webkit-mask-image: url('../images/mask-video-banner-500.svg');
    mask-image: url('../images/mask-video-banner-500.svg');
    mask-size: 100% 100%;
    }

  .bg-light+.bg-image {
    -webkit-mask-image: url('../images/mask-video-banner-500-flat-top.svg');
    mask-image: url('../images/mask-video-banner-500-flat-top.svg');
  }

  .bg-image.scroll { background-attachment: fixed; }

  .bg-image.scroll { min-height: 250px; }

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

  .bg-image+.wide { border-top: 0!important; }

  /* Between two bg-light */
  .bg-light+.bg-image:has(+.bg-light) {
    position: relative;
    -webkit-mask-image: none;
    mask-image: none;
  }

  .bg-light+.bg-image:has(+.bg-light):before,
  .bg-light+.bg-image:before {
    content: ' ';

    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    z-index: 99;

    display: block;
    width: 100%;
    border-top: 30px solid;
    
    -moz-border-image: url('../images/shape-section-white-negative.svg') 33.333% 0 0 fill stretch;
    -webkit-border-image: url('../images/shape-section-white-negative.svg') 33.333% 0 0 fill stretch;
    -o-border-image: url('../images/shape-section-white-negative.svg') 33.333% 0 0 fill stretch;
    border-image: url('../images/shape-section-white-negative.svg') 33.333% 0 0 fill stretch;
  }

    .bg-light+.bg-image:has(+.bg-light):after {
    content: ' ';

    position: absolute;
    bottom: 0;
    right: 0;
    left: 0;
    z-index: 99;

    display: block;
    width: 100%;
    border-bottom: 30px solid;
    
    -moz-border-image: url('../images/shape-section-white-negative.svg') 0 0 33.333% fill stretch;
    -webkit-border-image: url('../images/shape-section-white-negative.svg') 0 0 33.333% fill stretch;
    -o-border-image: url('../images/shape-section-white-negative.svg') 0 0 33.333% fill stretch;
    border-image: url('../images/shape-section-white-negative.svg') 0 0 33.333% fill stretch;
  }

  /* Two rows mobile */
  @media screen and (max-width: 699px) {
    .two-rows-mobile .items-row {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      grid-gap: 30px;
    }

    .two-rows-mobile .items-row:not(.last-row-left) > .item:last-child:nth-child(odd) {
      grid-column: 1 / span 2;
      width: calc(50% - 15px);
      margin: 0 auto;
    }
    .two-rows-mobile .items-row.last-row-complete-only > .item:last-child:nth-child(odd) { display: none; }
  }

  /* Box */
  .items-row.box > .item > .wrapper { padding: 35px; }

  .items-row.box.readmore > .item > .wrapper { padding-bottom: 20px; }

  .items-row.box > .item {
    border-radius: 30px;
    text-align: left;
    background-color: white;
    }

    /* Boxes with images */
    .items-row.box.images > .item > .wrapper { padding-top: 15px; }

    .items-row.box.images .item-image {
      -webkit-mask-image: url('../images/mask-box-image.svg');
      mask-image: url('../images/mask-box-image.svg');
      mask-repeat: no-repeat;
      mask-size: 100%;
      mask-position: bottom;
    }

    /* Bg light */
    .bg-light .items-row.box .item { box-shadow: 2px 2px 5px rgba(51,51,51,.35); }

  /* Columnize */
	@media screen and (min-width: 700px) {
		.columnize,
    .page_privacy-policy .page-container {
			-webkit-column-count: 2;
			-moz-column-count: 2;
			column-count: 2;

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

	.columnize,
  .page_privacy-policy > .page-container { margin-bottom: 30px; }

/* Accessibility */
  /* Skip-Links */
  #skip-links > ul,
  #skip-links > ul > li { height: 0; }

  #skip-links a {
    display: inline-block;
    width: 0px;
    height: 0px;
  }

  #skip-links a:focus { 
    position: fixed;
    top: 25px;
    left: 25px;
    z-index: 999999;

    display: block;
    width: fit-content;
    height: auto;
    padding: 20px;
    margin: 0 auto;

    font-size: 11pt;
    line-height: 1;
    font-weight: 500;

    background-color: #8B53C2;

    box-shadow: none;
  }

  /* Focus */
  a:not(:has(img)):not(:has(svg)):not(.button):focus-visible,
  button:not(.tooltip-button):focus-visible {
    background-color: #8B53C2;
    opacity: 1;
  }

  a:not(:has(img)):not(:has(svg)):not(.button):focus-visible,
  a:not(:has(img)):not(:has(svg)):not(.button):focus-visible * { color: white!important; }

  a:focus-visible:has(img) { overflow: visible; }

  .tooltip-button:focus-visible path { fill: #8B53C2; }

  /* Images */
  a:focus-visible img,
  a:focus-visible svg,
  button.slider-prev:focus-visible > img, button.slider-next:focus-visible > img,
  a.mediathek-link:focus-visible img,
  .individual-style-stables .content-beside-columns a:focus-visible path {
    -webkit-transition: none;
    -moz-transition: none;
    -o-transition: none;
    transition: none;

    opacity: 1!important;
    filter: drop-shadow(0px 0px 5px #8B53C2);
  }

  a.item-image:focus-visible { background-color: #8B53C2; }

  a.item-image:focus-visible > img {
    filter: grayscale(1);
    opacity: .65!important;
  }

  a:focus-visible > img.hover-resize {
    -webkit-transform: scale(1)!important;
		-moz-transform: scale(1)!important;
		-o-transform: scale(1)!important;
		transform: scale(1)!important;
  }

  /* Main navigation */
  .module_main-navigation a:focus-visible+ul.nav-child,
  .module_main-navigation a+ul.nav-child:focus-within {
    width: auto;
    height: auto;
    border-width: 25px!important;
    overflow: visible;
  }

  .module_main-navigation #dropdown:focus-visible { background-image: url('../images/nav-dropdown-purple.svg'); }

  @media screen and (max-width: 699px) {
    .module_main-navigation #main-navigation a:focus-visible+ul,
    .module_main-navigation #main-navigation ul:has(a:focus-visible) { margin-top: 15px; }

    .module_main-navigation a:focus-visible { opacity: .5!important; }
  }

  .module_main-navigation a:focus-visible,
  .module_main-navigation button#dropdown { background-color: transparent!important; }

  @media screen and (min-width: 700px) { .module_main-navigation #main-navigation > li > a:focus-visible { color: #8B53C2!important; } }

  .module_main-navigation #main-navigation ul a:focus-visible { opacity: .5!important; }

  /* Buttons */
  a.button:focus-visible,
  .items-row p.readmore > a:focus-visible,
  .visforms input.btn:focus-visible,
  .individual-style-keywords a:focus-visible {
    -moz-border-image: url('../images/shape-square-purple.svg') 33.333% fill stretch!important;
    -webkit-border-image: url('../images/shape-square-purple.svg') 33.333% fill stretch!important;
    -o-border-image: url('../images/shape-square-purple.svg') 33.333% fill stretch!important;
    border-image: url('../images/shape-square-purple.svg') 33.333% fill stretch!important;
    
    color: white!important;
    background-color: transparent!important;
  }

  /* Formular */
  .visform input[type="checkbox"]:focus-visible,
  .visform input[type="radio"]:focus-visible { background-color: #8B53C2!important; }

  .visform input[type="checkbox"]:checked:focus-visible { background-image: url('../images/check-white.svg'); }
  .visform div[role="radiogroup"] p > input:checked:checked:focus-visible { background-image: url('../images/check-radio-white.svg'); }

  .visform select:focus-visible { background-image: url('../images/select-purple.svg'); }

  .visform .tooltip-button:focus-visible {
    color: white!important;
    background-color: #8B53C2;
  }

  /* To top */
  .module_totop a:focus { color: #8B53C2; }

  .module_totop a:focus path { fill: #8B53C2; }

  .module_totop svg { filter: none!important; }

/* SUPERDUPER WICHTIG */
  /* Delete when four or more labels in gallery */
  @media screen and (min-width: 1000px) {
    .page_etiketten .items-row.cols-5 > .item:nth-last-child(3):nth-child(4n + 1) { grid-column-end: 4; }
    .page_etiketten .items-row.cols-5 > .item:nth-last-child(2):nth-child(4n + 2) { grid-column-end: 6; }
    .page_etiketten .items-row.cols-5 > .item:last-child:nth-child(4n + 3) { grid-column-end: 8; }

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

  }

  /* Delete when five or more labels in gallery */
  @media screen and (min-width: 1350px) {
    .page_etiketten .items-row.cols-5 { grid-template-columns: repeat(10, 1fr); }
    .page_etiketten .items-row.cols-5 > .item { grid-column: span 2; }
    .page_etiketten .items-row.cols-5 > .item:last-child:nth-child(5n+1) { grid-column-end: 7; }
    .page_etiketten .items-row.cols-5 > .item:nth-last-child(2):nth-child(5n + 1) { grid-column-end: 6; }
    .page_etiketten .items-row.cols-5 > .item:last-child:nth-child(5n + 2) { grid-column-end: 8; }
    .page_etiketten .items-row.cols-5 > .item:nth-last-child(3):nth-child(5n + 1) { grid-column-end: 5; }
    .page_etiketten .items-row.cols-5 > .item:nth-last-child(2):nth-child(5n + 2) { grid-column-end: 7; }
    .page_etiketten .items-row.cols-5 > .item:last-child:nth-child(5n + 3) { grid-column-end: 9; }
    .page_etiketten .items-row.cols-5 > .item:nth-last-child(4):nth-child(5n + 1) { grid-column-end: 4; }
    .page_etiketten .items-row.cols-5 > .item:nth-last-child(3):nth-child(5n + 2) { grid-column-end: 6; }
    .page_etiketten .items-row.cols-5 > .item:nth-last-child(2):nth-child(5n + 3) { grid-column-end: 8; }
    .page_etiketten .items-row.cols-5 > .item:last-child:nth-child(5n + 4) { grid-column-end: 10; }
  }