:root {
	--grid__gutter: .75rem;
}

html,
body {
	font-family: 'Roboto', sans-serif;
}

/* ============================================================================
 * HEADER
 * ========================================================================= */
#header .inside {
	max-width: 1100px;
}

.logo {
	margin-left: 0;
	margin-top: 20px;
}

.logo figure {
	left: 0;
}

.logo a:hover {
    text-decoration: none;
}

/* ============================================================================
 * MAIN MENU
 * ========================================================================= */
.mainmenu ul.level_1 {
	width: 100%;
	margin-right: 0;
}

.mainmenu {
	margin-right: -14px;
}

.mainmenu ul.level_1 li a, 
.mainmenu ul.level_1 li span.active, 
.mainmenu ul.level_1 li span.forward {
	text-transform: none;
}

.mainmenu ul.level_1 li a {
	color: #000000;
}

.mainmenu ul.level_1 li span.active {
	font-weight: bold;
	color: inherit;
}

.mainmenu ul.level_1 li a, 
.mainmenu ul.level_1 li span.active, 
.mainmenu ul.level_1 li span.forward {
	letter-spacing: normal;
}

.mainmenu ul.level_1 li.trail > a, 
.mobilenav ul.level_1 li a.trail {
	color: inherit;
	font-weight: bold;
}

.mainmenu ul.level_1 li a {
	font-weight: 400;
}


.mobilenav {
	background: #ffffff;
}

.mobilenav ul.level_1 {
	text-align: left;
	padding-left: 8%;
}

.mobilenav ul.level_1 li a, 
.mobilenav ul.level_1 li span.active, 
.mobilenav ul.level_1 li span.forward {
	color: #000000;
	letter-spacing: normal;
	text-transform: none;
}

.menu-opener-inner.active::before, 
.menu-opener-inner.active::after {
	background-color: #000000;
}

.mobilenav ul.level_1 li span.active {
	font-weight: bold;
}

.menu-opener {
	top: 25px;
}

.mainmenu ul.level_1 li a, 
.mainmenu ul.level_1 li span.active, 
.mainmenu ul.level_1 li span.forward {
font-size: 15px !important;
}

.mobilenav ul.level_1 li a:hover {
	color: inherit;
}


/* ============================================================================
 * MAIN CONTENT AREA
 * ========================================================================= */
#wrapper {
	padding: 150px 0 0;
	max-width: 1100px;
	overflow: visible;
}

#container {
	min-height: unset;
}

/* ============================================================================
 * BILDUS
 * ========================================================================= */
@media (max-width: 768px) {
	.bildus {
		margin-top: 0 !important;
	}
}

/* ============================================================================
 * TEXT FORMATTING
 * ========================================================================= */
p {
	color: #000000;
	font-weight: 400;
}

p.back {
	margin-top: 2em;
	display: none;
}

a {
	color: #000000;
}

h3 {
	line-height: 1.7;
}

.padding h3 {
	margin-top: 0;
}

hr { 
	border: 0;
	border-bottom: 1px solid #cacaca;
	margin: 50px 5%;
}

/* ============================================================================
 * IMAGES
 * ========================================================================= */
figcaption.caption {
	font-size: 15px;
	margin-top: 15px;
	font-weight: 400;
}

/* ============================================================================
 * CONTACT BOX
 * ========================================================================= */
.kontakt-rechts {
	border-left: 1px solid #919090;
	margin-left: 30px;
	padding-left: 30px;
	width: 75%;
}
@media (max-width: 599px) {
	.kontakt-rechts {
		border-top: 1px solid #919090;
		border-left: none;
		margin-left: 0;
		padding-left: 0;
		width: 100%;
	}
}

.startseite-flex {
	display: flex;
	margin-top: 15px;
}
@media (max-width: 599px) {
	.startseite-flex {
		display: block;
	}
}

/* ============================================================================
 * SLIDER
 * ========================================================================= */
.ce_sliderStart {
	padding-right: 0;
	padding-left: 0;
	display: flex;
    align-content: center;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
}

.content-slider {
    background-color: #ffffff;
}

