@charset "UTF-8";

/* Fonts */
  /* Cera Pro */
  @font-face {
    font-family: "CeraPRO";
    src: url('../fonts/CeraPROThin/font.woff2') format('woff2'), url('webFonts/CeraPROThin/font.woff') format('woff');
    font-style: normal;
    font-weight: 200;
  }

  @font-face {
    font-family: "CeraPRO";
    src: url('../fonts/CeraPROThinItalic/font.woff2') format('woff2'), url('webFonts/CeraPROThinItalic/font.woff') format('woff');
    font-style: italic;
    font-weight: 200;
  }

  @font-face {
    font-family: "CeraPRO";
    src: url('../fonts/CeraPROLight/font.woff2') format('woff2'), url('webFonts/CeraPROLight/font.woff') format('woff');
    font-style: normal;
    font-weight: 300;
  }

  @font-face {
    font-family: "CeraPRO";
    src: url('../fonts/CeraPROLightItalic/font.woff2') format('woff2'), url('webFonts/CeraPROLightItalic/font.woff') format('woff');
    font-style: italic;
    font-weight: 300;
  }

  @font-face {
    font-family: "CeraPRO";
    src: url('../fonts/CeraPRORegular/font.woff2') format('woff2'), url('webFonts/CeraPRORegular/font.woff') format('woff');
    font-style: normal;
    font-weight: 400;
  }

  @font-face {
    font-family: "CeraPRO";
    src: url('../fonts/CeraPROItalic/font.woff2') format('woff2'), url('webFonts/CeraPROItalic/font.woff') format('woff');
    font-style: italic;
    font-weight: 400;
  }

  @font-face {
    font-family: "CeraPRO";
    src: url('../fonts/CeraPROMedium/font.woff2') format('woff2'), url('webFonts/CeraPROMedium/font.woff') format('woff');
    font-style: normal;
    font-weight: 500;
  }

  @font-face {
    font-family: "CeraPRO";
    src: url('../fonts/CeraPROMediumItalic/font.woff2') format('woff2'), url('webFonts/CeraPROMediumItalic/font.woff') format('woff');
    font-style: italic;
    font-weight: 500;
  }

  @font-face {
    font-family: "CeraPRO";
    src: url('../fonts/CeraPROBold/font.woff2') format('woff2'), url('webFonts/CeraPROBold/font.woff') format('woff');
    font-style: normal;
    font-weight: 600;
  }

  @font-face {
    font-family: "CeraPRO";
    src: url('../fonts/CeraPROBoldItalic/font.woff2') format('woff2'), url('webFonts/CeraPROBoldItalic/font.woff') format('woff');
    font-style: italic;
    font-weight: 600;
  }

  @font-face {
    font-family: "CeraPRO";
    src: url('../fonts/CeraPROBlack/font.woff2') format('woff2'), url('webFonts/CeraPROBlack/font.woff') format('woff');
    font-style: normal;
    font-weight: 700;
  }

  @font-face {
    font-family: "CeraPRO";
    src: url('../fonts/CeraPROBlackItalic/font.woff2') format('woff2'), url('webFonts/CeraPROBlackItalic/font.woff') format('woff');
    font-style: italic;
    font-weight: 700;
  }

  /* Cera Pro Condensed */
  @font-face {
    font-family: "CeraPRO-Condensed";
    src: url('../fonts/CeraCondensedProThin/font.woff2') format('woff2'), url('webFonts/CeraCondensedProThin/font.woff') format('woff');
    font-style: normal;
    font-weight: 300;
  }

  @font-face {
    font-family: "CeraPRO-Condensed";
    src: url('../fonts/CeraCondensedProThinItalic/font.woff2') format('woff2'), url('webFonts/CeraCondensedProThinItalic/font.woff') format('woff');
    font-style: italic;
    font-weight: 300;
  }

  @font-face {
    font-family: "CeraPRO-Condensed";
    src: url('../fonts/CeraCondensedProLight/font.woff2') format('woff2'), url('webFonts/CeraCondensedProLight/font.woff') format('woff');
    font-style: normal;
    font-weight: 400;
  }

  @font-face {
    font-family: "CeraPRO-Condensed";
    src: url('../fonts/CeraCondensedProLightItalic/font.woff2') format('woff2'), url('webFonts/CeraCondensedProLightItalic/font.woff') format('woff');
    font-style: italic;
    font-weight: 400;
  }

  @font-face {
    font-family: "CeraPRO-Condensed";
    src: url('../fonts/CeraCondensedProRegular/font.woff2') format('woff2'), url('webFonts/CeraCondensedProRegular/font.woff') format('woff');
    font-style: normal;
    font-weight: 500;
  }

  @font-face {
    font-family: "CeraPRO-Condensed";
    src: url('../fonts/CeraCondensedProRegularItalic/font.woff2') format('woff2'), url('webFonts/CeraCondensedProRegularItalic/font.woff') format('woff');
    font-style: italic;
    font-weight: 500;
  }

  @font-face {
    font-family: "CeraPRO-Condensed";
    src: url('../fonts/CeraCondensedProMedium/font.woff2') format('woff2'), url('webFonts/CeraCondensedProMedium/font.woff') format('woff');
    font-style: normal;
    font-weight: 600;
  }

  @font-face {
    font-family: "CeraPRO-Condensed";
    src: url('../fonts/CeraCondensedProMediumItalic/font.woff2') format('woff2'), url('webFonts/CeraCondensedProMediumItalic/font.woff') format('woff');
    font-style: italic;
    font-weight: 600;
  }

  @font-face {
    font-family: "CeraPRO-Condensed";
    src: url('../fonts/CeraCondensedProBold/font.woff2') format('woff2'), url('webFonts/CeraCondensedProBold/font.woff') format('woff');
    font-style: normal;
    font-weight: 700;
  }

  @font-face {
    font-family: "CeraPRO-Condensed";
    src: url('../fonts/CeraCondensedProBoldItalic/font.woff2') format('woff2'), url('webFonts/CeraCondensedProBoldItalic/font.woff') format('woff');
    font-style: italic;
    font-weight: 700;
  }

  @font-face {
    font-family: "CeraPRO-Condensed";
    src: url('../fonts/CeraCondensedProBlack/font.woff2') format('woff2'), url('webFonts/CeraCondensedProBlack/font.woff') format('woff');
    font-style: normal;
    font-weight: 800;
  }

  @font-face {
    font-family: "CeraPRO-Condensed";
    src: url('../fonts/CeraCondensedProBlackItalic/font.woff2') format('woff2'), url('webFonts/CeraCondensedProBlackItalic/font.woff') format('woff');
    font-style: italic;
    font-weight: 800;
  }

