/*
CONTENTS:
1:  Basics
2:  Text
3:  Overlay
4:  Header
5:  Layout/Design
6:  Main
7:  Forms
8:  Tables
9:  Interactive
10: Other
11: Footer
*/
/*////////////////////////////////////////////////// BASICS /////////////////////////////////////////////////*/
html { 
	box-sizing: border-box; 
}

*, *:before, *:after { 
	box-sizing: inherit;
}

body  {   
	margin: 0px;
	overflow-x: hidden; 
	color: #000000; 
	font-size: 18px; 
	line-height: 24px; 
	letter-spacing: 0.05em;
	font-weight: 400; 
	font-family: 'Bariol', Helvetica, Arial, sans-serif; 
	background-color: #fff;
	scroll-behavior: smooth;
}

main {
	overflow-x: hidden;
	margin-top: 68px
}

section {
	margin-bottom: 60px;
}

.content	{ 
	max-width: 1120px; 
	margin: auto; 
	-webkit-transition: 0.4s ease-in-out; 
	-moz-transition: 0.4s ease-in-out; 
	transition: 0.4s ease-in-out; 
}

img { border: none }

.flex { 
	display: flex; 
	flex-wrap: wrap;
}

.showDesktop { display: block }
.showMobile { display: none }

/* SCROLLING ANIMATIONS -------------------------------------------------------*/
.fadeUp {
	opacity: 0;
	translate: 0 30%;
	transition: all ease-in-out 0.4s;
}

.fadeDown {
	opacity: 0;
	translate: 0 -30%;
	transition: all ease-in-out 0.4s;
}

.fadeLeft {
	opacity: 0;
	translate: 30% 0;
	transition: all ease-in-out 0.4s;
}

.fadeRight {
	opacity: 0;
	translate: -30% 0;
	transition: all ease-in-out 0.4s;
}

.fadeUp.active,
.fadeDown.active,
.fadeLeft.active,
.fadeRight.active {
	opacity: 1;
	translate: 0;
	transition: all ease-in-out 0.4s;
}

/*/////////////////////////////////////////////////// TEXT //////////////////////////////////////////////////*/
/* FONTS ----------------------------------------------------------------------*/
@font-face {
  font-family:	'Bariol';
  src:					url('../fonts/Bariol-Regular.woff2') format('woff2'),
								url('../fonts/Bariol-Regular.woff') format('woff'),
								local("?");
  font-weight:	400;
  font-style:		normal;
  font-display: swap;
}

@font-face {
  font-family:	'Bariol';
  src:					url('../fonts/Bariol-Bold.woff2') format('woff2'),
								url('../fonts/Bariol-Bold.woff') format('woff'),
								local("?");
  font-weight:	700;
  font-style:		normal;
  font-display: swap;
}

@font-face {
	font-family:	'Grooving';
  src:					url('../fonts/Grooving.woff2') format('woff2'),
								url('../fonts/Grooving.woff') format('woff'),
								local("?");
  font-weight:	500;
  font-style:		normal;
  font-display: swap;
}

/* TEXT -----------------------------------------------------------------------*/
h1 {
	margin: 0px; 	
  font-size: 45px;
  font-weight: 400;
  line-height: 1.1;
  color: #159a34;
}

h1 b {
	display: block;
  font-size: 70px;
  color: #0f1b44;
}

h2 { 
	font-size: 42px; 
	line-height: 62px; 
	font-weight: 400; 
	color: #159a34;
}

h2 b {
	display: block;
  font-size: 68px;
  color: #0f1b44;
}

h3 { 
	margin: 0px; 
	font-size: 30px; 
	line-height: 46px; 
	font-weight: 400; 
}

h4 { 
	margin: 0px; 
	font-size: 28px; 
	line-height: 38px; 
	font-weight: 400
}

.heading {
	margin: 25px 0;
	color: #fff;
	text-transform: uppercase;
}

.heading h2,
.breaker.petrol .heading h2 {
	width: fit-content;
	margin: 2px 0;
	padding: 0 12px;
	color: #fff;
	background: #23305f;
}

.heading h3,
.breaker.petrol .heading h3 {
	width: fit-content;
	margin: 2px 0;
	padding: 0 12px;
	color: #fff;
	background: #159a34;
}

ul { 
	padding: 0px 0px 0px 10px; 
	margin: 10px 0px 10px 10px; 
	list-style-type: square; 
}

ol { 
	padding: 0px 0px 0px 10px; 
	margin: 10px 0px 10px 10px; 
}

b { font-weight: 700 }

a { 
	color: #000000; 
	text-decoration: none 
}

p {
	font-size: 18px;
	letter-spacing: 0;
}

hr {
  border: none;
	border-top: 1px solid #d1dfdf;
}

/* BUTTONS --------------------------------------------------------------------*/
.btn {
	display: inline-block;
  width: auto;
  padding: 10px 40px 10px calc(40px + .2em);
  cursor: pointer;
  font-size: 18px;
  font-weight: 600;
  line-height: 2;
  border-radius: 0;
  border: 2px solid #0f1b44;
  border-radius: 3px;
  text-align: center;
  background: none;
  color: #0f1b44;
  -webkit-transition: .3s;
  -moz-transition: .3s;
  transition: .3s;
}

.btn:hover {
	background: #0f1b44;
  color: #fff;
}

/*///////////////////////////////////////////////// OVERLAY /////////////////////////////////////////////////*/
/* PRELOADER ------------------------------------------------------------------*/
div.preloader { 
	position: fixed;
	z-index: 6000; 
	left: 0%; 
	top: 0%; 
	width: 100%; 
	height: 100%; 
	background: #ffffff;
}

div.preloader:before  { 
	display: block; 
	position: absolute; 
	left: 50%; 
	top: 50%; 
	width: 200px; 
	height: 200px; 
	background: url(../images/layout/preloader.svg) no-repeat center; 
	background-size: 80%; content: ''; 
	-webkit-transform: translate(-50%,-50%); 
	-moz-transform: translate(-50%,-50%); 
	transform: translate(-50%,-50%); 
}

/* COOKIE MANAGER -------------------------------------------------------------*/
a.show_cookiemanager { 
	z-index: 1000; 
	left: 40px; 
	bottom: 40px; 
	width: 60px; 
	height: 60px; 
	background: none; 
	border-radius: 3px; 
	-webkit-transition: 0.2s ease-in-out; 
	-moz-transition: 0.2s ease-in-out;
	 transition: 0.2s ease-in-out; 
}

a.show_cookiemanager:hover { 
	background: #159931 
}

a.show_cookiemanager svg path { 
	fill: none; 
	stroke: #dddddd; 
	stroke-width: 0.8; 
}

/* SCROLL TOP/DOWN ------------------------------------------------------------*/
div.scrolltop { 
	display: none; 
	position: fixed; 
	z-index: 1000; 
	right: 110px; 
	bottom: 40px;
}