.slider-control.slider-control {
	top: calc(50% - 100px);

	.slider-prev, 
	.slider-next {
		text-decoration: none;
		top: initial;
		text-indent: -9999px;
	    display: flex !important;
	    align-items: center;
	    height: 200px;
	    
		&:hover {
			color: #ccc;	
		}
		
		&::after {
			display: block;
			width: 100%;
			text-indent: 0;
			line-height: 1;
		}
	}	

	.slider-prev {
		left: -65px;

		@media (width < 1200px) {
			left: 0;
		}
	
		&::after {
			content: "←";
		}
	}
	
	.slider-next {
		right: -65px;
		
		@media (width < 1200px) {
			right: 0;
		}
		
		&::after {
			content: "→";
		}
	}
}


/* ============================================================================
 * COLOR BOX
 * ========================================================================= */
#cboxLoadedContent {
    /*border: 1px solid #000;*/
    border-width:0;
}

#cboxContent {
	background: transparent;
}

#cboxClose {
	top:0;
	right:0;
}

#cboxOverlay {
    background: #ffffff;
    opacity: 1 !important;
}

/* ============================================================================
 * MISC
 * ========================================================================= */
#mc_embed_signup form {
	padding-left: 20px !important;
	padding-right: 20px !important;
}

/* ============================================================================
 * FOOTER
 * ========================================================================= */
#footer .mainmenu {
	float: none;
}
@media (max-width: 992px) {
	#footer .mainmenu {
		display: block;
	}
}
#footer .mainmenu ul.level_1 {
	padding-bottom: 2em;
	text-align: left;
}

.sliphover-overlay h4 {
	display: none !important;
}



/* spacing before/after an element
 *
 * - spacing is defined for mobile first
 * - the multiplier is to increase spacing for tablet/desktop
 * - feel free to delete all calculations and put in individual values ;)
 * ------------------------------------------------------------------------- */
:root {
  --spacing-xxs: .25rem;
  --spacing-xs: .5rem;
  --spacing-s: 1rem;
  --spacing-m: 2rem;
  --spacing-l: 3rem;
  --spacing-xl: 5rem;
  --spacing-xxl: 7rem;

  --spacing-multiplier-tablet: 1.25;
  --spacing-multiplier-desktop: 1.75;
}

@media (0 <= width < 680px) {
  .mt-0      { margin-top: 0; }
  /* the .mt-foo-m and .mb-foo-m classes are only used by PCT Autogrid and
   * only for mobile */
  .mt-xxs-m.mt-xxs-m,
  .mt-xxs   { margin-top: var(--spacing-xxs); }
  .mt-xs-m.mt-xs-m,
  .mt-xs    { margin-top: var(--spacing-xs); }
  .mt-s-m.mt-s-m,
  .mt-s     { margin-top: var(--spacing-s); }
  .mt-m-m.mt-m-m,
  .mt-m     { margin-top: var(--spacing-m); }
  .mt-l-m.mt-l-m,
  .mt-l     { margin-top: var(--spacing-l); }
  .mt-xl-m.mt-xl-m,
  .mt-xl    { margin-top: var(--spacing-xl); }
  .mt-xxl-m.mt-xxl-m,
  .mt-xxl   { margin-top: var(--spacing-xxl); }

  .mb-0     { margin-bottom: 0; }
  .mb-xxs-m.mb-xxs-m,
  .mb-xxs   { margin-bottom: var(--spacing-xxs); }
  .mb-xs-m.mb-xs-m,
  .mb-xs    { margin-bottom: var(--spacing-xs); }
  .mb-s-m.mb-s-m,
  .mb-s     { margin-bottom: var(--spacing-s); }
  .mb-m-m.mb-m-m,
  .mb-m     { margin-bottom: var(--spacing-m); }
  .mb-l-m.mb-l-m,
  .mb-l     { margin-bottom: var(--spacing-l); }
  .mb-xl-m.mb-xl-m,
  .mb-xl    { margin-bottom: var(--spacing-xl); }
  .mb-xxl-m.mb-xxl-m,
  .mb-xxl	{ margin-bottom: var(--spacing-xxl); }
}