/* 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;

    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    -ms-box-shadow: none;
    -o-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:not(.items-row),
.com-users-login__remember,
.com-users-login__options,
.form-control-feedback,
.com-users-login .star { display: none!important; }

.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,
a svg {
	-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,
.visform input[type="checkbox"], .visform input[type="checkbox"] + label,
.visform input[type="radio"], .visform input[type="radio"] + label,
.form-check > input,
.form-check > label { cursor: pointer; }

/* Text */
* {
	font-family: CeraPRO, Arial, sans-serif;
	font-size: 12pt;
	line-height: 1.7;
	font-weight: 400;
	font-style: normal;
	color: #4B5564;
}

.footer1, #footer-bottom a { letter-spacing: .25pt; }

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

h3,
p.readmore a,
a.button,
.employee-role { letter-spacing: .75pt; }

h1, h2, h4, h5, h6,
.subtitle, .tooltip-container > strong,
.module_fachwerk-banner .fachwerk-banner-caption span,
p.footer-claim { 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 #E7EAED;
		margin: 35px 0!important;
	}

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

	i,
	em { font-style: italic; }

	/* Headings */
	h1,
	h1 > a {
    font-family: CeraPRO-Condensed;
    font-size: 2.4rem;
    font-weight: 700;
		line-height: 1.2;
		text-transform: uppercase;
    text-align: center;
	}

	h2,
	h2 > a {
    font-family: CeraPRO-Condensed;
		font-size: 2rem;
    font-weight: 600;
		line-height: 1.2;
    text-align: center;
		text-transform: uppercase;
	}

	h3,
	h3 > a {
		font-family: CeraPRO-Condensed;
    font-size: 1.6rem;
    font-weight: 500;
		line-height: 1.3;
    text-transform: uppercase;
	}

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

	h5,
	h5 > a {
		font-size: 1.2rem;
		line-height: 1.3;
    text-transform: uppercase;
	}

	h6,
	h6 > a {
		font-size: 1.2rem;
		line-height: 1.3;
	}

  h1,
  h2 { margin-bottom: 20px; }
  h3 { margin-bottom: 5px; }
  p+h3,
  h4,
  h5,
  h6 { margin: 25px 0 5px; }

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

  /* Subtitle */
  .subtitle {
    display: block;
    width: fit-content;
    margin: 0 auto 3px;

    font-family: CeraPRO-Condensed;
    font-size: 1.2rem;
    font-weight: 600;
    line-height: 1;
    text-transform: uppercase;
    color: #7D8796;
  }

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

	ul.bullets > li,
  .page_datenschutz .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: 6pt;

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

    .wide.white-text ul.checklist > li:before { background-image: url('../images/checklist-invertiert.svg'); }

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

  thead { background-color: #4B5564; }

	th {
    border: none;
    font-family: CeraPRO;
    font-weight: 600;
    color: white;
    letter-spacing: .75px;
	}

  tbody * { color: #4B5564!important; }

	th,
	td { padding: 9px 15px 7px; }

  tr:nth-child(even) { background-color: #E7EAED; }

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

  a.highlight {
    font-weight: 500;
    color: #00AABE!important;
  }

  a.highlight:hover { color: #007887!important; }

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

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

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

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

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

html { scroll-behavior: smooth; }

#main-content { padding-top: 50px; }

.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,
.fachwerk-showcase,
.showcase-data.tags,
#modules-top > *,
#modules-bottom > *, #modules-bottom > .wide > *,
#article-modules-bottom > *, #article-modules-bottom > .wide > *,
.article-style-split-imgFill.wide > .item > .wrapper,
.showcase-item-page .reference-section-shortfacts+.reference-section-gallery:last-child > .item {
	width: 85%;
	max-width: 1150px;
	margin: 0 auto;
}

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

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

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

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

  .item-image > a { display: block; }

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

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

    /* 1 Column */
    .items-row.cols-1 > .item:not(:last-child) { margin-bottom: 20px; }

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

      .items-row:not(.cols-1) > .item,
      .mod-articlescategory > li { 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,
      .mod-articlescategory { grid-template-columns: repeat(12, 1fr); }

      .items-row.cols-3 > .item,
      .mod-articlescategory > li { 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; }
    }

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

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

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

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

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

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

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

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

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

      .items-row.cols-5:not(.last-row-left) > .item:last-child:nth-child(3n - 2) { grid-column-end: 9; }
      
      .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: 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; }
    }

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

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

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

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

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

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

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

    /* 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: 999;

    height: 100px;
  	background-color: white;

    -webkit-box-shadow: 0 2px 5px rgba(75,85,100,.35);
    -moz-box-shadow: 0 2px 5px rgba(75,85,100,.35);
    -ms-box-shadow: 0 2px 5px rgba(75,85,100,.35);
    -o-box-shadow: 0 2px 5px rgba(75,85,100,.35);
    box-shadow: 0 2px 5px rgba(75,85,100,.35);
  }

  	/* Logo */
  	.module_logo > a {
      position: absolute;
      z-index: 99;
  		display: block;
  		margin: 17.5px 0 22.5px;
  	}

    .module_logo svg {
      display: block;
      height: 60px;
      width: auto;
    }

  /* Navigation */
  .module_main-navigation {
    position: relative;
    z-index: 98;
    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: 10px!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 {
        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 #005560;
      }

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

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

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

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

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

      .module_main-navigation #main-navigation li:hover,
      .module_main-navigation #main-navigation li.active > a { background-color: #00444C; }

        /* 2. Ebene */
        .module_main-navigation #main-navigation li > ul { background-color: #00444C; }

        .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: 30px;
          font-size: 0;
          line-height: 0;
        }

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

        .module_main-navigation #dropdown {
          display: inline-block;
          width: 40px;
          height: 40px;
          border-radius: 100%;

          background-image: url('../images/nav-dropdown.svg');
          background-size: 100% auto;
          background-position: top;
          background-repeat: no-repeat;
          background-color: #007887;
        }

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

    /* 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 {
        display: inline-block;
        margin-left: 15px;
        vertical-align: top;
      }

      .module_main-navigation > ul > li > a {
        display: inline-block;
        height: 100px;

        font-family: CeraPRO-Condensed;
        font-size: 1.4rem;
        font-weight: 500;
        line-height: 100px !important;
        text-transform: uppercase;
        letter-spacing: .75pt;
        vertical-align: middle;
      }

      .module_main-navigation > ul > li:hover > a { color: #7D8796; } /* Text hover */

      .module_main-navigation > ul > li.active > a,
      .module_main-navigation > ul > li:has(.active) > a { color: #00AABE; } /* Text active */

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

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

          content: ' ';

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

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

        .module_main-navigation #main-navigation > li > ul {
          position: absolute;
          left: 0;
          padding: 10px 0;
          background-color: #005560;
        }

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

        .module_main-navigation #main-navigation ul > li > a {
          display: block;
          padding: 10px 15px;
          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 { background-color: #00444C; }
    }

      /* 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: 110px; opacity: 0; }
            to   { top: 70px; opacity: 1; }
          }

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

          /* Safari, Chrome and Opera > 12.1 */
          @-webkit-keyframes mobile {
            from { top: 110px; opacity: 0; }
            to   { top: 70px; 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: 135px; opacity: 0; }
            to   { top: 100px; opacity: 1; }
          }

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

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

  /* Footer */
    /* Footer Body */
    #footer-content {
      padding: 70px 0 30px;
      margin-top: -30px;

      -webkit-clip-path: polygon(
        0 30px,
        calc(92.5% - 60px) 30px,
        calc(92.5% - 30px) 0,
        92.5% 30px,
        100% 30px,
        100% 100%,
        0 100%
      );

      clip-path: polygon(
        0 30px,
        calc(92.5% - 60px) 30px,
        calc(92.5% - 30px) 0,
        92.5% 30px,
        100% 30px,
        100% 100%,
        0 100%
      );

      background-color: #007887;
      background: linear-gradient(45deg, #005560 0%, #007887 65%);

      overflow: hidden;
    }

    @media screen and (min-width: 1353px) {
      #footer-content {
        -webkit-clip-path: polygon(
          0 30px,
          calc((((100vw - 1150px) / 2) + 1150px) - 60px) 30px,
          calc((((100vw - 1150px) / 2) + 1150px) - 30px) 0,
          calc(((100vw - 1150px) / 2) + 1150px) 30px,
          100% 30px,
          100% 100%,
          0 100%  
        );

        clip-path: polygon(
          0 30px,
          calc((((100vw - 1150px) / 2) + 1150px) - 60px) 30px,
          calc((((100vw - 1150px) / 2) + 1150px) - 30px) 0,
          calc(((100vw - 1150px) / 2) + 1150px) 30px,
          100% 30px,
          100% 100%,
          0 100%  
        );
      }
    }

    #footer-content * { color: white; }

      /* Go to top */
      #go-to-top-link {
        position: absolute;
        top: 15px;
        right: calc(7.5% + 15px);

        display: block;
        width: 30px;
      }

      #go-to-top-link:hover * { fill: #00CDE5!important; }

      @media screen and (min-width: 1353px) { #go-to-top-link { right: calc(((100vw - 1150px) / 2) + 15px); } }

      /* Footer layout */
      @media screen and (max-width: 699px) { .module_footer-image { display: none; } }

      @media screen and (min-width: 700px) {
        #footer-content > div {
          display: grid;
          grid-template-columns: fit-content(400px) auto;
        }

        .module_footer-claim {
          grid-column: 1;
          grid-row: 1;
        }

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

        .module_footer-image {
          grid-column: 2;
          grid-row: 1 / span 2;
        }
      }

      /* Claim */
      p.footer-claim {
        font-family: CeraPRO-Condensed;
        font-size: 1.8rem;
        font-weight: 600;
        line-height: 1.2;
        text-transform: uppercase;
      }

      /* Contact */
      .module_footer-contact { margin-top: 60px; }

      .module_footer-contact p {
        font-family: CeraPRO-Condensed;
        font-size: 1.3rem;
        margin-bottom: 10px;
        line-height: 1;
      }

      .module_footer-contact a {
        display: block;
        width: fit-content;
        padding: 6px 10px 5px;
        border-radius: 5px;
        margin-bottom: 5px;

        font-family: CeraPRO-Condensed;
        font-weight: 500;
        line-height: 1;

        background-color: #00444C;
      }

      .module_footer-contact a:hover { background-color: #00AABE; }

      @media screen and (min-width: 500px) {
        .module_footer-contact a {
          display: inline-block;
          margin-bottom: 0;
        }

        .module_footer-contact a:not(:last-of-type) { margin-right: 5px; }
      }

      /* Image */
      .module_footer-image img {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;

        max-width: 600px;
        min-height: 100%;
        margin-left: auto;

        object-fit: contain;
        object-position: center;
      }

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

    /* Footer Navigation */
    #footer-bottom * {
      font-family: CeraPRO-Condensed;
      font-size: 1.1rem;
      font-weight: 500;
      line-height: 1.4;
    }

    #footer-bottom nav > ul { margin-bottom: 5px; }

    #footer-bottom nav > ul li { margin-right: 10px; }

    #footer-bottom nav > ul a:hover { color: #7D8796; }

    #footer-bottom nav > ul li.current > a { color: #00AABE; }

    @media screen and (min-width: 700px) {
      #footer-bottom nav > ul {
        float: right;
        margin-bottom: 0;
      }

      #footer-bottom nav > ul li { margin: 0 0 0 10px; }
    }

  /* Fachwerk banner */
  .module_fachwerk-banner .fachwerk-banner-caption {
    position: absolute;
    top: 50%;
    right: 0;
    left: 0;

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

  .module_fachwerk-banner .fachwerk-banner-caption span {
    display: inline-block;
    padding: 5px 10px 3px 10px;
    margin-bottom: 5px;

    font-family: 'CeraPRO-Condensed';
    font-size: 2rem;
    font-weight: 600;
    line-height: 1;
    text-transform: uppercase;

    color: white;
    background-color: #004149;
  }

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

  /* Buttons: General */
  a.button {
    display: inline-block;
    padding: 17px 25px 15px;
    border-radius: 5px;
    margin-top: 25px;

    font-family: CeraPRO-Condensed;
    font-size: 1.1rem;
    font-weight: 600;
    line-height: 1;
    text-transform: uppercase;

    color: white;
    background-color: #007887;
  }

  a.button:hover { background-color: #005560; }

  /* Buttons: Readmore */
  p.readmore a {
    display: block;
    width: fit-content;
    padding: 6px 10px 5px;
    border-radius: 5px;
    margin: 0 auto;

    font-family: CeraPRO-Condensed;
    line-height: 1;
    font-weight: 500;
    text-transform: uppercase;

    color: white;
    background-color: #007887;
  }

  p.readmore a:hover { background-color: #005560; }

    @media screen and (max-width: 699px) { p.readmore { margin-top: 20px; } }

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

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

        display: block;
      }
    }

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

  .pagination * {
    font-family: CeraPRO-Condensed;
    font-size: 1.1rem;
    font-weight: 500;
    line-height: 1;
  }

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

  @media screen and (max-width: 699px) {


    .pagination > p { display: none; }
  }

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

  .pagination span,
  .pagination a {
    display: block;
    padding: 10px 15px;
    color: #7D8796;
    background-color: #E7EAED;
  }

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

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

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

  .module_totop * { vertical-align: bottom; }

  .module_totop a { line-height: 15px; }

  .module_totop svg {
    height: 15px;
    margin-right: 5px;
  }

  .module_totop path { fill: #7D8796 }

  .module_totop a:hover path { fill: #005560; }

/* 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-family: CeraPRO-Condensed;
    font-size: 1.5rem;
    line-height: 1.4;
  }

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

  @media screen and (max-width: 699px) { .article-style-split { 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 .subtitle { margin: 0 0 5px; }

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

  /* 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 { text-align: center; }

    .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;
  }

  .article-style-split-imgFill.image-contain .image-wrapper > img  { object-fit: contain; }

  .article-style-split-imgFill.image-position-top .image-wrapper > img { object-position: top; }
  .article-style-split-imgFill.image-position-bottom .image-wrapper > img { object-position: bottom; }

    @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 .subtitle { margin: 0 0 5px; }

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

        /* 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 .wrapper { padding-top: 15px!important; }

  .items-row.icons * { text-align: center!important; }

  .items-row.icons .item-image {
    width: fit-content;
    margin: 0 auto;
  }

  section.icons-border .items-row.icons .item-image {
    border: 5px solid white;
    border-radius: 100%;

    -webkit-box-shadow: 1px 1px 5px 0px rgba(75,85,100,.65);
    -moz-box-shadow: 1px 1px 5px 0px rgba(75,85,100,.65);
    -ms-box-shadow: 1px 1px 5px 0px rgba(75,85,100,.65);
    -o-box-shadow: 1px 1px 5px 0px rgba(75,85,100,.65);
    box-shadow: 1px 1px 5px 0px rgba(75,85,100,.65);
  }

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

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

  .icon-size-35 .items-row.icons .item-image img {
    width: 35px;
    height: 35px;
  }

  .icon-size-100 .items-row.icons .item-image img {
    width: 100px;
    height: 100px;
  }

  .icon-size-150 .items-row.icons .item-image img {
    width: 150px;
    height: 150px;
  }

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

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

  .icons-left h3 {
		margin: 0 0 5px;

		line-height: 1.4;
    font-weight: 500;
    text-transform: uppercase;
	}

/* Individual Styles */
  /* Team */
  .individual-style-team .item {
    display: grid;
    grid-gap: 30px;
  }

  .individual-style-team .item > .wrapper { grid-row: 1; }

  .individual-style-team .item > .item-image {
    grid-row: 2;
    max-width: 500px;
    margin: 0 auto;
  }

  /* Customers */
  .individual-style-customers .item-image { border-radius: 5px; }

  .individual-style-customers p,
  .individual-style-customers p > strong {
    font-family: CeraPRO-Condensed;
    font-size: 1.1rem;
    line-height: 1.4;
  }

  .individual-style-customers p { color: #7D8796; }

  /* Steps */
  .individual-style-steps .items-row.icons .item-image > img {
    width: 35px;
    height: 35px;
  }

  @media screen and (min-width: 700px) {
    .individual-style-steps .items-row.cols-3 > .item:not(:last-child):not(:nth-child(3n)):after,
    .individual-style-steps .items-row.cols-4 > .item:not(:last-child):not(:nth-child(4n)):after {
      content: ' ';

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

      display: block;
      width: 30px;
      height: 100%;

      background-image: url(../images/arrow-steps.svg);
      background-size: 20px auto;
      background-position: center;
      background-repeat: no-repeat;
    }

    .individual-style-steps:not(.wide) .items-row.cols-3 > .item:not(:last-child):not(:nth-child(3n)):after,
    .individual-style-steps:not(.wide) .items-row.cols-4 > .item:not(:last-child):not(:nth-child(4n)):after { right: -32px; }
  }

  /* Styleguide */
  .individual-style-styleguide {
    padding-bottom: 75px!important;
    margin-bottom: -25px!important;

    -webkit-clip-path: polygon(
      0 0,
      100% 0,
      100% calc(100% - 25px),
      calc(50% + 25px) calc(100% - 25px),
      50% 100%,
      calc(50% - 25px)
      calc(100% - 25px),
      0 calc(100% - 25px)
    );

    clip-path: polygon(
      0 0,
      100% 0,
      100% calc(100% - 25px),
      calc(50% + 25px) calc(100% - 25px),
      50% 100%,
      calc(50% - 25px)
      calc(100% - 25px),
      0 calc(100% - 25px)
    );
  }

  .individual-style-styleguide .content-wrapper > p {
    max-width: 720px;
    margin-right: auto;
    margin-left: auto;
  }

  .individual-style-styleguide .gallery-wrapper:not(.items-row) {
    display: grid;
    grid-template-columns: repeat(8, 1fr);
    grid-gap: 10px;
    margin-top: 30px;
  }

  @media screen and (max-width: 999px) {
    .individual-style-styleguide .gallery-wrapper:not(.items-row) { grid-template-columns: repeat(7, 1fr); }
    .individual-style-styleguide .gallery-wrapper:not(.items-row) .gallery-link:nth-child(8) { display: none!important; }
  }

  @media screen and (max-width: 899px) {
    .individual-style-styleguide .gallery-wrapper:not(.items-row) { grid-template-columns: repeat(6, 1fr); }
    .individual-style-styleguide .gallery-wrapper:not(.items-row) .gallery-link:nth-child(7) { display: none!important; }
  }

  @media screen and (max-width: 799px) {
    .individual-style-styleguide .gallery-wrapper:not(.items-row) { grid-template-columns: repeat(5, 1fr); }
    .individual-style-styleguide .gallery-wrapper:not(.items-row) .gallery-link:nth-child(6) { display: none!important; }
  }

  @media screen and (max-width: 699px) {
    .individual-style-styleguide .gallery-wrapper:not(.items-row) { grid-template-columns: repeat(4, 1fr); }
    .individual-style-styleguide .gallery-wrapper:not(.items-row) .gallery-link:nth-child(5) { display: none!important; }
  }

  @media screen and (max-width: 599px) {
    .individual-style-styleguide .gallery-wrapper:not(.items-row) { grid-template-columns: repeat(3, 1fr); }
    .individual-style-styleguide .gallery-wrapper:not(.items-row) .gallery-link:nth-child(4) { display: none!important; }
  }

  @media screen and (max-width: 499px) {
    .individual-style-styleguide .gallery-wrapper:not(.items-row) { grid-template-columns: repeat(2, 1fr); }
    .individual-style-styleguide .gallery-wrapper:not(.items-row) .gallery-link:nth-child(3) { display: none!important; }
  }

  .individual-style-styleguide .gallery-link {
    -webkit-box-shadow: 1px 1px 2px #4B5564;
    -moz-box-shadow: 1px 1px 2px #4B5564;
    -ms-box-shadow: 1px 1px 2px #4B5564;
    -o-box-shadow: 1px 1px 2px #4B5564;
    box-shadow: 1px 1px 2px #4B5564;
  }

  .individual-style-styleguide + section ul > li {
    font-size: .9rem;
    color: #7D8796;
  }

  /* Tags */
  .individual-style-tags ul.display-inline > li,
  .individual-style-tags ul.display-inline > li > a {
    padding: 17px 25px 15px;
    border-radius: 5px;
    font-weight: 500;
    line-height: 1;
    background-color: #E7EAED;
}

  .individual-style-tags ul.display-inline > li { margin: 0 5px 10px; }

  .individual-style-tags.bg-grey-light ul.display-inline > li,
  .individual-style-tags.bg-grey-dark ul.display-inline > li,
  .individual-style-tags.bg-turquoise-light ul.display-inline > li,
  .individual-style-tags.bg-turquoise-dark ul.display-inline > li { background-color: white; }
  .individual-style-tags.bg-grey-dark ul.display-inline > li,
  .individual-style-tags.bg-turquoise-light ul.display-inline > li,
  .individual-style-tags.bg-turquoise-dark ul.display-inline > li { color: #4B5564!important; }

  .individual-style-tags ul.display-inline > li:has(a) {
    padding: 0;
    background-color: transparent;
  }

  .individual-style-tags.bg-turquoise-light ul.display-inline > li > a { background-color: white!important; }
  .individual-style-tags.bg-turquoise-light ul.display-inline > li > a { color: #4B5564!important; }
  .individual-style-tags.bg-turquoise-light ul.display-inline > li > a:hover { color: #007887!important; }

  .individual-style-tags ul.display-inline > li > a {
    display: block;
    color: white;
    background-color: #00AABE;
  }

  .individual-style-tags ul.display-inline > li > a:hover { background-color: #007887; }

  /* Partner */
  .individual-style-partners a {
    display: block;
    width: fit-content;
    margin: 0 auto;
    filter: grayscale(1);

    -webkit-transition: filter 0.25s ease-out;
    -moz-transition: filter 0.25s ease-out;
    -o-transition: filter 0.25s ease-out;
    transition: filter 0.25s ease-out;
  }

  .individual-style-partners a:hover { filter: grayscale(0); }

  @media screen and (max-width: 699px) { .individual-style-partners a:not(:last-child) { margin-bottom: 10px; } }

  .individual-style-partners img {
    width: auto;
    height: 100px;
  }

  @media screen and (min-width: 700px) {
    .individual-style-partners .content-wrapper {
      font-size: 0;
      line-height: 0;
      text-align: center;
    }

    .individual-style-partners a {
      display: inline-block;
      margin: 0 5px;
    }
  }

  /* Contact */
  .individual-style-contact .items-row > .item { padding-top: 25px; }

  .individual-style-contact img.contact-image {
    width: 200px;
    height: 200px;
    border-radius: 100%;
    margin: 25px auto;

    background-color: #007887;
  }

  .individual-style-contact .mail-link:hover { opacity: .65; }

  .individual-style-contact a.linkedin,
  .individual-style-employees a.linkedin {
    display: block;
    width: 35px;
    height: 35px;
    margin: 0 auto;
  }

  .individual-style-contact a.linkedin { margin-top: 15px; }

  .individual-style-contact a.linkedin:hover rect,
  .individual-style-employees a.linkedin:hover rect { fill: #0B5D84; }

  @media screen and (min-width: 700px) {
    .individual-style-contact fieldset { padding-bottom: 70px; }

    .individual-style-contact .visBtnCon:has(>input[type="submit"]) {
      position: absolute;
      right: 25px;
      bottom: 25px;
      left: 25px;
    }
  }

  /* Comparison */
  .individual-style-comparison table { margin: 0; }

  .individual-style-comparison table * { vertical-align: middle; }

  .individual-style-comparison table svg { width: 20px; }

  .individual-style-comparison table th:nth-child(2),
  .individual-style-comparison table th:nth-child(3),
  .individual-style-comparison table td:nth-child(2),
  .individual-style-comparison table td:nth-child(3) { text-align: center; }

  .individual-style-comparison svg.turquoise path { fill: #00AABE; }
  .individual-style-comparison svg.grey path { fill: #7D8796; }

  /* Employees */
  .individual-style-employees .item-image {
    width: 200px;
    border-radius: 100%;
    margin: 0 auto 20px;
    background-color: #007887;
  }

  .individual-style-employees h3,
  .employee-role { font-weight: 600; }

  .employee-role {
    font-family: CeraPRO-Condensed;
    font-size: 1.2rem;
    color: #7D8796;
  }

  .individual-style-employees a.highlight {
    display: inline-block;
    margin: 15px 0;
  }

  @media screen and (min-width: 700px) {
    .individual-style-employees .items-row .wrapper { padding-bottom: 100px; }

    .individual-style-employees .employee-contact {
      position: absolute;
      right: 0;
      bottom: 0;
      left: 0;
    }
  }

  /* Why we */
  .individual-style-why-we > .item {
    display: grid;
    grid-gap: 30px;
  }

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

    .individual-style-why-we .wrapper { grid-row: 1; }
    .individual-style-why-we .item-image { grid-row: 2; }
  }

  .individual-style-why-we .item-image {
    max-width: 370px;
    margin: 0 auto;
  }

  .individual-style-why-we .item-image > figure,
  .individual-style-why-we .item-image > figure > img {
    width: 100%;
    height: 100%;
  }

  .individual-style-why-we .item-image > figure > img {
    object-fit: contain;
    object-position: bottom;
  }

  @media screen and (min-width: 700px) {
    .individual-style-why-we > .item { grid-template-columns: 200px auto; }

    .individual-style-why-we h2 { text-align: left; }
  }

  @media screen and (min-width: 1000px) {
    .individual-style-why-we .content-wrapper {
      -webkit-column-count: 2;
			-moz-column-count: 2;
			column-count: 2;

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

  @media screen and (min-width: 1200px) { .individual-style-why-we > .item { grid-template-columns: minmax(200px, 370px) auto; } }

  /* FAQ */
  @media screen and (min-width: 700px) {
    .individual-style-faq ul {
        -webkit-column-count: 2;
        -moz-column-count: 2;
        column-count: 2;

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

  @media screen and (min-width: 1100px) {
    .individual-style-faq ul {
        -webkit-column-count: 3;
        -moz-column-count: 3;
        column-count: 3;
    }
  }

  .individual-style-faq li:not(:last-child) { margin-bottom: 25px; }

  .individual-style-faq h3 {
    font-family: CeraPRO;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.7;
  }

  /* Split banner (Landing pages) */
  .individual-style-split-banner { margin-top: -50px!important; }

  .individual-style-split-banner .button {
    color: white!important;
    background-color: #00AABE!important;
  }

  .individual-style-split-banner .button:hover { background-color: #008797!important; }

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

    .individual-style-split-banner > .item { display: block; }

    .individual-style-split-banner .item-image {
        width: 350px;
        margin: 0 auto 30px;
    }

    .individual-style-split-banner .subtitle { margin: 0 auto 3px; }
  }

  @media screen and (min-width: 900px) and (max-width: 1099px) { .individual-style-split-banner > .item { grid-template-columns: 1.6fr 1fr; } }

  @media screen and (min-width: 900px) {
    .individual-style-split-banner > .item { grid-gap: 50px; }

    .individual-style-split-banner .wrapper {
      height: fit-content;
      position: relative;
      top: 50%;

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

    .individual-style-split-banner .item-image img {
      height: 400px;
      object-fit: contain;
    }

    .individual-style-split-banner h1 { text-align: left; }
  }

  /* Infobox */
  @media screen and (max-width: 849px) {
    .individual-style-infobox { text-align: center; }

    .individual-style-lpSolutions .content-wrapper > .main-content {
      max-width: 500px;
      margin: 0 auto;
    }

  .individual-style-infobox .infobox { margin-top: 25px; }

  .individual-style-infobox li { margin-left: 0!important; }

  .individual-style-infobox li:not(:last-of-type) { margin-bottom: 10px; }

  .individual-style-infobox li:before {
    display: block!important;
    width: 25px!important;
    height: 25px!important;
    border-radius: 100%;
    margin: 0 auto 5px!important;

    background-size: contain!important;
    background-repeat: no-repeat;
    background-position: center;
    }
  }

  @media screen and (min-width: 850px) {
    .individual-style-infobox .content-wrapper {
      display: grid;
      grid-template-columns: auto 400px;
      grid-gap: 30px;
    }

    .individual-style-infobox .content-wrapper > .main-content { max-width: 620px; }

    .individual-style-infobox .item-title h2 { text-align: left; }

    .individual-style-infobox .subtitle {
      margin-left: 0;
      margin-right: 0;
    }

    .individual-style-infobox li { text-indent: -22pt!important; }
  }

  .individual-style-infobox .infobox {
    padding: 20px;
    background-color: #E7EAED;
    background: linear-gradient(45deg, #D1D6DC 0%, #E7EAED 65%);
  }

  /* Prices */
  .individual-style-prices .price {
    font-family: CeraPRO-Condensed;
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1;
  }

/* Rubriken */
  /* Referenzen */
    /* Overview */
    .fachwerk-showcase h2 { margin-bottom: 5px; }

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

    .showcase-customer > p,
    .module_references .references-customer > p,
    .showcase-modules .references-customer > p {
      margin-top: -10px;

      font-family: CeraPRO-Condensed;
      font-size: 1.2rem;
      font-weight: 600;
      text-transform: uppercase;

      color: #7D8796;
    }

    /* Tags */
    ul.tags:not(.showcase-data) {
      position: absolute;
      top: 10px;
      left: 10px;
      z-index: 99;
    }

    ul.tags a {
      display: block;
      width: fit-content;
      padding: 6px 10px 4px;
      border-radius: 5px;

      font-family: CeraPRO-Condensed;
      font-size: 1rem;
      font-weight: 500;
      line-height: 1;

      color: white;
      background-color: #007887;
    }

    ul.tags a:hover { background-color: #005560; }

    ul.tags a { border: 1px solid white; }

    /* Award */
    .award {
      position: absolute;
      right: 15px;
      bottom: 15px;
      z-index: 99;
    }

    .award,
    .award > a { display: block; }

    .award img { width: 75px; }

    .showcase-item-page .award img { width: 100px; }

    .showcase-data.article-image:has(.award) { position: relative; }

    /* Reference item pages */
    .showcase-item-page h1 { margin-bottom: 0; }

    .showcase-data.tags { margin-bottom: 25px; }

      /* Hero section */
      .showcase-data.article-image { margin-bottom: 40px; }

      .showcase-data.description {
        max-width: 720px;
        margin: 0 auto;
      }

    @supports (initial-letter: 2) {
      .showcase-data.description > p:first-child:first-letter {
        initial-letter: 2;
        font-weight: 600;
        margin-right: .5rem;
        text-transform: uppercase;
      }
    }

      @media screen and (max-width: 699px) { .showcase-data.description { text-align: center; } }

      @media screen and (min-width: 700px) {
        .showcase-data.description {
          -webkit-column-count: 2;
          -moz-column-count: 2;
          column-count: 2;

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

      /* Shortfacts */
      .reference-section-shortfacts > .item { max-width: 720px!important; }

      .reference-section-shortfacts h2 {
        margin-bottom: 10px;
        font-size: 1.6rem;
        font-weight: 700;
      }

        /* Project */
        .showcase-data.project { margin-bottom: 30px; }

        .showcase-data.project ul > li {
          padding: 9px 15px 7px;
          background-color: white;
        }

        .showcase-data.project ul > li:not(:last-of-type) { margin-bottom: 2px; }

        .showcase-data.project ul img.icon {
          float: left;

          display: inline-block;
          width: 1.25em;
          height: 1.7rem;

          line-height: 1.7;
          vertical-align: middle;
        }

        .showcase-data.project ul > li > span {
          display: block;
          margin-left: 30px;
        }

        /* Customer */
        .showcase-data.customer table { margin: 0; }

        .showcase-data.customer table tr { background-color: white; }

        .showcase-data.customer table tr:not(:last-of-type) { border-bottom: 2px solid #E7EAED; }

        .showcase-data.customer table td:first-child { width: 75px; }

      /* Gallery */
      .reference-section-gallery .gallery-wrapper.cols-1 {
        max-width: 600px;
        margin: 0 auto;
      }

      /* Video */
      .reference-section-video .content-wrapper { padding-bottom: 56.25%; }

      .reference-section-video iframe {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;

        width: 100%;
        height: 100%;
      }

      /* Related projects */
      .reference-section-related ul.list-related { margin-bottom: -10px; }

      .reference-section-related ul.list-related > li {
        margin: 0 5px 10px;
        border-radius: 5px;
        overflow: hidden;
        background-color: white;
      }

      @media screen and (max-width: 752px) { .reference-section-related ul.list-related > li:last-child { display: none; } }
      @media screen and (max-width: 564px) { .reference-section-related ul.list-related > li:nth-child(3) { display: none; } }
      @media screen and (max-width: 376px) { .reference-section-related ul.list-related > li:nth-child(4) { display: none; } }

      .reference-section-related .image-wrapper {
        display: block;
        overflow: hidden;
      }

      .reference-section-related img {
        width: 150px;
        height: 150px;
      }

      .reference-section-related figcaption {
        padding: 10px;
        margin-top: 0;

        font-family: CeraPRO-Condensed;
        font-size: 1rem;
        font-weight: 600;
        line-height: 1;
        text-transform: uppercase;
      }

      .reference-section-related a:hover figcaption { color: #00AABE; }

      /* Correct background color scheme */
        /* Testimonials */
        .reference-section-shortfacts:has(+.reference-section-testimonials),
        .reference-section-shortfacts:has(+.reference-section-related:last-of-type),
        .reference-section-testimonials:has(+.reference-section-related),
        .reference-section-shortfacts:has(+.reference-section-gallery:last-child) { margin-bottom: 0; }

        /* Shortfacts + related */
        .reference-section-shortfacts+.reference-section-related:last-of-type {
          background-color: #007887;
          background: linear-gradient(45deg, #005560 0%, #007887 65%);
        }

        .reference-section-shortfacts+.reference-section-related:last-of-type .item-title * { color: white; }

        .reference-section-shortfacts+.reference-section-related:last-of-type a {
          color: #4B5564;
          background-color: white!important;
        }

        .reference-section-shortfacts+.reference-section-related:last-of-type a:hover { color: #00AABE; }

        /* Shortfacts + gallery */
        .showcase-item-page .reference-section-shortfacts+.reference-section-gallery:last-child {
          width: 100%;
          max-width: none;
          padding: 40px 0 50px;

          background-color: #007887;
          background: linear-gradient(45deg, #005560 0%, #007887 65%);
        }

        .showcase-item-page .reference-section-shortfacts+.reference-section-gallery:last-child * { color: white; }

        /* Testimonials + gallery + related */
        .showcase-item-page:has(.reference-section-testimonials+.reference-section-gallery:last-child) + #article-modules-bottom {
          padding: 40px 0 50px;
          background-color: #E7EAED;
          background: linear-gradient(45deg, #D1D6DC 0%, #E7EAED 65%);
        }

        .showcase-item-page:has(.reference-section-testimonials+.reference-section-gallery:last-child) + #article-modules-bottom > * { margin-bottom: 0; }

        .showcase-item-page:has(.reference-section-testimonials+.reference-section-gallery:last-child) + #article-modules-bottom .item { border-color: white; }

  /* Landing pages */
  @media screen and (max-width: 699px) {
    .page_php-8-update-fuer-joomla #joomla-5 ul,
    .page_joomla-4-update #joomla-4 ul,
    .page_joomla-5-update #joomla-5 ul { padding-left: 0; }

    .page_php-8-update-fuer-joomla #joomla-5 li,
    .page_joomla-4-update #joomla-4 li,
    .page_joomla-5-update #joomla-5 li {
      display: block;
      padding-left: 0;
    }
  }

  @media screen and (min-width: 700px) {
    .page_joomla-5-update #joomla-5 .item-image img {
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      
      height: 100%;
      
      object-fit: contain;
      object-position: bottom;
    }
  }

  /* Rechtliches */
  .page_impressum .page-container,
  .page_meldebogen .page-container { max-width: 720px; }

    /* Privacy policy */
    .page_datenschutz section:not(:last-child) {
      padding-bottom: 50px;
      border-bottom: solid 2px #E7EAED;
    }

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

    .page_datenschutz #datenschutz h2 { text-align: left; }

    .page_datenschutz p+h2 { margin-top: 25px; }

    .page_datenschutz p+h3 { margin: 25px 0 5px; }

      /* Matomo */
      #matomo-opt-out > p { margin-bottom: 10px!important; }

      #matomo-opt-out input {
        float: left;

        position: relative;
        top: 5px;

        width: 1rem;
        height: 1rem;
        padding: 0!important;

        background-color: #EFEFEF;

        cursor: pointer;
      }

      #matomo-opt-out input:checked {
        background-image: url('../images/check.svg');
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;
      }

      #matomo-opt-out label {
        display: block;
        margin: 0 0 0 1.75rem;
      }

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

/* Modules */
  /* References */
  .module_references h3 > a,
  .showcase-modules h3 > a { font-weight: 600; }

  .page_webdesign .module_references h3 { margin-bottom: 0; }

  @media screen and (max-width: 699px) { .module_references .item:nth-child(2) { display: none; } }

  @media screen and (min-width: 700px) and (max-width: 999px) { .showcase-modules .item:last-child { display: none; } }

  @media screen and (max-width: 999px) { .module_references .item:last-child { display: none; } }

  /* Subnav */
  .module_subnav { margin-bottom: 20px!important; }

  .module_subnav li { margin: 0 2.5px 10px; }

  .module_subnav li > a {
    padding: 6px 15px 5px;
    border-radius: 5px;

    font-family: CeraPRO-Condensed;
    font-weight: 500;
    line-height: 1;

    color: white;
    background-color: #00AABE;
  }

  .module_subnav li > a:hover { background-color: #007887; }

  .module_subnav li.current > a {
    cursor: default;
    color: #798597;
    background-color: #E7EAED;
  }

  /* Services */
  .module_services * { text-align: center; }

  .module_services h3 > a,
  .module_services p:not(.readmore) {
    color: #4B5564!important;
    font-weight: 600;
  }

  .module_services p:not(.readmore) {
    margin-top: -10px;

    font-family: CeraPRO-Condensed;
    font-size: 1.2rem;
    text-transform: uppercase;

    color: #7D8796!important;
  }

  @media screen and (max-width: 699px) {
    .module_services .item-image img {
      object-fit: cover;
      aspect-ratio: 16 / 9;
    }

    .module_services .item:nth-child(3) .item-image img { object-position: 0 -30px; }
  }

/* System */
  /* Plugins */
    /* Gallery */
    @media screen and (max-width: 699px) { .gallery-wrapper.items-row { grid-template-columns: repeat(2, 1fr); } }

    .gallery-wrapper { grid-gap: 10px!important; }

    .gallery-link {
      display: block;
      cursor: zoom-in!important;
      overflow: hidden;
    }

    /* Videos */

    /* Forms */
      /* General Elements */
        /* Form Container */
        .visforms-form { text-align: left; }

        .com-users-login,
        .com-users-logout,
        .com-users-reset,
        .com-users-remind {
          max-width: 536px;
          padding: 30px;
          border: 2px solid #E7EAED;
          margin: 0 auto;
          background-color: white;
        }

        .com-users-login,
        .com-users-logout { margin-bottom: 40px; }

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

        /* 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: #4B5564;
        }

        .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: .9rem;
          color: white !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 div:not(.consent-data-processing):not(.captchaCont):has(> div > p.errorcontainer) { display: grid; }

        .visform div:not(.consent-data-processing):not(.captchaCont) > div:has(> p.errorcontainer) { grid-row: 2; }

        .visform input.error,
        .visform textarea.error,
        .visform select.error,
        div.has-danger > input,
        div.has-danger > textarea,
        div.has-danger > select { border: 1px solid #D9414E!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;

          font-size: .8rem;

          background-color: #D9414E;
        }

        .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: .9rem;
          line-height: 1;
          font-weight: normal!important;
          text-transform: none;

          color: white!important;
        }

        .visform textarea.error+.visCustomText,
        .visform select.error+.visCustomText,
        .visform:not(.bt5):not(.bt4mcindividual):not(.uikit3):not(.uikit2) p.errorcontainer:after { display: none; }

      /* Fields */
      fieldset > div:not(.visBtnCon) { margin-top: 10px; } /* Abstand zwischen Felden */
      fieldset > div:first-of-type { margin: 0; }

      ::placeholder {
        color: #939BA8;
        opacity: 1;
      }

        /* Input, Texarea */
        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: #E7EAED;
        }

        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: 850px) {
          .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'); }

        /* 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;
          text-transform: none;

          color: #4B5564!important;
        }

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

          width: 100%;
          padding: 10px 15px;
          margin-top: 5px;

          background-color: #E7EAED;
        }

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

        /* Submit Button */
        .visform input.btn,
        .controls > button.btn {
          display: block;
          width: 100%;
          padding: 17px 15px 15px;
          border: none;
          margin-top: 20px;

          font-family: CeraPRO-Condensed;
          font-size: 1.2rem;
          font-weight: 500;
          line-height: 1;

          color: white!important;
          background-color: #00AABE;
        }

        .visform input.btn:hover,
        .controls > button.btn:hover { background-color: #007887; }

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

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

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

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

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

        div:has(p > input[type="checkbox"]) > label,
        div:has(p > input[type="radio"]) > label { margin-bottom: 10px; }

        /* Feldbeschreibung */
        .visCustomText > *,
        .visCustomText > * > * {
          font-size: .9rem;
          line-height: 1.4;
          color: #7D8796!important;
        }

        .visCustomText > *:not(p) { margin: 0; }

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

          width: 45px;
          background-color: #7D8796;
        }

        .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: #E7EAED; }

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

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

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

          /* 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; }

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

    /* 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,
    .visforms-form .tooltip-content,
    .visforms-form .tooltip-content * { 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; }

    .visforms-form .tooltip-wrapper > button { line-height: 1; }

      /* 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-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,
.module_footer-contact address,
.pagination ul {
	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,
.item-image,
.article-style-split-imgFill .image-wrapper,
.individual-style-styleguide,
.field-calendar,
.input-group,
.visform .input-append,
fieldset > div { position: relative; }

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

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

.narrow-content .content-wrapper {
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
}

.item-image-125 .item-image {
  max-width: 125px;
  margin: 0 auto 20px;
}

.item-image-250 .item-image {
  max-width: 250px;
  margin: 0 auto 35px;
}

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

  .bg-grey-light {
    background-color: #E7EAED;
    background: linear-gradient(45deg, #D1D6DC 0%, #E7EAED 65%);
  }
  .bg-grey-dark {
    background-color: #7D8796;
    background: linear-gradient(45deg, #667183 0%, #7D8796 65%);
  }
  .bg-turquoise-light  {
    background-color: #00AABE;
    background: linear-gradient(45deg, #008797 0%, #00AABE 65%);
  }
  .bg-turquoise-dark  {
    background-color: #007887;
    background: linear-gradient(45deg, #005560 0%, #007887 65%);
  }

    /* Wide – Elements inside */
    .white-text > .item > .wrapper > .item-title *,
    .white-text > .item > .wrapper > .content-wrapper *,
    .white-text .items-row:not(.box-style-1) *,
    .white-text .content-beside-columns *,
    .white-text .content-after-columns * { color: white; }

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

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

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

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

    .bg-turquoise-light > .item > .wrapper > .content-wrapper .button,
    .bg-turquoise-light .content-after-columns .button,
    *[class^="module"].bg-turquoise-light .button {
      color: #00AABE;
      background-color: white;
    }

    .bg-turquoise-light > .item > .wrapper > .content-wrapper .button:hover,
    .bg-turquoise-light .content-after-columns .button:hover,
    *[class^="module"].bg-turquoise-light .button:hover { color: #007887; }

  /* Background Image */
  .bg-image {
    background-size: cover;
    background-position: center;
  }

  .bg-image.scroll {
    min-height: 500px;
    background-attachment: fixed;
  }

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

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

  .items-row.box-style-1 > .item {
    border: 2px solid #E7EAED;
    background-color: white;
  }

  section:not(.text-center) .items-row.box-style-1 > .item { text-align: left; }

  .wide .items-row.box-style-1 .item { border: none; }

  section:not(.wide) .items-row.box-style-1:not(.icons):not(.icons-left) .item-image,
  .page_referenzen  .items-row.box-style-1:not(.icons):not(.icons-left) .item-image {
    width: calc(100% + 4px);
    position: relative;
    top: -2px;
    left: -2px;
  }

  .items-row.box-style-1:not(.icons):not(.icons-left) .item-image:after {
    content: ' ';

    position: absolute;
    bottom: 0;
    right: 0;
    left: 0;

    display: block;
    width: 0;
    height: 0;
    margin: 0 auto;
    border-left: 20px solid transparent;
    border-right: 20px solid transparent;
    border-bottom: 20px solid white;
  }

  /* Columnize */
	@media screen and (min-width: 700px) {
		.columnize,
    .page_datenschutz > .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_datenschutz > .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: 600;

    color: #4B5564;
    background-color: #F2BE5C;
  }

  /* Focus */
  main a:not(:has(svg)):focus-visible,
  footer a:not(:has(svg)):focus-visible,
  button:not(:has(svg)):focus-visible,
  input[type="checkbox"]:focus-visible,
  input[type="radio"]:focus-visible,
  input.btn:focus-visible,
  .individual-style-split-banner .button:focus-visible {
    color: #4B5564!important;
    background-color: #F2BE5C!important;
    opacity: 1;
    filter: grayscale(0)!important;
  }

  a:focus-visible svg *,
  button:focus-visible svg * { fill: #F2BE5C!important; }

  /* Images */
  main a:focus-visible img,
  footer a:focus-visible img {
    -webkit-transition: none;
    -moz-transition: none;
    -o-transition: none;
    transition: none;

    opacity: 1!important;
    filter: grayscale(1)!important;
    mix-blend-mode: overlay;
  }

  /* 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: 10px!important;
    overflow: visible;
  }

  @media screen and (max-width: 699px) {
    .module_main-navigation > ul > li > a:focus-visible {
      color: #4B5564!important;
      background-color: #F2BE5C!important;
      opacity: 1;
    }
  }

  @media screen and (min-width: 700px) { .module_main-navigation > ul > li > a:focus-visible { color: #F2BE5C; } }

  .module_main-navigation ul ul a:focus-visible {
    color: #4B5564!important;
    background-color: #F2BE5C!important;
    opacity: 1;
  }

  /* Sonstiges */
  a:focus-visible g#linkedin g#icon path { fill: #4B5564!important; }