div.scrolltop a { 
	display: block; 
	float: left; 
	width: 60px; 
	height: 60px; 
	border-radius: 3px; 
	background: url(../images/layout/up.svg) no-repeat center; 
	background-size: 66.6666%; 
	-webkit-transition: 0.2s ease-in-out; 
	-moz-transition: 0.2s ease-in-out; 
	transition: 0.2s ease-in-out; 
}

div.scrolltop a:hover { 
	background-color: #159931 
}

div.scrolldown {
	display: block;
	position: fixed; 
	z-index: 1000; 
	right: 110px; 
	bottom: 40px; 
}

div.scrolldown a { 
	display: block; 
	float: left; 
	width: 60px; 
	height: 60px; 
	border-radius: 3px; 
	background: url(../images/layout/scrolldown.svg) no-repeat center; 
	background-size: 66.6666%; 
	-webkit-transition: 0.2s ease-in-out; 
	-moz-transition: 0.2s ease-in-out; 
	transition: 0.2s ease-in-out; 
}

div.scrolldown a:hover { background-color: #159931 }

/* DIGITAL ASSISTENT ----------------------------------------------------------*/
/* Assistant opening button */
div.show_assistant {
	position: fixed;
	right: 90px;
  bottom: 120px;
  z-index: 900;
  animation: rollIn 1s linear;
  transition: all ease-in-out 0.3s;
}

div.show_assistant:hover {
	cursor: pointer;
	transform: scale(1.1) rotate(25deg);
	transition: all ease-in-out 0.3s;	
}

div.show_assistant img {
	width: 100px;
	filter: drop-shadow(0 0 5px rgba(0,0,0,0.1));
}

/* Assistant Layout */
div#assistant { 
	display: none; 
	position: fixed; 
	z-index: 10000; 
	right: 180px; 
	bottom: 0px; 
	width: 480px;
	max-height: 100%; 
	overflow: auto; 
	padding: 40px;
	background: #ffffff; 
	outline: solid 2px #dddddd;
	scroll-behavior: smooth; 
	-ms-overflow-style: none; 
	scrollbar-width: none, 
}

div#assistant #close_it { 
	position: absolute; 
	right: 40px; 
	top: 40px; 
	width: 40px; 
	height: 40px; 
	background: #159a34 url(../images/layout/close.svg) no-repeat center; 
	background-size: 80%; 
	cursor: pointer; 
	-webkit-appearance: none; 
	-webkit-transition: 0.2s ease-in-out; 
	-moz-transition: 0.2s ease-in-out; 
	transition: 0.2s ease-in-out, 
}

div#assistant #close_it:hover { 
	background-color: #000000 
}

div#assistant #header {
	width: 100%; 
	border-bottom: solid 2px #dddddd; 
	padding: 10px 0px 20px 100px; 
	background: url(../images/layout/rock.svg) no-repeat left top; 
	background-size: 80px; 
	font-size: 18px; 
	line-height: 18px; 
	text-transform: uppercase; 
}

div#assistant #header span { 
	display: block; 
	font-size: 36px; 
	line-height: 36px; 
	font-family: 'Grooving', Helvetica, Arial, sans-serif;
}

div#assistant #toggle_messages { 
	width: fit-content;
	margin: 20px 0;
	padding: 15px 20px; 
	background: #159a34;  
	color: #ffffff; 
	line-height: 14px; 
	cursor: pointer; 
	-webkit-appearance: none; 
	-webkit-transition: 0.2s ease-in-out; 
	-moz-transition: 0.2s ease-in-out; 
	transition: 0.2s ease-in-out 
}

div#assistant #toggle_messages:hover { background: #000000 }

/* Assistant messages */
div#assistant #messages {  
	width: 100%; 
}

div#assistant #messages div { 
	position: relative; 
	width: 100%; 
	padding: 20px; 
	background: #dddddd; 
}

div#assistant #messages div:before { 
	display: block; 
	position: absolute; 
	z-index: -1; 
	left: 30px; 
	bottom: -10px;
	width: 30px; 
	height: 60px; 
	background: #dddddd; 
	-webkit-transform: rotate(45deg) skewY(30deg); 
	-moz-transform: rotate(45deg) skewY(30deg); 
	transform: rotate(45deg) skewY(30deg); 
	content: '';
}

div#assistant #messages div label { 
	display: block; 
	position: relative;
	align-content: center;
	min-height: 25px;
	margin: 15px 0; 	
	padding: 0px 0px 0px 32px; 
}

div#assistant #messages div label:last-of-type {
	margin-bottom: 0;
}

div#assistant #messages div label input[type=radio] + b,
div#assistant #messages div label input[type=checkbox] + b { 
	display: block; 
	position: absolute;  
	top: 0;
	bottom: 0;
	left: 0;
	width: 25px; 
	height: 25px;
	margin: auto;
	background-color: #ffffff; 
	background-repeat: no-repeat; 
	background-position: center; 
	background-size: contain; 
	border: solid 2px #ffffff;
}

div#assistant #messages div label input[type=radio] + b {
	border-radius: 50%; 	
}

div#assistant #messages div label input[type=radio]:checked + b { 
	background-image: url(../images/layout/radio.svg); 
}

div#assistant #messages div label input[type=checkbox]:checked + b { 
	background-image: url(../images/layout/checkbox.svg); 
}
/*
div#assistant #messages div textarea,
div#assistant #messages div input[type=date],
div#assistant #messages div input[type=file],
div#assistant #messages div input[type=text],
div#assistant #messages div span,
div#assistant #messages div h4 { 
	display: block; 
	width: calc(100% - 20px);
	border-color: #ffffff; 
	margin: 10px; 
}
*/
div#assistant #messages div h4 img { 
	display: block; 
	width: 100%; 
	margin: 20px 0px 0px 0px; 
}

div#assistant #messages div b.cta { 
	display: block; 
	padding: 18px 40px 18px 40px; 
	background: #159a34;
	margin: 10px; 
	color: #ffffff; 
	line-height: 14px; 
	text-transform: uppercase; 
	letter-spacing: 0.2em; 
	-webkit-transition: 0.2s ease-in-out; 
	-moz-transition: 0.2s ease-in-out; 
	transition: 0.2s ease-in-out; 
	cursor: pointer;
}

div#assistant #messages div b.cta:hover { background: #000000 }

/* MOBILE NAVIGATION SWITCH ---------------------------------------------------*/
div.switch { 
	display: none; 
	position: fixed; 
	z-index: 5000; 
	top: 0;
	right: 0; 
	width: 60px; 
	height: 60px; 
	transform: scale(0.6);
	cursor: pointer; 
	-webkit-transition: 0.4s ease-in-out; 
	-moz-transition: 0.4s ease-in-out; 
	transition: 0.4s ease-in-out 
}