@media (680px <= width < 1000px) {
  .mt-0.mt-0      { margin-top: 0; }
  .mt-xxs.mt-xxs  { margin-top: calc(var(--spacing-xxs) * var(--spacing-multiplier-tablet)); }
  .mt-xs.mt-xs    { margin-top: calc(var(--spacing-xs) * var(--spacing-multiplier-tablet)); }
  .mt-s.mt-s      { margin-top: calc(var(--spacing-s) * var(--spacing-multiplier-tablet)); }
  .mt-m.mt-m      { margin-top: calc(var(--spacing-m) * var(--spacing-multiplier-tablet)); }
  .mt-l.mt-l      { margin-top: calc(var(--spacing-l) * var(--spacing-multiplier-tablet)); }
  .mt-xl.mt-xl    { margin-top: calc(var(--spacing-xl) * var(--spacing-multiplier-tablet)); }
  .mt-xxl.mt-xxl  { margin-top: calc(var(--spacing-xxl) * var(--spacing-multiplier-tablet)); }

  .mb-0.mb-0      { margin-bottom: 0; }
  .mb-xxs.mb-xxs  { margin-bottom: calc(var(--spacing-xxs) * var(--spacing-multiplier-tablet)); }
  .mb-xs.mb-xs    { margin-bottom: calc(var(--spacing-xs) * var(--spacing-multiplier-tablet)); }
  .mb-s.mb-s      { margin-bottom: calc(var(--spacing-s) * var(--spacing-multiplier-tablet)); }
  .mb-m.mb-m      { margin-bottom: calc(var(--spacing-m) * var(--spacing-multiplier-tablet)); }
  .mb-l.mb-l      { margin-bottom: calc(var(--spacing-l) * var(--spacing-multiplier-tablet)); }
  .mb-xl.mb-xl    { margin-bottom: calc(var(--spacing-xl) * var(--spacing-multiplier-tablet)); }
  .mb-xxl.mb-xxl  { margin-bottom: calc(var(--spacing-xxl) * var(--spacing-multiplier-tablet)); }
}

@media (1000px <= width) {
  .mt-0.mt-0      { margin-top: 0; }
  .mt-xxs.mt-xxs  { margin-top: calc(var(--spacing-xxs) * var(--spacing-multiplier-desktop)); }
  .mt-xs.mt-xs    { margin-top: calc(var(--spacing-xs) * var(--spacing-multiplier-desktop)); }
  .mt-s.mt-s      { margin-top: calc(var(--spacing-s) * var(--spacing-multiplier-desktop)); }
  .mt-m.mt-m      { margin-top: calc(var(--spacing-m) * var(--spacing-multiplier-desktop)); }
  .mt-l.mt-l      { margin-top: calc(var(--spacing-l) * var(--spacing-multiplier-desktop)); }
  .mt-xl.mt-xl    { margin-top: calc(var(--spacing-xl) * var(--spacing-multiplier-desktop)); }
  .mt-xxl.mt-xxl  { margin-top: calc(var(--spacing-xxl) * var(--spacing-multiplier-desktop)); }

  .mb-0.mb-0      { margin-bottom: 0; }
  .mb-xxs.mb-xxs  { margin-bottom: calc(var(--spacing-xxs) * var(--spacing-multiplier-desktop)); }
  .mb-xs.mb-xs    { margin-bottom: calc(var(--spacing-xs) * var(--spacing-multiplier-desktop)); }
  .mb-s.mb-s      { margin-bottom: calc(var(--spacing-s) * var(--spacing-multiplier-desktop)); }
  .mb-m.mb-m      { margin-bottom: calc(var(--spacing-m) * var(--spacing-multiplier-desktop)); }
  .mb-l.mb-l      { margin-bottom: calc(var(--spacing-l) * var(--spacing-multiplier-desktop)); }
  .mb-xl.mb-xl    { margin-bottom: calc(var(--spacing-xl) * var(--spacing-multiplier-desktop)); }
  .mb-xxl.mb-xxl  { margin-bottom: calc(var(--spacing-xxl) * var(--spacing-multiplier-desktop)); }
}