:root {
	--spaceBetweenDefault: 20px;
	--baseWidth: 92%;
	--maxWidth: 1400px;
	--minWidth: 1000px;
	/* reduced width is two-thirds of maxWidth */
	--reducedWidth: calc(var(--maxWidth) * 2/3);

	--mainColor: #457B9D;
	--secondColor: #E63946;
	--fontColor: #222;
	--contrastColorInverted: #fff;
	--backgroundColor: #F1F1F1;
}

/* montserrat-100 - latin */
@font-face {
	font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
	font-family: 'Montserrat';
	font-style: normal;
	font-weight: 100;
	src: url('../fonts/montserrat-v26-latin-100.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
  }
  
  /* montserrat-100italic - latin */
  @font-face {
	font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
	font-family: 'Montserrat';
	font-style: italic;
	font-weight: 100;
	src: url('../fonts/montserrat-v26-latin-100italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
  }
  
  /* montserrat-200 - latin */
  @font-face {
	font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
	font-family: 'Montserrat';
	font-style: normal;
	font-weight: 200;
	src: url('../fonts/montserrat-v26-latin-200.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
  }
  
  /* montserrat-200italic - latin */
  @font-face {
	font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
	font-family: 'Montserrat';
	font-style: italic;
	font-weight: 200;
	src: url('../fonts/montserrat-v26-latin-200italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
  }
  
  /* montserrat-300 - latin */
  @font-face {
	font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
	font-family: 'Montserrat';
	font-style: normal;
	font-weight: 300;
	src: url('../fonts/montserrat-v26-latin-300.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
  }
  
  /* montserrat-300italic - latin */
  @font-face {
	font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
	font-family: 'Montserrat';
	font-style: italic;
	font-weight: 300;
	src: url('../fonts/montserrat-v26-latin-300italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
  }
  
  /* montserrat-regular - latin */
  @font-face {
	font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
	font-family: 'Montserrat';
	font-style: normal;
	font-weight: 400;
	src: url('../fonts/montserrat-v26-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
  }
  
  /* montserrat-italic - latin */
  @font-face {
	font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
	font-family: 'Montserrat';
	font-style: italic;
	font-weight: 400;
	src: url('../fonts/montserrat-v26-latin-italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
  }
  
  /* montserrat-500 - latin */
  @font-face {
	font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
	font-family: 'Montserrat';
	font-style: normal;
	font-weight: 500;
	src: url('../fonts/montserrat-v26-latin-500.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
  }
  
  /* montserrat-500italic - latin */
  @font-face {
	font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
	font-family: 'Montserrat';
	font-style: italic;
	font-weight: 500;
	src: url('../fonts/montserrat-v26-latin-500italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
  }
  
  /* montserrat-600 - latin */
  @font-face {
	font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
	font-family: 'Montserrat';
	font-style: normal;
	font-weight: 600;
	src: url('../fonts/montserrat-v26-latin-600.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
  }
  
  /* montserrat-600italic - latin */
  @font-face {
	font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
	font-family: 'Montserrat';
	font-style: italic;
	font-weight: 600;
	src: url('../fonts/montserrat-v26-latin-600italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
  }
  
  /* montserrat-700 - latin */
  @font-face {
	font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
	font-family: 'Montserrat';
	font-style: normal;
	font-weight: 700;
	src: url('../fonts/montserrat-v26-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
  }
  
  /* montserrat-700italic - latin */
  @font-face {
	font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
	font-family: 'Montserrat';
	font-style: italic;
	font-weight: 700;
	src: url('../fonts/montserrat-v26-latin-700italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
  }
  
  /* montserrat-800 - latin */
  @font-face {
	font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
	font-family: 'Montserrat';
	font-style: normal;
	font-weight: 800;
	src: url('../fonts/montserrat-v26-latin-800.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
  }
  
  /* montserrat-800italic - latin */
  @font-face {
	font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
	font-family: 'Montserrat';
	font-style: italic;
	font-weight: 800;
	src: url('../fonts/montserrat-v26-latin-800italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
  }
  
  /* montserrat-900 - latin */
  @font-face {
	font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
	font-family: 'Montserrat';
	font-style: normal;
	font-weight: 900;
	src: url('../fonts/montserrat-v26-latin-900.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
  }
  
  /* montserrat-900italic - latin */
  @font-face {
	font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
	font-family: 'Montserrat';
	font-style: italic;
	font-weight: 900;
	src: url('../fonts/montserrat-v26-latin-900italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
  }
  

article,
aside,
dialog,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section {
	display: block
}

.clearL,
.clearR,
.clear {
	clear: both;
}

.clearfix:after {
	content: "";
	display: block;
	clear: both;
}

H1,
H2,
H3,
H4,
H5,
H6 {
	font: 18px 'Montserrat', Arial, Verdana, Sans-serif;
	line-height: 120%;
	color: var(--fontColor);
	padding: 10px 0 0;
}

H1 {
	font-size: 33px;
	font-weight: 600;
	padding: 0;
	color: var(--mainColor);
}
H1 span {
	color: var(--mainColor);
}

H2 {
	font-size: 31px;
	font-weight: 500;
	margin-bottom: 10px;
}

H3 {
	font-size: 22px;
	font-weight: 600;
}

H4 {
	font-size: 18px;
}

H1+H1,
H1+H2,
H1+H3,
H1+H4,
H1+H5,
H2+H1,
H2+H2,
H2+H3,
H2+H4,
H2+H5,
H3+H1,
H3+H2,
H3+H3,
H3+H4,
H3+H5,
H4+H1,
H4+H2,
H4+H3,
H4+H4,
H4+H5,
H5+H1,
H5+H2,
H5+H3,
H5+H4,
H5+H5 {
	padding: 0;
}

P {
	padding: 10px 0 5px;
}
.text-center {
	text-align: center;
}
A {
	text-decoration: none;
	color: var(--fontColor);
	position: relative;
	/* color: var(--mainColor); */
}
A {
	border-bottom: 2px solid transparent;
	transition: border-bottom-color .3s ease-in-out;
}
A:hover {
	border-bottom-color: var(--fontColor);
}
/* b {
	color: var(--mainColor);
} */

.allcont P A,
#contactform .field.privacy A {
	border-bottom: 2px solid var(--fontColor);
}

#contactform .field.privacy A {
	color: var(--fontColor);
}

.allcont P A:hover,
#contactform .field.privacy A:hover {
	border-bottom: 2px solid var(--mainColor);
}

::-moz-selection {
	background: var(--mainColor);
	text-shadow: none;
	color: var(--contrastColorInverted);
}

::selection {
	background: var(--mainColor);
	text-shadow: none;
	color: var(--contrastColorInverted);
}

hr {
	display: block;
	height: 1px;
	background: var(--backgroundColor);
	margin: 1em 0;
	border: none;
}
table {
	width:auto;
	border-collapse: collapse;
	border-spacing: 0;
}

img, embed, object, video {
	max-width: 100%;
	height: auto;
	width: auto;
}


TEXTAREA,
INPUT,
BUTTON,
SELECT {
	resize: none;
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-ms-box-sizing: border-box;
	border-radius: 0px;
	-moz-border-radius: 0px;
	-webkit-border-radius: 0px;
	-webkit-font-smoothing: inherit;
	font: 16px 'Montserrat', Arial, Verdana, Sans-serif;
	color: var(--fontColor);
	padding: 10px;
	border: 0;
	border-bottom: 1px solid #d6d6d6;
	background: #FFF;
	-webkit-appearance: none;
	-moz-appearance: none;
	-ms-appearance: none;
	-o-appearance: none;
	appearance: none;
}

TEXTAREA {
	border: 1px solid #d6d6d6;
}

SELECT {
	position: relative;
	cursor: pointer;
	outline: none;
	-o-text-overflow: '';
	text-overflow: '';
}

select::-ms-expand {
	display: none;
}

BUTTON {
	border: none;
	cursor: pointer;
}

INPUT[type=text],
INPUT[type=tel],
TEXTAREA,
INPUT[type=password],
INPUT[type=email],
SELECT,
BUTTON {
	width: 100%;
}


INPUT[type=checkbox] {
	border: 1px solid #d6d6d6;
	padding: 0;
	width: 25px;
	height: 25px;
	overflow: hidden;
}

INPUT[type=checkbox]:focus {
	border-bottom-color: #d6d6d6;
}

INPUT[type=checkbox]:checked {
	border-color: #000;
	position: relative;
}

INPUT[type=checkbox]:checked:after,
INPUT[type=checkbox]:checked:before {
	content: "";
	display: block;
	width: 1px;
	height: 19px;
	background: #000;
	position: absolute;
	top: 2px;
	left: 11px;
	-moz-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	-o-transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

INPUT[type=checkbox]:checked:before {
	-moz-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	-o-transform: rotate(-45deg);
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}

INPUT[type=radio] {
	padding: 4px;
	line-height: normal;
	vertical-align: middle;
	-webkit-border-radius: 100%;
	-moz-border-radius: 100%;
	border-radius: 100%;
}

INPUT[type=submit],
INPUT[type=reset],
.button {
	text-transform: uppercase;
	display: inline-block;
	border: 2px solid var(--fontColor) !important;
	color: var(--fontColor);
	padding: 15px 40px;
	font-size: 16px;
	font-weight: 600;
}

@media all and (min-width: 861px) {
	.reduced_width {
		width: 80%;
	}
}

INPUT[type=submit]:hover,
INPUT[type=reset]:hover,
.button:hover {
	color: #fff;
	border-color: var(--fontColor);
	text-decoration: none;
	cursor: pointer;
	background-color: var(--fontColor);
}

p > .button {
	margin-top: 30px;
}

INPUT:focus,
SELECT:focus {
	border-bottom-color: var(--mainColor);
}

INPUT:-webkit-autofill,
TEXTAREA:-webkit-autofill {
	box-shadow: 0 0 0 1000px #FFF inset;
	-webkit-box-shadow: 0 0 0 1000px #FFF inset;
	-webkit-text-fill-color: #000;
}

::-webkit-input-placeholder {
	color: #666;
}

:-moz-placeholder {
	opacity: 1;
	color: #666;
}

::-moz-placeholder {
	opacity: 1;
	color: #666;
}

:-ms-input-placeholder {
	color: #666;
}

/*Blockstile*/
P.align-center,
H1.align-center,
H2.align-center,
H3.align-center,
H4.align-center,
H5.align-center,
A.align-center,
P A.align-center {
	text-align: center;
}

@media all and (max-width: 860px) {
	.allcont p.align-center {
		text-align: left;
	}
}

P.align-right,
H1.align-right,
H2.align-right,
H3.align-right,
H4.align-right,
H5.align-right,
A.align-right,
P A.align-right {
	text-align: right;
}

P.align-justify,
H1.align-justify,
H2.align-justify,
H3.align-justify,
H4.align-justify,
H5.align-justify,
A.align-justify,
P A.align-justify {
	text-align: justify;
}

/*Textstile*/


.smalltext {
	font-size: 15px;
}

.facebook,
.instagram,
.button,
#kontaktform {
	-webkit-transition: all 0.2s ease-in-out;
	-moz-transition: all 0.2s ease-in-out;
	-o-transition: all 0.2s ease-in-out;
	transition: all 0.2s ease-in-out;
}

/*Template*/
BODY {
	font: 16px 'Montserrat', Arial, Verdana, Sans-serif;
	line-height: 30px;
	color: var(--fontColor);
	background: #fff;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	-webkit-text-size-adjust: none;
	-moz-text-size-adjust: none;
	-ms-text-size-adjust: none;
	display: -webkit-box;
	display: -webkit-flex;
	display: -moz-box;
	display: -ms-flexbox;
	display: flex;
	min-height: 100vh;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-webkit-flex-direction: column;
	-moz-box-orient: vertical;
	-moz-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
}

#site {
	-webkit-box-flex: 1;
	-webkit-flex: 1 0 auto;
	-moz-box-flex: 1;
	-ms-flex: 1 0 auto;
	flex: 1 0 auto;
}

/* head */
.head {
	position: fixed;
	z-index: 999;
	width: 100%;
	background: #fff;
	padding: 20px 0;
	box-shadow: 1px 3px 12px 3px rgba(0, 0, 0, 0.06);
}

.head .inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.nav {
	list-style-type: none;
	display: flex;
	align-items: center;
	gap: 20px;
}
.nav > li {
	list-style: none;
	position: relative;
}
.nav > li a {
	display: block;
	text-decoration: none;
	color: var(--fontColor);
	font-weight: 500;
}
.nav > li > a {
	padding: 5px 0;
	position: relative;
}

@media all and (max-width: 1280px) {
	.main-nav {
		display: none;
	} 

	.hamburger {
		position: relative;
		display: block;
		height: 50px;
		width: 50px;
		cursor: pointer;
		transition: all ease-in-out .3s;
	}
	.hamburger-line {
		position: absolute;
		left: 50%;
		top: 50%;
		transform: translateX(-50%) translateY(-50%);
		display: block;
		width: 40px;
		height: 3px;
		background: var(--mainColor);
		transition: all .3s ease-in-out;
	}
	.hamburger-line:first-child {
		transform: translateX(-50%) translateY(calc(-1 * 7px - 3px));
	}
	.hamburger-line:last-child {
		transform: translateX(-50%) translateY(7px);
	}
	.hamburger.is-active .hamburger-line {
		width: 40px;
	}
	.hamburger.is-active .hamburger-line:first-child {
		transform: translateX(-50%) translateY(0) rotate(-45deg);
	}
	.hamburger.is-active .hamburger-line:nth-child(2) {
		opacity: 0;
	}
	.hamburger.is-active .hamburger-line:last-child {
		transform: translateX(-50%) translateY(0) rotate(45deg);
	}

	.open_nav {
		display: inherit;
	}
	.head > .inner {
		position: static;
	}
	.head > .inner .main-nav {
		display: none;
		position: fixed;
		top: 90px;
		left: 0;
		width: 100%;
		overflow: scroll;
		max-height: calc(100dvh - 90px);
	}
	.head > .inner .main-nav .nav {
		flex-direction: column;
		gap: 0;
	}
	.head > .inner .main-nav .nav li {
		width: 100%;
		position: relative;
	}
	.head > .inner .main-nav .nav li:hover > a::after, .head > .inner .main-nav .nav li.over > a::after {
		display: none !important;
	}
	.head > .inner .main-nav .nav li:hover > a, .head > .inner .main-nav .nav li.over > a, .head > .inner .main-nav .nav li.active > a, .head > .inner .main-nav .nav li.act > a {
		color: var(--mainColor);
	}
	.head > .inner .main-nav .nav li a {
		background-color: var(--backgroundColor);
		padding: 20px;
	}

	.head > .inner .main-nav .nav li a span {
		max-width: var(--maxWidth);
		width: var(--baseWidth);
		margin: 0 auto;
		display: block;
	}  
}

/*Subhead*/
/* .subhead {
	width: 100%;
	position: relative;
	line-height: 0;
	overflow: hidden;
}	

.subhead .text {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
	z-index: 99;
	width: var(--baseWidth);
	max-width: 900px;
	margin: 0 auto;
	color: #fff;
}

.subhead .text p,
.subhead .text b,
.subhead .text span {
	color: #fff;
}

.subhead .frame IMG {
	width: 100%;
	height: 85vh;
	object-fit: cover;
	min-height: 500px;
}

.subhead:before {
	content: "";
	display: block;
	height: 120%;
	width: 120%;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	background: radial-gradient(circle, rgba(69,123,157,1) 0%, rgba(69,123,157,0) 100%);
	opacity: .55;
} */

.cont {
	padding: 130px 0 0;
}

.cont .frame:not(.small) {
	margin-bottom: 30px;
}

span.anchor {
	display: block;
	height: 0;
	position: relative;
	top: -120px;
}

/*Layouts -----------------------------------------*/
.foot > .inner,
.head > .inner {
	width: var(--baseWidth);
	max-width: var(--maxWidth);
	margin-left: auto;
	margin-right: auto;
}
.cont > .frame {
	width: var(--baseWidth);
	max-width: var(--maxWidth);
	margin-left: auto;
	margin-right: auto;
}
.cont > .frame-small {
	max-width: var(--minWidth);
}

.cont > .frame.small {
	max-width: var(--reducedWidth);
}
.cont > .frame.full_width {
	max-width: none;
	width: 100%;
}
.cont > .frame.full_width_limit_content {
	max-width: none;
	width: 100%;
	background: var(--backgroundColor);
	padding: 40px 0;
}
.cont > .frame.full_width_limit_content > .inner {
	width: var(--baseWidth);
	max-width: var(--maxWidth);
	margin-left: auto;
	margin-right: auto;
}

/*Foot*/
.foot {
	background: var(--backgroundColor);
	font-size: 15px;
}

.foot .inner {
	padding: 10px 0 30px;
}

/* .foot A {
	color: var(--contrastColorInverted);
} */

.foot P {
	padding: 0;
}

.copy,
.footnav {
	display: inline;
}

.copy {
	margin-right: 20px;
}

.foot .col1 {
	line-height: 40px;
}

.foot .col1 .footnav A {
	padding: 0 20px;
	display: inline-block;
}

.foot A.social {
	display: inline-block;
	width: 40px;
	height: 40px;
	background: url(../img/social.svg) no-repeat 0 0;
	-webkit-background-size: auto 40px;
	-moz-background-size: auto 40px;
	-o-background-size: auto 40px;
	background-size: auto 40px;
}

.foot A.social:hover {
	opacity: 0.8;
}

.foot A.social span {
	display: none;
}

.foot A.social.instagram {
	background-position: -47px 0;
	margin-left: 20px;
}

/*Listen*/
.allcont UL {
	margin: 5px 0px 10px 25px;
}

.allcont UL LI {
	list-style-type: disc;
	padding: 3px 0px;
}

.allcont OL {
	margin: 5px 0px 10px 18px;
}

.allcont OL LI {
	list-style-type: decimal;
	padding: 3px 0px;
}

/*Tabelle*/
.allcont TABLE {
	margin: 10px 0px 5px;
}

.allcont TABLE TR TD {
	padding: 5px 10px 5px 0px;
}

.allcont TABLE TR TH {
	text-align: left;
	font-weight: normal;
	font-size: 15px;
	color: var(--contrastColorInverted);
	background: var(--mainColor);
	padding: 5px 15px;
	border-right: 1px solid var(--contrastColorInverted);
}

.allcont TABLE.tabelle-basic {
	width: 100%;
}

.allcont TABLE.tabelle-basic TR.even {
	background-color: #e8e8e8;
}

.allcont TABLE.tabelle-basic TR TD {
	padding: 5px 15px;
	border-right: 1px solid #fff;
}

/*Gridelemente*/
/*Allgemein*/
.gridrow {
	display: flex;
	display: -ms-flexbox;
	display: -webkit-flex;
	flex-wrap: wrap;
}
.gridrow.align-middle {
	align-items: center;
}
.grid2cols.images {
	align-items: center;
}
.gridrow .col + .col {
	margin-left: 40px;
}
.grid2cols > .col {
	width: calc(50% - (40px / 2));
}
.grid3cols > .col {
	width: calc((100% / 3) - (2 * 40px / 3));
}
.grid4cols > .col {
	width: calc(25% - (3 * 40px / 4));
}
.col_pos_33-66 > .col.col1 {
	width: calc((100% / 3) - (40px / 2));
}
.col_pos_33-66 > .col.col2 {
	width: calc((100% * 2 / 3) - (40px / 2));
}
.col_pos_66-33 > .col.col1 {
	width: calc((100% * 2 / 3) - (40px / 2));
}
.col_pos_66-33 > .col.col2 {
	width: calc((100% / 3) - (40px / 2));
}
/*special*/
.largetext {
	font-size: 22px;
	line-height: normal;
}

strong,
blockquote footer {
	font-weight: 500;
}
#logo {
	margin: 10px 0;
}
.slogan span {
	color: var(--mainColor);
}

@media all and (max-width: 768px) {
	.largetext {
		font-size: 25px;
	}
}

.floating-image {
	width: 550px;
	height: auto;
	margin-top: 17px;
	/* border-radius: 10px; */
	box-shadow: 1px 3px 12px 3px rgba(0, 0, 0, 0.06);
}

@media all and (min-width: 980px) {
	.floating-image {
		float: right;
		margin-left: 40px;
		margin-bottom: 35px;
	}
}

ul.boxes {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(335px, 1fr));
	gap: var(--spaceBetweenDefault);
	margin: 20px 0 0 0;
	font-weight: 500;
}

ul.boxes li {
	/* border-radius: 10px; */
	padding: var(--spaceBetweenDefault);
	background: #fff;
	list-style: none;
	box-shadow: 1px 3px 12px 3px rgba(0, 0, 0, 0.06);
}

ul.boxes li img {
	width: 27px;
	height: 27px;
	object-fit: contain;
	display: block;
	margin-bottom: 15px;
}

/* slick */
 .slick-dots {
	 list-style: none;
	 display: flex;
	 align-items: center;
	 justify-content: center;
	 gap: 10px;
	 margin: 30px 0 0 5px !important;
}
 .slick-dots li {
	 padding: 0 !important;
	 cursor: pointer;
	 list-style: none !important;
}
 .slick-dots li::before {
	 content: none;
}
 .slick-dots li button {
	 border-radius: 50%;
	 border: 1px solid var(--fontColor);
	 background: var(--fontColor);
	 display: block;
	 height: 10px;
	 width: 10px;
	 outline: none;
	 line-height: 0px;
	 font-size: 0px;
	 color: transparent;
	 cursor: pointer;
	 padding: 0;
	 transition: opacity .3s ease-in-out;
}
 .slick-dots li button:hover, .slick-dots li button:focus {
	 outline: none;
}
 .slick-dots li button:hover,
 .slick-dots li.slick-active button {
	opacity: 0.5;
}
 .slick-dots li::before {
	 content: none !important;
}
 .slick-slider .slick-slide {
	 display: none;
}
 .slick-slider .slick-slide:first-child {
	 display: block;
}
 .slick-slider.slick-initialized .slick-slide {
	 display: block;
}

/* sticky sidenav */
.stickybuttons {
	position: fixed;
	top: 50%;
	right: 0;
	z-index: 8;
	display: flex;
	flex-direction: column;
	pointer-events: none;
	overflow: hidden;
}
@media all and (max-width: 768px) {
	.stickybuttons {
		top: auto;
		bottom: 30px;
   }
}
.stickybuttons li a {
	display: flex;
	align-items: stretch;
	max-width: calc(100vw - 10px);
	background: var(--contrastColorInverted);
	color: var(--fontColor);
	box-shadow: none;
	margin: 7px 0;
	pointer-events: auto;
	transform: translateX(calc(100% - 50px));
	transition: all ease-in-out .3s;

	box-shadow: 0 2px 7px 0 rgba(0, 0, 0, 0.08);
}
@media all and (hover: hover) {
	.stickybuttons li a:hover {
		transform: translateX(0);
   }
}
.stickybuttons li a .image {
	background: var(--contrastColorInverted);
	min-width: 50px;
	min-height: 50px;
	display: flex;
	justify-content: center;
	align-items: center;
}
.stickybuttons li a .image img {
	display: block;
	width: 20px;
	height: 20px;
	object-fit: contain;
}
.stickybuttons li a .text {
	padding: 6px 15px;
	display: flex;
	align-items: center;
}

.stickybuttons li a .text p {
	padding: 0;
}

.impressum-cont,
.datenschutz-cont {
	padding: 60px 0;
}
/*formular*/
.no-js #contactform {
	display: none;
}

#contactform h3 {
	margin-bottom: 30px;
	text-align: center;
}
#contactform .field {
	margin: 5px 0;
	width: 100%;
}
#contactform .field.privacy INPUT {
	margin-right: 5px;
}
#contactform .field.privacy INPUT:hover {
	cursor: pointer;
}
#contactform .field.privacy span {
	position: relative;
	top: -10px;
}
#contactform .field.submit {
	text-align: right;
}
.success_mail H3,
.noscript_mail H3 {
	padding: 50px 4%;
	background: var(--backgroundColor);
}

	/* CSS Mobile Reset */
	/* Responsive Gridelements */
	/* breakpoint normal screen*/
@media all and (max-width: 1024px) {
	.grid4cols .col + .col {
		margin-left: var(--spaceBetweenDefault);
	}
	.grid4cols > .col {
		width: calc(50% - (var(--spaceBetweenDefault) / 2));
		margin-top: var(--spaceBetweenDefault);
	}
	.grid4cols > .col:nth-child(2n + 1){
		margin-left: 0;
	}
}
	/* breakpoint break grid*/
@media all and (max-width: 860px) {
	.grid2cols > .col,
	.grid3cols > .col {
		width: 100%;
	}
	.grid2cols .col + .col,
	.grid3cols .col + .col {
		margin-left: 0;
		margin-top: var(--spaceBetweenDefault);
	}
	.col_pos_33-66 > .col.col1,
	.col_pos_33-66 > .col.col2,
	.col_pos_66-33 > .col.col1,
	.col_pos_66-33 > .col.col2 {
		width: 100%;
	}
	.col_pos_33-66 > .col + .col,
	.col_pos_66-33 > .col + .col {
		margin-left: 0;
		margin-top: var(--spaceBetweenDefault);
	}
	.mobile-no-margin .col + .col,
	#contactform .grid2cols .col + .col {
		margin-top: 0;
	}
	.mobile-no-margin .col UL {
		margin-bottom: 0;
	}
	.mobile-no-margin .col + .col UL {
		margin-top: 0;
	}
	
	.reverse {
		flex-direction: column-reverse;
	}

	.reverse .col2 {
		margin: 0 !important;
	}

	.reverse .col1 {
		margin-top: var(--spaceBetweenDefault) !important;
	}

	.copy, .footnav {
		display: block;
		text-align: center;
		margin-right: 0;
		width: 100%;
	}
}
/* breakpoint break tablet*/
@media screen and (max-width: 768px) {
	.grid4cols > .col {
		width: 100%;
	}
	.grid4cols .col + .col {
		margin-left: 0;
		margin-top: var(--spaceBetweenDefault);
	}
}

/*Ab hier springt er auf 100% breite Elemente (320px)*/
@media all and (max-width: 470px) {

	.cont {
		padding: 130px 0 0;
	}
	h1 {
		font-size: 24px;
		margin-bottom: 0;
	}
	h2 {
		font-size: 22px;
	}
	H3 {
		font-size: 20px;
	}

}