div.switch:hover { background: #159a34 }

div.switch span  { 
	display: block; 
	position: absolute; 
	left: 15px; 
	height: 2px; 
	background: #ffffff; 
	-webkit-transition: 0.2s ease-in-out; 
	-moz-transition: 0.2s ease-in-out;
	transition: 0.2s ease-in-out 
}

div.switch span:nth-child(1) { 
	top: 19px; 
	width: 30px 
}

div.switch span:nth-child(2),
div.switch span:nth-child(3) { 
	top: 29px; 
	width: 15px 
}

div.switch span:nth-child(4) { 
	top: 39px; 
	width: 22.5px 
}

div.switch.active { 
	background: #159a34 
}

div.switch.active span:nth-child(1),
div.switch.active span:nth-child(4) { 
	top: 29px; 
	width: 0%; 
	left: 50% 
}

div.switch.active span:nth-child(2) { 
	width: 30px;
	 -webkit-transform: rotate(45deg); 
	 -moz-transform: rotate(45deg); 
	 transform: rotate(45deg) 
}

div.switch.active span:nth-child(3) { 
	width: 30px; 
	-webkit-transform: rotate(-45deg); 
	-moz-transform: rotate(-45deg); 
	transform: rotate(-45deg)
}

/*////////////////////////////////////////////////// HEADER /////////////////////////////////////////////////*/
header {
	display: flex;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 1000;
}

/* MAIN NAVIGATION ------------------------------------------------------------*/
nav#mainNav {
	display: flex;
	width: 100%;
	background: transparent;
	transition: all ease-in-out 0.4s;
}

#mainNav.flat {
	transition: all ease-in-out 0.4s;
}

#mainNav span.background {
	position: absolute;
	top: 0;
	left: 0;
  width: 100%;
  height: 100%;
  background-image: linear-gradient(60deg, #489699, #76b799);
  background-color: transparent;
  transition: all ease-in-out 0.4s;
}

#mainNav.flat span.background {
	position: absolute;
  width: 100%;
  background-image: linear-gradient(60deg, #489699, #76b799);
  height: 68px;
  transition: all ease-in-out 0.4s;
}

#mainNav ul {
	display: flex;
	position: relative;
	width: 100%;
	padding: 30px;
	list-style: none;
	transition: all ease-in-out 0.4s;
}

#mainNav.flat ul {
	padding: 0;
	transition: all ease-in-out 0.4s;
}

#mainNav ul li  {
	display: flex;
	width: 20%;
	margin: 0 auto;
	padding: 15px 0;
	text-align: center;
	transition: all ease-in-out 0.3s;
}

#mainNav ul li a.logo img {
	width: 160px;
	margin: 6px 0 -1px 0;
	transition: all ease-in-out 0.3s;
}

#mainNav ul li a.logo:hover img {
	opacity: 0.5;
	transition: all ease-in-out 0.3s;
}

#mainNav ul li.navPoint a.navPointName {
	width: 100%;
	padding: 10px;
	margin: auto;
	color: #fff;
	font-size: 20px;
	text-align: center;
	transition: all ease-in-out 0.3s;
}

#mainNav ul li.navPoint:hover {
	cursor: pointer;
	transition: all ease-in-out 0.3s;
}

#mainNav ul li.navPoint:hover a.navPointName {
	color: #159a34;
	transition: all ease-in-out 0.3s;
	background-color: #fff;
}

#mainNav ul li.navPoint:hover div.navExpand {
	visibility: visible;
	top: 105px;
	opacity: 1;
	transition: all ease-in-out 0.5s;
}

#mainNav.flat ul li {
	padding: 10px 0 22px 0;
}

#mainNav.flat ul li.navPoint:hover div.navExpand {
	top: 79px;
}

#mainNav .navExpand {
	display: flex;
	visibility: hidden;
	position: absolute;
	top: 140px;
	left: 0;
	width: 1120px;
	min-height: 400px;
	border-radius: 0 0 3px 3px;
	padding: 20px 40px;
	color: #000;
	font-size: 16px;
	text-align: left;
	background: #fff;
	box-shadow: 0 5px 5px rgba(0,0,0,0.1);
	opacity: 0;
	z-index: 999;
}

#mainNav.flat .navExpand {
	top: 60px;
}

#mainNav .navExpand a.navImg {
	width: calc(25% - 30px);
	margin: 0 20px;
	height: 100%;
}

.navExpand a.navImg figure {
	position: relative;
	width: 100%;
	height: 340px;
	margin:0;
	background-position: right center;
	background-size: cover;
}

.navExpand a.navImg figcaption {
	position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 30px;
  text-align: center;
  font-size: 22px;
  color: #fff;
	background: rgba(0,0,0,0.3);
	transition: all ease-in-out 0.2s;
}

.navExpand a.navImg:hover figcaption {
	padding: 30px 30px 50px 30px ;
	transition: all ease-in-out 0.2s;
}

#mainNav .navExpand ul {
	display: block;
	list-style: none;
	width: calc(25% - 30px);
	margin: 0 20px 0 0;
	border-right: 1px solid #ccc;
	padding: 0 20px;
}

#mainNav .navExpand ul li {
	display: flex;
	width: 100%;
	margin: 5px;
	font-size: 18px;
	padding: 0;
	text-align: left;
}

#mainNav .navExpand ul li a {
	width: 100%;
	padding: 10px 0;
	color: #000;
	transition: all ease-in-out 0.2s;
}

#mainNav .navExpand ul li a:hover {
	color: #159a34;
	transition: all ease-in-out 0.2s;
}

/* SIDEBAR/SIDE NAVIGATION ----------------------------------------------------*/
nav#sideNav,
#sideNav.flat:hover {
	position: fixed;
	top: 0;
	right: 0;
	width: 70px;
	height: 100vh;
	background: #fff;
	transition: all ease-in-out 0.4s;
}

#sideNav.flat {
	width: 20px;
	background: #159a34;
}

#sideNav ul,
#sideNav.flat:hover ul {
	list-style: none;
	margin: 10px;
	padding: 0;
	visibility: visible;
	opacity: 1;
	
	transition: all ease-in-out 0.4s;
}

#sideNav #logoSquare {
	display: none;
}

#sideNav.flat #logoSquare {
	display: block;
	width: 15px;
  margin: 8px auto;
}

#sideNav.flat ul {
	visibility: hidden;
	opacity: 0;
	
	transition: all ease-in-out 0.4s;
}

#sideNav ul.shortcuts li {
	display: flex;
	margin: 30px auto;
	padding: 0;
}

#sideNav ul.shortcuts li a {
	margin: auto;
	width: 50px;
	height: 50px;
	background-size: 65%;
	background-position: 50% 50%;
	background-repeat: no-repeat;
	transition: all ease-in-out 0.4s
}

#sideNav ul.shortcuts li a:hover {
	background-color: #23305f38;
	transition: all ease-in-out 0.4s
}

#sideNav ul.shortcuts li a[title="E-Mail"] {
	background-image: url('../images/layout/envelope.svg');
}

#sideNav ul.shortcuts li a[title="Telefon"] {
	background-image: url('../images/layout/phone.svg');
}

#sideNav ul.shortcuts li a[title="Standorte"] {
	background-image: url('../images/layout/pin.svg');
}

