@charset "UTF-8";

/* Fonts */
  /* barlow-100 - latin */
  @font-face {
    font-display: swap;
    font-family: 'Barlow';
    font-style: normal;
    font-weight: 100;
    src: url('../fonts/barlow-v12-latin-100.woff2') format('woff2');
  }

  /* barlow-100italic - latin */
  @font-face {
    font-display: swap;
    font-family: 'Barlow';
    font-style: italic;
    font-weight: 100;
    src: url('../fonts/barlow-v12-latin-100italic.woff2') format('woff2');
  }

  /* barlow-200 - latin */
  @font-face {
    font-display: swap;
    font-family: 'Barlow';
    font-style: normal;
    font-weight: 200;
    src: url('../fonts/barlow-v12-latin-200.woff2') format('woff2');
  }

  /* barlow-200italic - latin */
  @font-face {
    font-display: swap;
    font-family: 'Barlow';
    font-style: italic;
    font-weight: 200;
    src: url('../fonts/barlow-v12-latin-200italic.woff2') format('woff2');
  }

  /* barlow-300 - latin */
  @font-face {
    font-display: swap;
    font-family: 'Barlow';
    font-style: normal;
    font-weight: 300;
    src: url('../fonts/barlow-v12-latin-300.woff2') format('woff2');
  }

  /* barlow-300italic - latin */
  @font-face {
    font-display: swap;
    font-family: 'Barlow';
    font-style: italic;
    font-weight: 300;
    src: url('../fonts/barlow-v12-latin-300italic.woff2') format('woff2');
  }

  /* barlow-regular - latin */
  @font-face {
    font-display: swap;
    font-family: 'Barlow';
    font-style: normal;
    font-weight: 400;
    src: url('../fonts/barlow-v12-latin-regular.woff2') format('woff2');
  }

  /* barlow-italic - latin */
  @font-face {
    font-display: swap;
    font-family: 'Barlow';
    font-style: italic;
    font-weight: 400;
    src: url('../fonts/barlow-v12-latin-italic.woff2') format('woff2');
  }

  /* barlow-500 - latin */
  @font-face {
    font-display: swap;
    font-family: 'Barlow';
    font-style: normal;
    font-weight: 500;
    src: url('../fonts/barlow-v12-latin-500.woff2') format('woff2');
  }

  /* barlow-500italic - latin */
  @font-face {
    font-display: swap;
    font-family: 'Barlow';
    font-style: italic;
    font-weight: 500;
    src: url('../fonts/barlow-v12-latin-500italic.woff2') format('woff2');
  }

  /* barlow-600 - latin */
  @font-face {
    font-display: swap;
    font-family: 'Barlow';
    font-style: normal;
    font-weight: 600;
    src: url('../fonts/barlow-v12-latin-600.woff2') format('woff2');
  }

  /* barlow-600italic - latin */
  @font-face {
    font-display: swap;
    font-family: 'Barlow';
    font-style: italic;
    font-weight: 600;
    src: url('../fonts/barlow-v12-latin-600italic.woff2') format('woff2');
  }

  /* barlow-700 - latin */
  @font-face {
    font-display: swap;
    font-family: 'Barlow';
    font-style: normal;
    font-weight: 700;
    src: url('../fonts/barlow-v12-latin-700.woff2') format('woff2');
  }

  /* barlow-700italic - latin */
  @font-face {
    font-display: swap;
    font-family: 'Barlow';
    font-style: italic;
    font-weight: 700;
    src: url('../fonts/barlow-v12-latin-700italic.woff2') format('woff2');
  }

  /* barlow-800 - latin */
  @font-face {
    font-display: swap;
    font-family: 'Barlow';
    font-style: normal;
    font-weight: 800;
    src: url('../fonts/barlow-v12-latin-800.woff2') format('woff2');
  }

  /* barlow-800italic - latin */
  @font-face {
    font-display: swap;
    font-family: 'Barlow';
    font-style: italic;
    font-weight: 800;
    src: url('../fonts/barlow-v12-latin-800italic.woff2') format('woff2');
  }

  /* barlow-900 - latin */
  @font-face {
    font-display: swap;
    font-family: 'Barlow';
    font-style: normal;
    font-weight: 900;
    src: url('../fonts/barlow-v12-latin-900.woff2') format('woff2');
  }

  /* barlow-900italic - latin */
  @font-face {
    font-display: swap;
    font-family: 'Barlow';
    font-style: italic;
    font-weight: 900;
    src: url('../fonts/barlow-v12-latin-900italic.woff2') format('woff2');
  }

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

  .visCSSlabel {
    width: 100%;
    margin-right: 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,
.fachwerk-gallery-image > 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,
.visform .checkbox input,
.visform .radio input,
.visform .checkbox label,
.visform .radio label,
.form-check > input,
.form-check > label { cursor: pointer; }

/* Text */
* {
	font-family: Barlow, Arial, sans-serif;
	font-size: 13pt;
	line-height: 1.6;
	font-weight: 400;
	font-style: normal;
	color: #304269;
	}

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

.module_header-navigation a { letter-spacing: .75pt; }

h1, h2, h3, h4, h5, h6,
h1 > a, h2 > a, h3 > a, h4 > a, h5 > a, h6 > a,
.subtitle, .tooltip-container > strong,
.footer-heading { letter-spacing: 1pt; }

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

	p:last-of-type,
  address:last-child { 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 {
    margin-bottom: 20px;

		font-size: 2rem;
    font-weight: 600;
		line-height: 1.4;
		text-transform: uppercase;
		}

	h2,
	h2 > a {
		margin-bottom: 20px;
		font-size: 1.6rem;
    font-weight: 600;
		line-height: 1.4;
    text-align: center;
		text-transform: uppercase;
		}

	h3,
	h3 > a {
		margin-bottom: 10px;

		font-size: 1.3rem;
    font-weight: 600;
		line-height: 1.4;

    text-transform: uppercase;
		}

	h4,
	h4 > a {
		margin: 25px 0 5px;

		font-size: 1rem;
		line-height: 1.4;
    font-weight: bold;
    text-transform: uppercase;
		}

	h5,
	h5 > a {
		margin: 25px 0 5px;
		font-size: 1rem;
		line-height: 1.4;
    font-style: italic;
		}

	h6,
	h6 > a {
		margin: 25px 0 5px;
		font-size: 1rem;
		line-height: 1.4;
		}

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

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

    font-size: 13pt;
    font-weight: 600;
    line-height: 1;
    text-align: center;
    text-transform: uppercase;

    color: #BF303C;
    }

  .subtitle:has(+h1) { margin-bottom: 0; }

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

	ul.bullets > li,
  .page_privacy-policy main 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 #E7EAED;
		}

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

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

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

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

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

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

	a:hover img.hover-resize,
  .fachwerk-gallery-image:hover > img {
		-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;
	}

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

  /* 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 { 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: 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.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 Navigation */
  .module_header-navigation {
    min-height: 25px;
    text-align: right;
    background-color: #798597;
    }

  .module_header-navigation * { color: white; }

  .module_header-navigation li { margin-left: 10px; }

  .module_header-navigation a {
    display: inline-block;
    height: 25px;

    font-size: 9pt;
    line-height: 24px;
    font-weight: 500;
    text-transform: uppercase;
    vertical-align: middle;
    }

  .module_header-navigation a:hover,
  .module_header-navigation li.current > a { color: #E7EAED; }

  /* Header */
  header {
    height: 90px;
    border-bottom: 2px solid #E7EAED;
  	background-color: white;
  	}

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

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

  /* Navigation */
  .module_main-navigation {
    position: relative;
    z-index: 99;
  
    width: fit-content;
    margin-left: auto;

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

    text-align: right;
    }

  .module_main-navigation li > .nav-child { display: none; }

  .module_main-navigation li:hover > .nav-child { display: block; }

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

    /* Mobile */
    @media screen and (max-width: 849px) {
      .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 #304269;
        }

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

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

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

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

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

        .module_main-navigation > #dropdown {
          margin-top: 25px;
          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-size: 15px 15px;
          background-position: center;
          background-repeat: no-repeat;
          background-color: #BF303C;
          }

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

        .module_main-navigation #dropdown.open {
          background-image: url('../images/nav-close.svg');
          background-color: #304269;
        }
    }

    /* Desktop */
    @media screen and (min-width: 850px) {
      .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: 90px;
        font-size: 13pt;
        font-weight: 500;
        line-height: 90px !important;
        vertical-align: middle;
        }

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

    @media screen and (min-width: 850px) and (max-width: 1099px) {
      li:has(.item-service),
      li:has(.item-historie),
      li:has(.item-kataloge) { display: none!important; }
    }
      /* 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: 106px; opacity: 0; }
            to   { top: 66px; opacity: 1; }
            }

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

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

  /* Footer */
    /* Footer Body */
    #footer-content {
      padding: 40px 0;
      background-color: #BF303C;
      }

    #footer-content * { color: white; }

    .footer-heading {
      margin-bottom: 10px!important;
      font-size: 15pt;
      font-weight: 400;
      line-height: 1;
      text-transform: uppercase;
    }

    #footer-content a:hover:hover { text-decoration: underline!important; }

    .module_footer-logo img {
        display: block;
        max-width: 300px;
      }

    .module_opening-hours li:not(:last-child) { margin-bottom: 8px; }

    @media screen and (max-width: 1199px) {
      #footer-content { text-align: center; }
      
      .module_footer-logo img { margin: 0 auto; }

      .module_footer-logo,
      .module_contact { margin-bottom: 35px; }
    }

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

      #footer-content > div { grid-template-columns: auto minmax(min-content, 300px) minmax(min-content, 300px); }

      span.row-left {
        display: inline-block;
        width: 75px;
      }
    }

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

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

    /* Footer Navigation */
    #footer-bottom-wrapper * {
      font-size: 9pt;
      line-height: 1.7;
      }

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

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

    #footer-bottom nav > ul a:hover,
    #footer-bottom nav > ul li.current > a { color: #798597; }

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

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

  /* Buttons: General */
  a.button {
    display: inline-block;
    padding: 10px 15px 12px;
    margin-top: 20px;

    line-height: 1;

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

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

  /* Buttons: Readmore */
  p.readmore a {
    display: block;
    padding: 10px 15px;

    text-align: center;

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

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

    @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: 75px!important; }

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

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

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

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

  /* 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 polygon { fill: #BF303C }

  .module_totop a:hover polygon { fill: #A02832; }

/* 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: Split */
  .article-style-split .item-image { margin-bottom: 30px; }

  @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, 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: 899px) {
    .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: 66.666%; }
    }

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

    height: 100%;

    object-fit: cover;
    }

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

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

        @media screen and (min-width: 1200px) { .article-style-split-imgFill:not(.wide) > .item { grid-template-columns: repeat(2, 1fr); } }

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

        /* 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 .item-image {
    width: 75px;
    margin: 30px auto 0;
    }

  .items-row.icons .item-image:has(.hover-resize) { overflow: visible; }

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

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

  /* 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: 13pt;
		line-height: 1.4;
    font-weight: 500;
    text-transform: uppercase;
		}

/* Individual Styles */
  /* Service */
  @media screen and (max-width: 699px) { .individual-style-service { text-align: center; } }

  /* Ausstellung */
  .individual-style-ausstellung > .item {
    max-width: 431.25px!important;
    padding: 40px;

    text-align: center;

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

    box-sizing: border-box;
  }

  .individual-style-ausstellung address {
    padding: 25px;
    margin-top: 25px;
    background-color: #304269;
  }

  .individual-style-ausstellung address,
  .individual-style-ausstellung address * { color: white; }

  .individual-style-ausstellung address svg {
    width: 50px;
    display: block;
    margin: 0 auto 10px;
  }

  /* Historie */
  @media screen and (max-width: 899px) {
    .individual-style-historie { text-align: center; }

    .chronic-content {
    max-width: 550px;
    margin: auto;
  }
  }

  .individual-style-historie li:not(:last-of-type) {
    padding-bottom: 20px;
    border-bottom: 3px solid #EFEFEF;
    margin-bottom: 20px;
  }

  .individual-style-historie .chronic-year > span {
    font-weight: 600;
    color: #BF303C;
  }

  /* Kataloge */
  .individual-style-kataloge .items-row > .item:last-child > div,
  .individual-style-kataloge .items-row > .item:last-child > div > div,
  .individual-style-kataloge .items-row > .item:last-child > div > div > div { height: 100%; }

  .individual-style-kataloge .visforms-form { max-width: none; }

  @media screen and (min-width: 700px) {
    .individual-style-kataloge .visforms-form {
      padding-bottom: 200px;
      box-sizing: border-box;
    }

    .individual-style-kataloge .captchaCont {
      position: absolute;
      right: 30px;
      bottom: 30px;
      left: 30px;
    }
  }

    /* Downloads */
    .download-link {
      clear: left;

      display: block;
      padding: 25px;

      background-color: #EFEFEF;

      box-sizing: border-box;
    }

    .download-link:not(:last-of-type) { margin-bottom: 10px; }

    .download-link:hover { background-color: #304269; }

    .download-link:hover * { color: white; }

    .download-link img {
      float: left;
      width: auto;
      height: 75px;
    }

    .download-description {
      padding: 12.5px 0;
      margin-left: 75px;
      line-height: 25px;
    }

/* Rubriken */
  /* Rechtliches */
  .page_legal-notice h2 { margin: 25px 0 5px; }

  .page_privacy-policy h1 { text-align: center; }

  .page_privacy-policy h2 {
    margin-bottom: 5px;
    text-align: left;
  }

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

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

  .page_privacy-policy h3+h4 { margin-top: 0; }

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

/* Modules */
  /* Banner */
  .fachwerk-slider.type-banner picture > img {
    height: 400px;
    object-fit: cover;
  }

  .fachwerk-slider.type-banner figcaption {
    margin-top: 0;
    background-color: #304269;
  }

  @media screen and (min-width: 700px) {
    .fachwerk-slider.type-banner figcaption {
      background: #304269;
      background: linear-gradient(45deg,rgba(48, 66, 105, 1) 0%, rgba(48, 66, 105, 0.9) 100%);
    }
  }

  .fachwerk-slider.type-banner figcaption * { color: white; }

  .fachwerk-slider.type-banner figcaption p { font-size: 1.1rem; }

  @media screen and (max-width: 699px) {
    .fachwerk-slider.type-banner .caption-wrapper {
      width: 85%;
      max-width: 1150px;
      padding: 40px 0;
      margin: 0 auto;

      text-align: center;
    }

    .fachwerk-slider.type-banner figcaption p {
      max-width: 350px;
      margin: 0 auto;
    }
  }

  @media screen and (min-width: 700px) {
    .fachwerk-slider.type-banner figcaption {
      position: absolute;
      top: 0;
      bottom: 0;
      left: 7.5%;

      width: 33.333%;
      min-width: 350px;
      max-width: 431.25px;
      padding: 60px 35px 35px;

      box-sizing: border-box;
    }
  }

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

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

    @media screen and (max-width: 699px) { .fachwerk-gallery-image:last-child:nth-child(odd) { display: none; } }

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

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

    /* Forms */
      /* General Elements */
        /* Form Container */
        .visforms-form,
        .com-users-login,
        .com-users-logout,
        .com-users-reset,
        .com-users-remind {
          max-width: 540px;
          padding: 30px;
          border: 2px solid #EFEFEF;
          margin: 0 auto;

          background-color: white;

          box-sizing: border-box;
          }

        .visforms-form *,
        .com-users-login *,
        .com-users-logout * { color: #304269!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: #EFEFEF;
          }

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

        /* 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 #BF303C!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: #BF303C;
          }

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

          color: white!important;
          }

        .visform div:not(.checkbox.field-wrapper) > 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; }

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

        .fc-tbxh-captcha-response_field > p.errorcontainer { display: none!important; }

        .fc-tbxh-captcha-response_field:has(p.errorcontainer)+div .h-captcha div#checkbox {
          width: fit-content;
          fill: red;
        }

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

      ::placeholder {
        color: #BCBCBC;
        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: #EFEFEF;
          }

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

        textarea, .visform textarea { height: 120px; }

        /* Checkbox, Radio Button */
        .visform .extend-margin { margin-top: 25px; }

        .form-check { margin-top: 20px; }

        .visform .input-inline,
        .visform .input-list { margin-top: 10px; }

        .visform .field-wrapper,
        .visform .visCheckbox { margin-bottom: 10px; }

        .visform .field-wrapper:last-of-type,
        .visform .field-wrapper.checkbox { margin: 0; }

        .visform .field-wrapper > input,
        .form-check > input {
          position: absolute;
          width: 20px;
          height: 20px;
          padding: 0;
          }

          /* Checklist */
          .visform .checkbox input:checked,
          .form-check > input:checked { background-image: url('../images/check.svg'); }

          /* Radio Buttons */
          .visform .radio input { border-radius: 100%; }

          .visform .radio input:checked { background-image: url('../images/check-radio.svg'); }

        .visform .field-wrapper > label,
        .visform .field-wrapper > .visCustomText,
        .form-check > label {
          display: inline-block;
          margin: 0 0 0 30px;
          }

        .visform .field-wrapper > label,
        .visform .field-wrapper > .visCustomText > *, .visform .field-wrapper > .visCustomText > * > *,
        .form-check > label {
          font-size: 11pt;
          line-height: 20px;
          font-weight: normal;
          text-transform: none;

          color: #304269!important;
          }

        @media screen and (min-width: 700px) {
          .visform .input-inline {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            grid-column-gap: 20px;
            grid-row-gap: 10px;
            }

          .visform .input-inline > .field-wrapper { margin-bottom: 0; }
          }

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

        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: 10px 15px;
          border: none!important;
          margin-top: 20px;

          color: white!important;
          background-color: #BF303C;
          }

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

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

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

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

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

        /* Feldbeschreibung */
        .visCustomText > *:not(h3) {
          margin: 0;
          font-size: 9pt;
          line-height: 1.4;
          color: #BCBCBC!important;
          }

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

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

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

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

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

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

.hide { display: none; }

.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 {
	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 */

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

  .bg-light { background-color: #BF303C; }
  .bg-dark { background-color: #304269; }

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

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

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

  /* 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 > .item > .wrapper { padding: 30px; }

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

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

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

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

	.columnize { margin-bottom: 30px; }
