/* Footer */

footer {
	position:relative;
	display:block;
	width:100%;
	height:auto;
	right:auto;
	bottom:auto;
	background-color:var(--gruen);
	border-top:0.5px solid var(--gruen);
	margin:auto 0 0;
	padding:0;
	z-index:99;
	box-sizing:border-box;
}

footer div.wrapper {
	display:grid;
	width:100%;
	max-width:1600px;
	height:auto;
	margin:0 auto;
	box-sizing:border-box;
}

footer div.footer-top {
	grid-template-columns:1fr 1.5fr 1fr;
	padding:40px;
}

footer div.footer-bottom {
	grid-template-columns:1fr 1fr;
	padding:30px 40px 40px;
	align-items:center;
}

footer div.wrapper > div {
	min-width:0;
	margin:0;
	padding:0 40px;
	box-sizing:border-box;
}

footer div.wrapper > div:first-child {
	padding-left:0;
}

footer div.wrapper > div:last-child {
	padding-right:0;
}

footer div.footer-top > div + div,
footer div.footer-bottom > div + div {
	border-left:0.5px solid var(--gelb);
}

footer img.logo {
	display:block;
	height:100px;
	width:auto;
	margin:0;
	padding:0;
	background-color: transparent;
	object-fit:contain;
	object-position:left center;
	filter:brightness(0) invert(1);
	transition:.5s;
}

footer h2 {
	font-family:'Fira Sans Bold', Helvetica Neue, Arial, Helvetica, sans-serif;
	text-transform:uppercase;
	font-size:16px;
	letter-spacing:0.05em;
	color:#FFF;
	border-bottom:none;
	padding:0;
	margin:0 0 10px;
	text-align:left;
}

footer p {
	font-family:'Fira Sans Regular', Helvetica Neue, Arial, Helvetica, sans-serif;
	font-size:16px;
	line-height: 1.5;
	letter-spacing:0.05em;
	color:#FFF;
	text-align:left;
	margin:0 0 15px;
}

footer p:last-child {
	margin-bottom:0;
}

footer p.navi {
	font-family:'Fira Sans Light', Helvetica Neue, Arial, Helvetica, sans-serif;
	letter-spacing:0.1em;
	text-transform:uppercase;
	text-align:left;
	margin:0;
}

footer p.navi a {
	display:inline-block;
	padding:5px 16px 5px 0;
}

footer p.copyright {
	font-family:'Fira Sans Light', Helvetica Neue, Arial, Helvetica, sans-serif;
	text-align:right;
	margin:0;
}

footer a {
	color:#FFF;
}

footer a:hover {
	color:var(--gelb);
}

footer > hr {
	display:block;
	width:calc(100% - 80px);
	max-width:1520px;
	height:0.5px;
	background-color:var(--gelb);
	border:none;
	padding:0;
	margin:0 auto;
}

/* Sponsoren */

div.spnsrs {
	display:grid;
	grid-template-columns:repeat(18, minmax(0, 1fr));
	align-items:stretch;
	gap:10px;
	width:100%;
	background-color:#FFF;
	padding:10px 20px;
	box-sizing:border-box;
	overflow:visible;
}

div.spnsrs a {
	display:flex;
	align-items:center;
	justify-content:center;
	min-width:0;
	height:auto;
	margin:0;
	padding:0;
	background-color:#FFF;
	box-sizing:border-box;
}

div.spnsrs img {
	display:block;
	width:100%;
	max-width:100%;
	height:auto;
	object-fit:contain;
	margin:0;
	padding:0;
	filter:grayscale(1);
	opacity:0.65;
	transition:.3s;
}

div.spnsrs a:hover img {
	filter:grayscale(0);
	opacity:1;
}

@media only screen and (max-width:1600px) {
	footer div.footer-top {
		padding:35px 20px;
	}

	footer div.footer-bottom {
		padding:25px 20px 35px;
	}

	footer div.wrapper > div {
		padding:0 25px;
	}

	footer > hr {
		width:calc(100% - 40px);
	}
	
/* Sponsoren */

	div.spnsrs {
		grid-template-columns:repeat(9, minmax(0, 1fr));
		padding:15px;
	}
}

@media only screen and (max-width:1024px) {
	footer div.footer-top {
		grid-template-columns:0.8fr 1.4fr 1fr;
	}

	footer div.wrapper > div {
		padding:0 20px;
	}

	footer img.logo {
		width:150px;
		height:70px;
	}

	footer h2,
	footer p {
		font-size:14px;
	}

	footer p.navi {
		font-size:14px;
		letter-spacing:0.025em;
	}
}

@media only screen and (max-width:768px) {
	footer div.footer-top,
	footer div.footer-bottom {
		grid-template-columns:1fr;
		padding:20px;
	}

	footer div.wrapper > div,
	footer div.wrapper > div:first-child,
	footer div.wrapper > div:last-child {
		padding:20px 0;
	}

	footer div.wrapper > div:first-child {
		padding-top:0;
	}

	footer div.wrapper > div:last-child {
		padding-bottom:0;
	}

	footer div.footer-top > div + div,
	footer div.footer-bottom > div + div {
		border-left:none;
		border-top:0.5px solid var(--gelb);
	}

	footer p.copyright {
		text-align:left;
	}

	footer > hr {
		width:calc(100% - 40px);
	}

/* Sponsoren */

	div.spnsrs {
		grid-template-columns:repeat(6, minmax(0, 1fr));
		gap:8px;
		padding:10px;
	}
}

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

/* Sponsoren */

	div.spnsrs {
		gap:6px;
		padding:5px;
	}

}

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


/* Sponsoren */

	div.spnsrs {
		grid-template-columns:repeat(3, minmax(0, 1fr));
		gap:4px;
	}

}