#sideNav ul.shortcuts li a[title="Baustoffshop"] {
	background-image: url('../images/layout/cart.svg');
}

#sideNav ul.subShortcuts {
	display: inline-block;
	width: 38px;
  margin: 0 15px 25px 15px !important;
  background: #f4f4f4;
  border-radius: 319px;
}

#sideNav ul.subShortcuts li {
	width: fit-content;
  height: fit-content;
  margin: 15px auto;
	text-align: center;
}

#sideNav ul.subShortcuts li a img {
	width: 20px;
	transition: all ease-in-out 0.3s;
}

#sideNav ul.subShortcuts.socialMedia li a img {
	width: 35px;
}

#sideNav ul.subShortcuts li a:hover img {
	transform: scale(1.3);
	transition: all ease-in-out 0.3s;
}

/*////////////////////////////////////////////// LAYOUT/DESIGN //////////////////////////////////////////////*/
/* PSEUDO HEADER SUBPAGES -----------------------------------------------------*/
.pageName {
	position: relative;
	margin: 0 0 120px 0;
	padding-top: 65px; 
	color: #fff;
}

.pageName::before {
	content: "";
  position: absolute;
  height: 420px;
	width: 110vw;
  transform: rotate(-5deg) translate(0%,-55%);
 	background: url('../images/layout/header_tape.svg');
  background-repeat: no-repeat;
  background-size: cover;
  background-position: bottom;
  z-index: -1;
}

.pageName .content {
	margin: 25px auto;
	transform: rotate(-5deg) translate(-1%,-15px);
}

.pageName ul.breadcrumb {
	display: flex;
	margin: 0;
	padding: 0;
	list-style: none;
}

.pageName ul.breadcrumb a {
	color: #159a34;
	transition: all ease-in-out 0.2s;
}

.pageName ul.breadcrumb li:nth-child(n) a::before {
	content: "> ";
	margin-left: 5px;
}

.pageName ul.breadcrumb li:first-child a::before {
	content: "";
	margin-left: 0px;
}

.pageName ul.breadcrumb a:hover {
	color: #000d3e;
	transition: all ease-in-out 0.2s;
}

.pageName h1 {
	margin: 5px 0;
	color: #fff; 
	font-size: 74px;
	line-height: 0.9;
	font-weight: bold;
}
 
.pageName h3 {
	color: #fff;
}

/* BREAKER --------------------------------------------------------------------*/
.breaker {
	margin: 60px 0;
	padding: 70px 0;
}

