footer {
	max-width: var(--content-width);
	margin: 0 auto;
}
footer p {
	margin: 0;
}
#footer1,
#footer2 { 
	font-size: 0.9rem;
	font-family:var(--barlow);
	display:grid;
	grid-template-columns:repeat(4,25%);
}
#footer1 {
	background-color: var(--bg-color-footer);
	padding: 0.75rem 0;
	margin: 0;
	border-top-right-radius: 0.3rem;
}
#footer1 p {
	padding: 0 0 0.4rem 0;
}
#footer1 a{
	padding:0.1rem 0;
	line-height:1.4rem;
}
#footer1 h2{
	font-size:1.05rem;
	line-height:initial;
	margin:0 0 0.25rem 0;
	text-transform: uppercase;
	font-weight:var(--font-weight-bold);
}
#footer_social {
	margin: 0 0.5rem 0 1rem;
}
#footer_kontakt,
#footer_campus_plan {
	margin: 0 0.5rem 0 0.5rem;
}
#footer_campus_links {
	margin: 0 1rem 0 0.5rem;
	line-height:1.4rem;
}
#footer_campus_plan div {
	display: table-cell;
	width: 100%;
}
#footer_campus_plan_img {
	width: 100%;
	height: auto;
}
#footer_campus_links p {
	padding: 1.5rem 0 0 0;
}
#footer2 { 
	line-height:1.1rem;
	color: white;
	background-color: var(--main-color);
	padding: 1rem 0 1rem 0;
	margin: 0 0 0.45rem 0;
	border-bottom-left-radius: 0.3rem;
	border-bottom-right-radius: 0.3rem;
}
#footer_linkblock1 { 
	margin: 0 0.5rem 0 1rem;
}
#footer_linkblock2,
#footer_linkblock3 { 
	margin: 0 0.5rem 0 0.5rem;
}
#footer_funktionen { 
	margin: 0 1rem 0 0.5rem;
}
#footer2 h2 {
	color: #ffffff;
	font-size:1.05rem;
	line-height:initial;
	margin:0 0 0.25rem 0;
	text-transform: uppercase;
	font-weight:var(--font-weight-bold);
}
#footer2 p,
#footer2 a,
#footer2 span {
	color: #fff;
	background-color: inherit;
}
#footer2 a{
	line-height:1.4rem;
	padding:0.1rem 0;
}
#footer2 a:before {
	color: white;
}
#footer2 a:hover,
#footer2 a:focus,
#footer2 a:active {
	color: var(--main-color) !important;
	background-color: white;
	border-bottom: none;
}
#footer2 a:hover:before,
#footer2 a:focus:before,
#footer2 a:active:before {
	color: var(--main-color) !important;
}
footer .social_block{
	display:grid;
	grid-template-columns: repeat(auto-fill, minmax(36px, 1fr));
}
footer .social{
	display: inline-grid;
	border-radius: 0.2rem;
	height: 36px;
	width:36px;
	align-items: center;
	justify-items: center;
	transition:0.25s;
}
footer .social:hover,
footer .social:focus,
footer .social:active{
	background:var(--main-color);
	color:#fff;
}
footer .social i{
	color:var(--main-color);
	font-size:1.6rem;
	background:unset;
	background-clip: unset;
	-webkit-text-fill-color: unset;
	margin:unset;
	line-height:unset;
	transition:all .5s;
}
footer .social:hover i,
footer .social:focus i,
footer .social:active i{
	color:#fff;
}
footer .social_zusatz{
	grid-column: 1/-1;
}
footer .social_zusatz img{
	max-width:100%;
}
.f1_tel:before,
.f2_tel:before,
.map_link:before {
	content: '' !important;
}
.f1_mail:before,
.f2_mail:before {
	content: '' !important;
}
.f_ico:before{content:'';}
.f_ico i{margin-right:0.25rem;transition:all .5s;}
.f1_ico i {color:var(--main-color);}
.f2_ico i {color:#fff}
.f1_ico:hover i,.f1_ico:focus i,.f1_ico:active i{color:#fff;}
.f2_ico:hover i,.f2_ico:focus i,.f2_ico:active i{color:var(--main-color)}
a.mailto:before {
	display: inline-block;
	width: 1.05rem;
	height: 0.95rem;
	padding: 0;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	font-size: 1rem;
	line-height: 1rem;
	font-family: 'Genericons';
	text-decoration: inherit;
	font-weight: normal;
	font-style: normal;
	vertical-align: bottom;
	content: '\f410';
	color: var(--main-color);
}
a.mailto {
	padding-left: 0;
}

a.mailto:hover:before {
	content: '\f410';
	color: white;
	padding: 0;
}

.permalink_block {
	position: relative;
}

.permalink_overlay {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	background-color: var(--main-color);
	visibility: hidden;
}
.permalink_overlay:target {
	visibility: visible;
}

.permalink_popup {
	margin: 0.75rem auto;
	padding: 0.5rem;
	background: var(--main-color);
	color: white;
	border-radius: 5px;
	width: 100%;
	position: relative;
	bottom: 50px;
	border: 1px solid white;
}

.permalink_popup .permalink_close {
	position: relative;
	top: 0;
	font-size: 1rem;
	font-weight: bold;
	text-decoration: none;
	color: white !important;
}
.permalink_popup .permalink_close:hover {
	color: orange;
}
.permalink_popup .permalink_content {
	max-height: 30%;
	overflow: auto;
	color: white;
}
footer .lower_footer {
	display: grid;
	grid-gap: 0.5rem;
	grid-template-columns:repeat(auto-fill, minmax(calc(20% - 0.5rem), 1fr));
	background-color: var(--bg-color-footer);
	border-radius: 0.3rem;
}
footer .lower_footer a{
	padding: 0.5rem;
	text-align: center;
	font-family: var(--barlow);
	font-weight: 500;
}
footer .lower_footer a:first-child{
	border-radius: 0.3rem 0 0 0.3rem;
}
footer .lower_footer a:last-child{
	border-radius: 0 0.3rem 0.3rem 0;
}
footer .lower_footer a:hover{
	background-color:var(--grey-4);
}
@media screen and (max-width: 700px) {
	#footer1,
	#footer2 { 
		grid-template-columns:repeat(2,50%);
	}
	#footer_social {
		order: 3;
		margin: 0 0.5rem 0.5rem 1rem;
	}
	#footer_kontakt {
		order: 1;
		margin: 0 0.5rem 0.5rem 1rem;
	}
	#footer_campus_plan {
		order: 2;
		margin: 0 1rem 0.5rem 0.5rem;
	}
	#footer_campus_links {
		order: 4;
		line-height:1.3rem;
		margin: 0 1rem 0.5rem 0.5rem;
	}
	#footer_campus_links p {
		padding: 0.3rem 0 0 0;
	}
	
	#footer_linkblock1{ 
		margin: 0 0.5rem 0.75rem 1rem;
	}
	#footer_linkblock2 { 
		margin: 0 1rem 0.75rem 0.5rem;
	}
	#footer_linkblock3 { 
		margin: 0 0.5rem 0 1rem;
	}
	#footer_funktionen { 
		margin: 0 1rem 0 0.5rem;
	}
	
	footer .lower_footer {
		grid-template-columns:repeat(3, calc(33.3% - 0.5rem));
	}
}
/*   Einstellungen für Bildschirmauflösung unter 480 Pixel  - z.B. Smartphones im Hochformat  */ 
@media screen and (max-width: 480px) {
	#footer1,
	#footer2{ 
		grid-template-columns:100%;
	}
	#footer_campus_links {
		order: 1;
		line-height:1.2rem;
	}
	#footer_kontakt {
		order: 1;
		margin: 0 1rem 0.5rem 1rem;
	}
	#footer_social {
		order: 2;
		margin: 0 1rem 0.5rem 1rem;
	}
	#footer_campus_plan {
		order: 3;
		margin: 0 1rem 0.5rem 1rem;
	}
	#footer_campus_links {
		order: 4;
		margin: 0 1rem 0 1rem;
	}
	#footer_campus_links p {
		padding: 0 0 0.5rem 0;
	}
	#footer_linkblock1{ 
		margin: 0 1rem 0.75rem 1rem;
	}
	#footer_linkblock2 { 
		margin: 0 1rem 0.75rem 1rem;
	}
	#footer_linkblock3 { 
		margin: 0 1rem 0.75rem 1rem;
	}
	#footer_funktionen { 
		margin: 0 1rem 0 1rem;
	}
	
	footer .lower_footer {
		grid-template-columns:100%;
	}
}