.breaker.petrol {
	position: relative;
  margin-top: 0;
  background: linear-gradient(60deg,#489699,#5fa799 25%,#5fa799 75%,#76b799 100%);
  color: #fff;
}

.breaker.petrol h1, .breaker.petrol h2, .breaker.petrol h3, .breaker.petrol h4 {
	color: #0f1b44;
}

.breaker.petrol h1 b, .breaker.petrol h2 b, .breaker.petrol h3 b {
	color: #fff;
}

.breaker.petrol .content .cols .col a p {
	color: #fff;
	font-size: 24px;
	font-weight: bold;
}

.breaker.petrol-light {
	position: relative;
  margin-top: 0;
  background: linear-gradient(60deg,#48969940,#76b79924 100%);
  color: #23305f;
}

.breaker.vid {
	overflow: hidden;
  position: relative;
  min-height: 500px;
}

.breaker.vid.befLeft:before,
.breaker.vid.befRight:before {
	content: '';
	display: block;
	position: absolute;
  top: 0;
  width: 60%;
  height: 100%;
  background: linear-gradient(90deg, #ffffffab 50%, transparent);
  z-index: 2;
}

.breaker.vid.befLeft { left: 0;}
.breaker.vid.befRight { right: 0;}

.breaker.vid .content {
	position: relative;
	z-index: 3;
}

.breaker.vid video {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100%;
  margin: auto;
  object-fit: cover;
  z-index: 1;
}

.breaker div.grid {
	position: absolute;
  background: url('../images/layout/grid.svg') no-repeat center;
  background-size: auto;
  background-size: contain;
  -moz-filter: opacity(0.2);
  -webkit-filter: opacity(0.2);
  filter: opacity(0.2);
}

.breaker div.grid:first-of-type {
	left: 30px;
  top: 30px;
  width: 350px;
  height: 350px;
	right: 0;
	bottom: 0;
}

.breaker div.grid:nth-of-type(2n) {
	right: 40px;
	bottom: 30px;
	width: 200px;
  height: 200px;
	transform: rotate(180deg);
}

/* COLUMNS --------------------------------------------------------------------*/
/*
 m = column behält Größe auch Mobil bei
 d = column behält Größe nur für Desktop und wechselt mobil zu 100%
 Die Nummerierung sind Brüche ohne Bruchstrich, z. B.: .col.d1/4 = .col.d14 = 25%
*/
.cols {
	display: flex;
	flex-wrap: wrap;
	margin: 0 -20px;
}

.cols .col {
	margin: 20px;	
}

.cols .col.m1, .cols .col.d1,
.cols .col.m22, .cols .col.d22,
.cols .col.m33, .cols .col.d33,
.cols .col.m44, .cols .col.d44,
.cols .col.m55, .cols .col.d55,
.cols .col.m66, .cols .col.d66 {
	width: calc(100% - 40px);
}

.cols .col.m110, .cols .col.d110 {
	width: calc(10% - 40px);
}

.cols .col.m210, .cols .col.d210,
.cols .col.m15, .cols .col.d15 {
	width: calc(20% - 40px);
}

.cols .col.m310, .cols .col.d310 {
	width: calc(30% - 40px);
}

.cols .col.m410, .cols .col.d410,
.cols .col.m25, .cols .col.d25 {
	width: calc(40% - 40px);
}

.cols .col.m12, .cols .col.d12,
.cols .col.m24, .cols .col.d24,
.cols .col.m36, .cols .col.d36,
.cols .col.m510 .cols .col.d510 {
	width: calc(50% - 40px);
}

.cols .col.m610, .cols .col.d610,
.cols .col.m35, .cols .col.d35 {
	width: calc(60% - 40px);
}

.cols .col.m710, .cols .col.d710 {
	width: calc(70% - 40px);
}

.cols .col.m810, .cols .col.d810,
.cols .col.m45, .cols .col.d45 {
	width: calc(80% - 40px);
}

.cols .col.m910, .cols .col.d910 {
	width: calc(90% - 40px);
}

/* viertel */
.cols .col.m14, .cols .col.d14 {
	width: calc(25% - 40px);
}
.cols .col.m34, .cols .col.d34 {
	width: calc(75% - 40px);
}

/* sechstel/drittel */
.cols .col.m16, .cols .col.d16 {
	width: calc(16.666% - 40px);
}

.cols .col.m26, .cols .col.d26,
.cols .col.m13, .cols .col.d13 {
	width: calc(33.333% - 40px);
}

.cols .col.m46, .cols .col.d46,
.cols .col.m23, .cols .col.d23 {
	width: calc(66.666% - 40px);
}

.cols .col.m56, .cols .col.d56 {
	width: calc(83.333% - 40px);
}

.cols .col img,
.cols .col video,
.cols .col svg {
	max-width: 100%;
}

/*/////////////////////////////////////////////////// MAIN //////////////////////////////////////////////////*/

/* CARDS ----------------------------------------------------------------------*/
.cards {
  display: grid;
  grid-template-columns:33% 33% 33%;
  grid-row-gap: 30px;  
  grid-column-gap: 30px;
}

.cards .card {
	display: flex;
	margin: 0;
	border-radius: 5px;
	align-content: center;
	background: #fff;
  box-shadow: 0 0 10px rgba(0,0,0,0.2);
}

.cards .card .cardIco {
	display: block;
	position: relative;
	height: fit-content;
	z-index: 1;
}

.cards .card .cardIco:before,
.cards .card .cardIco:after {
	content: '';
	display: block;
	position: absolute;
  top: -10%;
  left: -10%;
  width: 120%;
  height: 120%;
  border-radius: 3px;
	background: #159a34;
	opacity: 0.15;
	z-index: -1;
	-webkit-transition: all ease-in-out 0.3s;
	-moz-transition: all ease-in-out 0.3s;
	transition: all ease-in-out 0.3s;		
}

.cards .card:hover .cardIco:before {
	top: -20%;
  left: -20%;
  opacity: 0.3;
	-webkit-transition: all ease-in-out 0.3s;
	-moz-transition: all ease-in-out 0.3s;
	transition: all ease-in-out 0.3s;	
}

.cards .card:hover .cardIco:after {
	top: 0%;
  left: 0%;
	background: #0f1b44;
	opacity: 0.3;
	-webkit-transition: all ease-in-out 0.3s;
	-moz-transition: all ease-in-out 0.3s;
	transition: all ease-in-out 0.3s;	
}

.cards .card .cardIco img {
	display: block;
	max-width: 50px;
	margin: auto;
}

/* HIGHLIGHT BOX --------------------------------------------------------------*/
.highlight {
	display: flex;
	position: relative;
	margin: 40px 0;
	padding: 40px 0;
	color: #fff;
}

.highlight::before {
	z-index: -1;
  content: "";
  width: 75%;
	height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background-color: #0f1b44;
}

.highlight .large {
	width: calc(60% - 60px);
	margin: auto 60px;
	background-color: #0f1b44;
}

.highlight .large * {
	color: #fff;
	line-height: 1.2;
} 

.highlight .large .btn {
  color: #fff;
  border: 2px solid #fff;
}

.highlight .large .btn:hover {
  color: #23305f;
  border: 2px solid #fff;
  background: #fff;
}

.highlight .small {
	width: 40%;
	margin: auto;
	background-color: transparent;
}

.highlight .small img {
	width: 100%;
}

.highlight .small.text {
	padding: 15px 20px;
	color: #0f1b44;
	text-align: right;
	background-color: #eee;	
}

/* flipped version */

.highlight.right::before {
	right: 0;
	left: auto;
}

.highlight.right .large {
	text-align: right;
}

/* FADE-IN ICONS/MARKUP ICONS -------------------------------------------------*/
.markupIcon {
	position: relative;
	display: flex;
	min-height: 45px;
	margin: 10px auto;
}

.markupIcon::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 45px;
	height: 45px;
	margin: auto;
	z-index: -1;
	background-color: transparent;
	background-size: contain;
	background-repeat: no-repeat;
	opacity: 0;
	transition: all ease-in-out 0.4s;
}

.markupIcon.boxes::before {
	background-image: url('../images/layout/boxes.svg')
}

.markupIcon.germany::before {
	background-image: url('../images/layout/germany.svg')
}

.markupIcon.truck::before {
	background-image: url('../images/layout/truck.svg')
}

.markupIcon span {
	width: 0;
  margin: auto 0 auto auto;
  font-size: 18px;
  font-weight: bold;
  text-align: left;
 	opacity: 0;
  transition: all ease-in-out 0.4s;
}

.markupIcon.active::before {
	left: calc(50% - 22px);
	opacity: 1;
	transition: all ease-in-out 0.4s;
}

.markupIcon.active span {
	width: 50%;
	opacity: 1;
	transition: all ease-in-out 0.4s;
}

/* TILES ----------------------------------------------------------------------*/
.tiles {
	float: none;
  width: calc(100% + 40px);
  margin: 20px 0 20px -20px;
}

.tiles:after {
	display: block;
	content: '';
	float: none;
	clear: both;
	width: 100%;
}

.tiles .tile {
	float: left;
	position: relative;
	margin: 20px;
	border-radius: 3px;
	background-color: rgba(0,0,0,0.5);
	background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.tiles .tile.logo_icon {
  background-color: #ffffff;
  background-size: auto;
  box-shadow: inset 0px 0px 40px rgba(0,0,0,0.2);
}

.tiles .tile.tile_xl {
	width: 540px;
	height: 540px;
}

.tiles .tile.tile_l {
	width: 540px;
	height: 250px;
}

.tiles .tile.tile_ml {
	width: 540px;
	height: 315px;
}

.tiles .tile.tile_m {
	width: calc(33.3333% - 40px);
	height: 192px;
}

.tiles .tile.tile_mm {
	width: calc(33.3333% - 40px);
	height: 315px;
}

.tiles .tile.tile_s {
	width: 250px;
	height: 250px;
}

.tiles .tile span {
	position: absolute;
  width: calc(100% - 20px);
  height: calc(100% - 40px);
  top: 20px;
  left: 0;
  margin: 10px;
  border-radius: 3px;
  background: #23305f;
  opacity: 0;
  transition: all ease-in-out 0.4s;
}

.tiles .tile:hover span {
	top: 0;
	height: calc(100% - 20px);
  opacity: 0.7;
  transition: all ease-in-out 0.4s;
}

.tiles .tile div {
	position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  padding: 30px 30px 50px;
  color: #fff;
  text-align: center;
  transition: all ease-in-out 0.4s;
	background-image: linear-gradient(transparent,rgba(0,0,0,0.3)80%);
}

.tiles .tile.logo_icon div {
  padding: 10px 30px 10px 30px;
	background-image: none;
  color: #000;
}

.tiles .tile.logo_icon:hover div {
  color: #fff;
}

.tiles .tile div .info,
.tiles .tile div p {
	visibility: hidden;
	height: 0;
	margin: 10px 0 0 0;
	font-size: 18px;
	line-height: 1.1;
	opacity: 0;
	transition: all ease-in-out 0.2s;
}

.tiles .tile:hover div {
	bottom: 50%;
	background-image: none;
	-webkit-transform: translateY(50%);
  -moz-transform: translateY(50%);
  -ms-transform: translateY(50%);
	transform: translateY(50%);
  transition: all ease-in-out 0.4s;
}

.tiles .tile:hover div.full {
	bottom: 100%;
	background-image: none;
	-webkit-transform: translateY(100%);
  -moz-transform: translateY(100%);
  -ms-transform: translateY(100%);
	transform: translateY(100%);
}

.tiles .tile:hover div .info, 
.tiles .tile:hover div p {
	visibility: visible;
  opacity: 1;		
	transition: all ease-in-out 0.4s;
}

.tiles .tile div .info table,
.tiles .tile div .info ul,
.tiles .tile div .info p {
	margin: auto;
	text-align: left;
}

/* TIMELINE -------------------------------------------------------------------*/
.timeline	{ 
	position: relative; 
	z-index: 1; 
	width: calc(100% - 80px); 
	padding: 0px; 
	margin: 40px; 
	list-style: none 
}

ul.timeline::after { 
	content: ''; 
	position: absolute; 
	width: 6px; 
	background-color: #ddd; 
	top: 0; 
	bottom: 0; 
	left: 50%; 
	margin-left: -3px; 
}

ul.timeline li { 
	position: relative; 
	width: 46.5%; 
	margin: -15px 0; 
	border-radius: 5px 0 5px 5px;  
	padding: 25px; 
	background: #f4f4f4; 
	z-index: 5; 
	-webkit-transition: all ease-in-out; 
	-moz-transition: 0.2s ease-in-out; 
	transition: all ease-in-out 0.2s; 
}

ul.timeline li h4, 
ul.timeline li h5, 
ul.timeline li p { 	
	margin: 5px 0; 
}

ul.timeline article	{ 
	margin: 15px 5px; 
}

ul.timeline li p { 
	opacity: 0.8; 
}

ul.timeline li:hover { 
	background: #d7e8e7;
	-webkit-transition: all ease-in-out; 
	-moz-transition: 0.2s ease-in-out; 
	transition: all ease-in-out 0.2s;	
}

ul.timeline li:before { 
	content: ''; 
	position: absolute; 
	width: 25px; 
	height: 25px; 
	top: -12px; 
	right: -49px; 
	margin: auto 0; 
	border: 4px solid #159a34; 
	border-radius: 50px; 
	background-color: white; 
	z-index: 1; 
	-webkit-transition: all ease-in-out; 
	-moz-transition: 0.2s ease-in-out; 
	transition: all ease-in-out 0.2s; 
}

ul.timeline li:hover:before	{ 
	transform: scale(1.25); 
	background: #d7e8e7; 
	border: 4px solid #23305f; 
	-webkit-transition: all ease-in-out; 
	-moz-transition: 0.2s ease-in-out; 
	transition: all ease-in-out 0.2s;	
}

ul.timeline li:nth-of-type(even) { 
	margin-left: auto; 
	border-radius: 0 5px 5px 0; 
}

ul.timeline li:nth-of-type(even):before	{ 
	right: 0; 
	left: -49px; 
}

ul.timeline li:after { 
	content: ''; 
	position: absolute; 
	width: 30px; 
	height: 20px; 
	top: 0px; 
	right: -8px; 
	background: #f4f4f4; 
	-webkit-transform: skewX(-45deg); 
	-moz-transform: skewX(-45deg); 
	transform: skewX(-45deg); 
	z-index: -1; 
	-webkit-transition: all ease-in-out; 
	-moz-transition: 0.2s ease-in-out; 
	transition: all ease-in-out 0.2s; 
}

ul.timeline li:hover:after { 
	background: #d7e8e7;
}

ul.timeline li:nth-of-type(even):after { 
	left: -8px; 
	-webkit-transform: skewX(45deg); 
	-moz-transform: skewX(45deg); 
	transform: skewX(45deg); 
}
/*/////////////////////////////////////////////////// FORMS /////////////////////////////////////////////////*/
form table {
	width: calc(100% + 40px);
	padding: 10px;
	border-style: none;
	border-spacing: 0;
  margin: -20px;
}
form table tr td {
	position: relative;
	width: 50%;
	padding: 10px;
	border: none;
}

/* INPUTS CLICK ---------------------------------------------------------------*/
input[type=radio],
input[type=checkbox] { 
	display: none
}

input[type=radio] + label,
input[type=checkbox] + label { 
	display: block; 
	position: relative; 
	float: left; 
	width: 100%; 
	padding: 0px 0px 0px 50px;
}

input[type=radio] + label b { 
	display: block; 
	position: absolute; 
	left: 0px; 
	top: 0px; 
	width: 30px; 
	height: 30px; 
	background-color: #ffffff; 
	background-repeat: no-repeat; 
	background-position: center; 
	background-size: contain; 
	border: solid 2px #dddddd; 
	border-radius: 50%; 
}

input[type=checkbox] + label b { 
	display: block; 
	position: absolute; 
	left: 0px; 
	top: 0px; 
	width: 30px; 
	height: 30px; 
	background-color: #ffffff; 
	background-repeat: no-repeat; 
	background-position: center; 
	background-size: contain; 
	border: solid 2px #dddddd; 
}

input[type=radio].error + label b,
input[type=checkbox].error + label b { 
	border-color: #ff0000;
}

input[type=radio]:checked + label b { 
	background-image: url(../images/layout/radio.svg); 
	border-color: #000000; 
}

input[type=checkbox]:checked + label b { 
	background-image: url(../images/layout/checkbox.svg); 
	border-color: #000000;
}

/* INPUTS TEXT ----------------------------------------------------------------*/
select,
textarea,
input[type=date],
input[type=time],
input[type=file],
input[type=text] { 
	float: left; 
	width: 100%; 
	padding: 16px; 
	background: #ffffff; 
	border: solid 2px #dddddd; 
	color: #000000; 
	font-size: 14px; 
	line-height: 24px; 
	font-weight: 400; 
	font-family: 'Bariol', Helvetica, Arial, sans-serif; 
	-webkit-transition: 0.2s ease-in-out; 
	-moz-transition: 0.2s ease-in-out; 
	transition: 0.2s ease-in-out; 
	-webkit-appearance: none;
}

select.error,
textarea.error,
input[type=date].error,
input[type=time].error,
input[type=text].error { 
	border-color: #ff0000;
}

select + label,
textarea + label,
input[type=date] + label,
input[type=time] + label,

input[type=text] + label { 
	display: block; 
	position: absolute; 
	left: 10px; 
	top: 10px; 
	padding: 18px; 
	font-size: 14px; 
	line-height: 24px; 
	pointer-events: none; 
	-webkit-transition: 0.2s ease-in-out; 
	-moz-transition: 0.2s ease-in-out; 
	transition: 0.2s ease-in-out 
}

input[type=file] + label {
	position: absolute;
}

select:focus,
textarea:focus,
input[type=date]:focus,
input[type=time]:focus,
input[type=file]:focus,
input[type=text]:focus,
select:not([value=""]),
textarea:not(:placeholder-shown),
input[type=date]:not(:placeholder-shown),
input[type=time]:not(:placeholder-shown),  
input[type=text]:not(:placeholder-shown) { 
	border-color: #000000; 
	outline: none 
}

select:focus + label,
textarea:focus + label,
input[type=date]:focus + label,
input[type=time]:focus + label,
input[type=file] + label,
input[type=text]:focus + label,
select:not([value=""]) + label,
textarea:not(:placeholder-shown) + label,
input[type=date]:not(:placeholder-shown) + label,
input[type=time]:not(:placeholder-shown) + label,
input[type=text]:not(:placeholder-shown) + label { 
	left: 16px; 
	top: -10px; 
	padding: 12px; 
	background: #ffffff; 
	font-size: 12px; 
	line-height: 18px 
}

select { 
	background-image: url(../images/layout/select.svg); 
	background-repeat: no-repeat; 
	background-position: right center; 
	background-size: contain 
}

textarea { 
	height: 400px; 
	overflow: auto; 
	resize: none 
}

:-ms-input-placeholder { color: #000000 }
:-moz-placeholder { color: #000000; opacity: 1 }
::-moz-placeholder { color: #000000; opacity: 1 }
::-webkit-input-placeholder { color: #000000 }

/* INPUTS FILEUPLOAD ----------------------------------------------------------*/
input[type=file] { padding: 22px 16px;}

input[type=file]:hover { cursor: pointer;}

input[type=file]::file-selector-button {
	margin-right: 15px;
  border: none;
  padding: 10px 22px;
	font-family: 'Bariol','Helvetica','Arial', sans-serif;  
  text-transform: uppercase;
  color: #fff;  
  background-color: #159a34;
}

/* INPUT SUBMIT ---------------------------------------------------------------*/
input[type=submit] { 
	float: left; 
	width: 100%; 
	height: 80px; 
	padding: 0px; 
	background: #159a34;
  border: none; 
  color: #ffffff; 
  font-size: 18px; 
  line-height: 18px; 
  font-weight: 700; 
  font-family: 'Bariol', Helvetica, Arial, sans-serif; 
  text-transform: uppercase; 
  cursor: pointer; 
  -webkit-transition: 0.2s ease-in-out; 
  -moz-transition: 0.2s ease-in-out; 
  transition: 0.2s ease-in-out; 
 }

input[type=submit]:hover { 
	background: #23305f 
}

a.buttonlink { 
	display: block; 
	float: left; 
	width: 100%; 
	padding: 23px; 
	background: #159a34; 
	color: #ffffff; 
	line-height: 14px; 
	text-transform: uppercase; 
	text-align: center; 
	-webkit-transition: 0.2s ease-in-out; 
	-moz-transition: 0.2s ease-in-out; 
	transition: 0.2s ease-in-out; 
}

a.buttonlink:hover { 
	background: #23305f 
}

.texterror { 
  padding: 0 25px;
  background: rgba(255,0,0,0.2);
  color: #e40000;
}

/*////////////////////////////////////////////////// TABLES /////////////////////////////////////////////////*/
table {
	width: 100%;
}

table tr td {
	padding: 8px;
	border-bottom: 1px solid #d1dfdf;
}

/*/////////////////////////////////////////////// INTERACTIVE ///////////////////////////////////////////////*/
/* ACCORDION ------------------------------------------------------------------*/
.accordion	{ 
	border-bottom: 1px solid #353732; 
}

.accordion .accTab	{ 
	width: 100% 
}

.accordion .accTitle	{ 
	display: block; 
	position: relative; 
	width: 100%; 
	border-top: 1px solid #353732; 
	padding: 15px 10px;  
	font-size: 18px;  
	cursor: pointer;  
	-moz-transition: 0.3s all ease-in-out; 
	-webkit-transition: 0.3s all ease-in-out; 
	transition: 0.3s all ease-in-out;
} 

.accordion .accTitle:hover	{ 
	background: #5fa79929; 
	-moz-transition: 0.3s all ease-in-out; 
	-webkit-transition: 0.3s all ease-in-out; 
	transition: 0.3s all ease-in-out; 
}	

.accordion .accTitle:before,
.accordion .accTitle:after {
	content: ''; 
	display: block;  
	position: absolute; 
	top: 0;  
  bottom: 0;
  margin: auto;   
  background: #353732;   
}

.accordion .accTitle:before { 
  right: 15px;  
  width: 18px;  
  height: 2px; 
}

.accordion .accTitle:after {   
	right: 23px;  
	width: 2px;  
	height: 18px; 
	-webkit-animation: acc_icon_rotate1 0.4s forwards; 
	-moz-animation: acc_icon_rotate1 0.4s forwards; 
	animation: acc_icon_rotate1 0.4s forwards; 
}

.accordion .accTitle.active { 
	background: #5fa79929;
}

.accordion .accTitle.active:after { 
	-webkit-animation: acc_icon_rotate2 0.4s forwards; 
	-moz-animation: acc_icon_rotate2 0.4s forwards; 
	animation: acc_icon_rotate2 0.4s forwards; 
}

.accordion .accContent { 
	display: none; 
	width: 100%; 
	padding: 10px; 
}

/* CAROUSEL -------------------------------------------------------------------*/
.topicCarousel {
	margin: 30px 0;
}

.gallery.carousel button.slick-arrow,
.topicCarousel button.slick-arrow {
	display: block;
  position: absolute;
  z-index: 100;
  top: 45%;
  width: 50px;
  height: 50px;
  background: no-repeat center;
  background-color: #5fa799;
  background-size: auto;
  background-size: 50%;
  border: none;
  border-radius: 50%;
  font-size: 0;
  -webkit-transition: 0.4s ease-in-out;
  -moz-transition: 0.4s ease-in-out;
  transition: 0.4s ease-in-out;
}

.gallery.carousel button.slick-arrow:hover,
.topicCarousel button.slick-arrow:hover {
	cursor: pointer;
	animation: bounce 0.8s linear infinite;
}

.gallery.carousel button.slick-prev,
.topicCarousel button.slick-prev {
	left: 0;
	background-image: url('../images/layout/left.svg');
}

.gallery.carousel button.slick-prev:hover,
.topicCarousel button.slick-prev:hover {
	animation: bounceLeft 0.8s linear infinite;
}
  
.gallery.carousel button.slick-next,   
.topicCarousel button.slick-next {
	right: 0;
	background-image: url('../images/layout/right.svg');
}

.gallery.carousel button.slick-next:hover,
.topicCarousel button.slick-next:hover {
	animation: bounceRight 0.8s linear infinite;
}

.topicCarousel .item {
  margin: 15px;
}

.topicCarousel .item a {
	display: block;
	position: relative;
  height: 445px;
	background-position: right center;
  background-size: cover;
}

.topicCarousel .item a p,
.topicCarousel .item a h3 {
	text-align: center;
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
  color: #fff;
  bottom: 25px;
  transition: all ease-in-out 0.4s;
} 

.topicCarousel .item a:hover p,
.topicCarousel .item a:hover h3 {
	bottom: 40px;
	transition: all ease-in-out 0.4s;
}

.topicCarousel .item a span {
	position: absolute;
  width: calc(100% - 20px);
  height: calc(100% - 20px);
  top: 20px;
  left: 0;
  margin: 10px;
  background: #5fa799;
  opacity: 0;
  transition: all ease-in-out 0.4s;
}

.topicCarousel .item a:hover span {
	top: 0;
	height: calc(100% - 20px);
	opacity: 0.6;
	transition: all ease-in-out 0.4s;
}

/* GALLERIES ------------------------------------------------------------------*/
.gallery { 
	width: 100%; 
	display: flex; 
	margin: auto;
}

.gallery a { 
	display: block; 
	position: relative; 
	width: 100%; 
	padding: 0% 0% 100% 0%;
	overflow: hidden; 
}

.gallery a:before { 
	content: '';
	display: block; 
	position: absolute; 
	top: 5px; 
	right: 5px; 
	z-index: 1; 
	width: 35px; 
	height: 35px; 
	background: url(../images/layout/zoom.svg) no-repeat center; 
	background-size: 50%; 
	-webkit-transition: 0.2s ease-in-out; 
	-moz-transition: 0.2s ease-in-out; 
	transition: 0.2s ease-in-out 
}

.gallery a:hover:before { 
	right: 0%; 
	top: 0%; 
	width: 100%; 
	height: 100%; 
	background-color: #ffffff66; 
	background-size: 25%; 
}
	
.gallery a img { 
	display: block; 
	position: absolute; 
	left: 0px;
	top: 0px; 
	width: 100%; 
	height: 100%; 
	object-fit: cover; 
	-webkit-transition: 0.2s ease-in-out; 
	-moz-transition: 0.2s ease-in-out; 
	transition: 0.2s ease-in-out 
}

.gallery a:hover img { 
	-webkit-transform: scale(1.04); 
	-moz-transform: scale(1.04); 
	transform: scale(1.04) 
}

.gallery figcaption {
	color: #0f1b44;
}

.gallery figcaption p {
	width: fit-content;
	margin: 0;
	padding: 4px 8px;
  font-size: 14px;
  background-color: rgba(35, 48, 95, 0.2);
}

/* OPEN STREET MAP (OSM) ------------------------------------------------------*/
#map { 
	width: 100%; 
	padding: 0% 0% 25% 0%; 
	font-size: 12px; 
	line-height: 18px; 
	white-space: nowrap; 
	-moz-filter: grayscale(0.8);
	-webkit-filter: grayscale(0.8); 
	filter: grayscale(0.8) 
}

#map h4 { 
	font-size: 14px;
	line-height: 24px;
}

.osm_error { 
	position: relative; 
	float: left; 
	width: 100%; 
	padding: 0% 0% 33.3333% 0%; 
	background: #dddddd;
}

.osm_error h4 { 
	position: absolute; 
	left: 50%; 
	top: 50%; 
	text-align: center; 
	-webkit-transform: translate(-50%,-50%); 
	-moz-transform: translate(-50%,-50%); 
	transform: translate(-50%,-50%); 
}

/*////////////////////////////////////////////////// OTHER //////////////////////////////////////////////////*/
#foerderung table tr td:nth-of-type(2) {
	width: 25%;
	text-align: right;
}

/* CHAT -----------------------------------------------------------------------*/
.chat                                                                  { padding: 0px }
.chat section                                                          { float: left; width: 100%; padding: 40px calc(50% - 440px) 40px calc(50% - 440px); background: #ffffff }
.chat section h1,
.chat section h3                                                       { text-align: center }
.chat section b                                                        { display: block; position: relative; clear: both; float: right; padding: 20px; background: #dfdfdf; border-radius: 5px 0px 5px 5px; margin: 10px 10px 10px 80px; font-weight: 500 }
.chat section b:before                                                 { display: block; font-size: 18px; line-height: 30px; content: 'Frage:' }
.chat section b:after                                                  { display: block; position: absolute; right: -10px; top: 0px; width: 0px; height: 0px; border-style: solid; border-width: 10px 10px 0px 0px; border-color: #dfdfdf transparent transparent transparent; content: '' }
.chat section i                                                        { display: block; position: relative; clear: both; float: left; padding: 20px; background: #24972b; border-radius: 0px 5px 5px 5px; margin: 10px 80px 10px 10px; color: #ffffff; font-style: normal }
.chat section i:before                                                 { display: block; font-size: 18px; line-height: 30px; content: 'Antwort:' }
.chat section i:after                                                  { display: block; position: absolute; left: -10px; top: 0px; width: 0px; height: 0px; border-style: solid; border-width: 0px 10px 10px 0px; border-color: transparent #24972b transparent transparent; content: '' }


/*////////////////////////////////////////////////// FOOTER /////////////////////////////////////////////////*/
footer {
	width: 100%;
	padding: 40px 0 0 0;
	background: #23305f;
	color: #fff;
	font-size: 14px
}

footer ul {
	margin: 0;
	padding: 0;
 	list-style: none;
 	color: #fff;	
}

footer h5 {
	font-size: 16px;
  margin: 2px 0;
  line-height: 1.2em;
}

footer a,
footer p {
	font-size: 14px;
	line-height: 1.4em;
	color: #fff;
	transition: all ease-in-out 0.3s;
}

footer a:hover {
	opacity: 0.3;
	transition: all ease-in-out 0.3s;
}

footer a.btn {
	padding: 0 20px;
  border: 2px solid #fff;
  color: #fff;
}

footer a.btn:hover {
	color: #23305f;
	background: #fff;
	opacity: 1;
}

footer .cols ul.data li {
	padding: 5px 25px 5px 27px;
	background-size: 24px;
	background-repeat: no-repeat;
	background-position: 0 6px;
}

footer .cols ul.data li:first-of-type {
	margin-bottom: 10px;
	padding: 5px;
  background: none;
}

footer .cols ul.data li.phone { background-image: url('../images/layout/phone_outline.svg');}
footer .cols ul.data li.mail { background-image: url('../images/layout/envelope_outline.svg');}
footer .cols ul.data li.pin { background-image: url('../images/layout/pin_outline.svg');}
footer .cols ul.data li.clock { background-image: url('../images/layout/clock.svg');}

footer .cols .col.d13:nth-child(2) {
	border-left: 1px solid #fff;
	border-right: 1px solid #fff;
} 

footer .cols .col.d13:nth-of-type(3n) a {
	text-align: right;
	font-size: 20px;
  line-height: 1.7em;
}

footer .linkList {
	border-top: 1px solid #fff;
	padding: 10px 0;
}

footer .linkList ul {
	display: flex;
	padding: 0;
}

footer .linkList ul li {
	margin: auto;
	padding: 5px 10px;
}

footer .linkList .socials img {
	width: 32px;
	filter: brightness(100);
}

footer .linkList .legals {
	margin-left: auto;
}

/* COPYRIGHT ------------------------------------------------------------------*/
footer .copyright {
	padding: 20px 0;
	text-align: center;
	background: #0f1b44;
}

footer .copyright a {
	font-size: 12px;
}