/* CSS Document */
body, #dashboard .tabcontent{
	background-color: #fff;
}
h1, h2, h3, h4{
	color: #1f3685;
	font-weight: 700;
}
p{
	color: #1f3685;
}
main{
	margin-top: 94px;
	min-height: calc(100vh - 51px - 94px);
}
#header{
	height: 94px;
	background-color: #fff;
  	color: #4A4A4A;
}
@media (max-width: 920px){
	main{
		margin-top: 94px;
		min-height: calc(100vh - 61px - 94px);
	}
	#header{
		height: 94px;
	}
}
@media (max-width: 720px){
	main{
		margin-top: 94px;
		min-height: calc(100vh - 61px - 50px);
	}
}
#header .container{
	padding: 0.5rem 1rem;
}
#header .logoLink, #header .logo{
	max-height: calc(94px - 1rem);
}
#header .logoLink{
	padding-top: 0.5rem;
	display: flex;
  	justify-content: flex-end;
  	padding-right: 1rem;
}
#header .logo{
	height: 65px;
}
#header .menu {
	margin-right: 5px;
}
#header.nav{
	border-bottom: solid 2px #1f3685;
}
#header #mobileMenu .menu li span.mobileMenuIcon, #header #userMenu .menu li a{
	background-color: #1f3685;
	border-radius: 50%;
	width: 52px;
	height: 52px;
	border: 2px solid #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	align-content: center;
}
#header #mobileMenu .menu li.active span.mobileMenuIcon{
	background-color: #ffd500;
}
#header #mobileMenu .menu li.mobileNav{
	background-size: contain;
	border-radius: 50px;
	background-color: #fff;
	box-shadow: 0px 2px 5px #747474;
}
#header #mobileMenu .menu li.mobileNav p{
	font-weight: 500;
  	text-transform: uppercase;
  	font-size: 16px;
}
/* Icon Home */
#header #mobileMenu .menu li.icon-1 span.mobileMenuIcon{
	background-image: url("/layout/home.svg");
} 
#header #mobileMenu .menu li.active.icon-1 span.mobileMenuIcon{
	background-image: url("/layout/home_dark.svg");
} 
/* Login */
#header #mobileMenu .menu li.icon-2 span.mobileMenuIcon{
	background-image: url("/layout/login.svg");
}
#header #mobileMenu .menu li.active.icon-2 span.mobileMenuIcon{
	background-image: url("/layout/login_dark.svg");
}
/* Dashboard (User logged in) */
#header #mobileMenu .menu li.icon-2-loggedIn span.mobileMenuIcon{
	background-image: url("/layout/dashboard.svg");
} 
#header #mobileMenu .menu li.active.icon-2-loggedIn span.mobileMenuIcon {
  background-image: url("/layout/dashboard_dark.svg");
}
/* Icon FAQ */
#header #mobileMenu .menu li.icon-3 span.mobileMenuIcon{
	background-image: url("/layout/faq.svg");
} 
#header #mobileMenu .menu li.active.icon-3 span.mobileMenuIcon{
	background-image: url("/layout/faq_dark.svg");
} 

#header .menu li a img{
	margin-top: 0;
	width: 45px;
	height: 45px;
	object-fit: contain;
}
#mobile_button span{
	background-color: #1f3685;
}
.bluegradient {
  /*background: linear-gradient(180deg, #33a2ff 0%, #2566A4 100%),#2566A4;*/
	background-color: #1f3685;
}

.greenBG{
	background-color: #009DE0;
	background-image: linear-gradient(120deg, #009DE0 25% , #7fdaf2 75%);
}

.orangegradient {
	  background: linear-gradient(-90deg, #F0A926 0%, #F07E26 100%);
}

#mainnavi a {
	position: relative;
  	color: #1f3685;
  	font-size: 1.125em;
  	line-height: 130%;
  	font-weight: bold;
  	display: inline-block;
  	margin-top: 0.95rem;
  	margin-left: 2rem;
	white-space: nowrap;
    text-transform: uppercase;
  	-webkit-transition: .25s ease-in-out;
  	-moz-transition: .25s ease-in-out;
  	-o-transition: .25s ease-in-out;
  	transition: .25s ease-in-out;
}
#mainnavi a::after{
	content: "";
    position: absolute;
    left: 0;
    bottom: -27px;
    width: 100%;
    height: 6px;
    background-color: #1f3685;
    transform: scaleY(0);
    transform-origin: bottom;
    transition: transform 0.3s ease;
}
#mainnavi a:hover, #mainnavi li.active a {
  color: #1f3685;
}
#mainnavi a:hover::after, #mainnavi li.active a::after {
  transform: scaleY(1);
}
#mainnavi li.active a::after {
  background-color: #ffd500
}
.btn {
	font-family: "Montserrat", Arial, sans-serif;
  	-webkit-font-smoothing: antialiased;
	background-color: #1f3685;
  	border-radius: 50px;
  	border: 0px solid #1f3685;
	min-height: 45px;
	height: 100%;
	box-shadow: none;
  	color: #fff;
  	display: block !important;
  	font-weight: 700 !important;
  	line-height: 1.3;
	padding: 0.25rem 1rem;
  	position: relative;
  	text-transform: uppercase;
	text-align: center;
  	transition: all .3s ease-in-out;
  	cursor: pointer;
  	font-size: 18px;
}
a.btn p{
	color: #fff;
}
a.btn:hover p{
	color: #1f3685;
}
.btn.active {
	border: 0px solid #fff;
  	color: #1f3685;
  	border-bottom: 6px solid #ffd500;
  	border-radius: 0;
}
.btn:hover, .modal-content .tab-buttons li.active:hover, .btn.active:hover {
	border: 0px solid #ffd500;
	background-color: #ffd500;
	color: #1f3685;
}
.btn.active:hover{
	border-radius: 50px;
}
.modal-content .tab-buttons li {
  border-radius: 0;
}
.modal-content .tab-buttons li.active{
	border: 0px solid #1f3685;
	border-bottom: 2px solid #fff;
}
.modal-content li.tab-btn.active span{
	color: #1f3685;
}
.modal-content li.tab-btn span{
	color: #fff;
}
.modal-content li.tab-btn span:hover, .modal-content li.tab-btn.active span:hover{
	color: #1f3685;
}
.modal-content .btn-template{
	border: 2px solid #1f3685;
	background-color: #1f3685;
}
.modal-content .btn-template:hover{
	border: 2px solid #ffd500;
	color: #1f3685;
	background-color: #ffd500;
}
.modal-content .btn-template.active{
	border: 2px solid #fff;
	color: #1f3685;
	background-color: #fff;
}
.modal-content > div > button:first-of-type.active{
  	background: #fff;
  	color: #1f3685;
  	border-color: #fff;
}
/* ----------------------- Map ----------------------- */
#map{
	margin-top: 94px;
	height: calc(100vh - 51px - 94px);
}
.mapAdressSearchForm{
	background-color: #e6e6f3;
}
#userIcon, #toggleSearchBtn{
	background-color: #1f3685;
}
#legendIcon{
	background-color: #1f3685;
}
#legend hr{
	background-color: #1f3685;
}
#controls, #mapHelp, #searchMarker, #markerFilter{
	background-color: #fff;
	box-shadow: 1px 1px 10px #333;
}
#mapHelp p{
	color: #1f3685!important;
}
#disclaimerButton{
	background-color: #1f3685;
}
#disclaimerText{
	background-color: #e6e6f3;
}
#disclaimerText, #disclaimerText p, #disclaimerText h2, #disclaimerText small{
	color: #1f3685;
}
.disclaimerLink, .disclaimerLink p{
	color: #fff;
	font-weight: 700;
}
.disclaimerLink{
	margin: 1.25rem 0;
	display: flex;
	justify-content: center;
	align-content: center;
	align-items: center;	
}
.disclaimerLink p{
	background-color: #1f3685;
	border: 1px solid #1f3685;
	color: #fff!important;
	box-shadow: none;
	cursor: pointer;
	padding: 0.5rem 1rem;
	text-transform: uppercase;
	font-size: 18px;
	text-align: center;
	border-radius: 50px;
}
.disclaimerLink p:hover{
  	background-color: #ffd500;
	border: 1px solid #ffd500;
	color: #1f3685!important;
}
/* Google Map info Window */
.gm-style-iw p{
	color: #1f3685;
}
.gm-style-iw textarea{
	border: 1px solid #1f3685;
}
.gm-style-iw label{
	color: #1f3685;
}
.gm-style-iw-d a, .gm-style-iw-d h4{
	color: #1f3685 !important;
}

#kmlEditorBtn{
	background: #1f3685;
	color: #fff;
	box-shadow: 1px 1px 10px #333;
	border: none;
}
.kmlLayerButtons, .downloadKmlButtons{
	background-color: #1f3685;
}
.kmlLayerButtons.selected{
	background-color: #f70;
}
.deleteUserMarker{
	background-color: #e6e6f3;
  	color: #1f3685;
}
.downloadKmlButtons a{
	background-image: url("/layout/icon-download-white.svg");
}
/* ----------------------- Dashboard ----------------------- */
table th {
	background-color: #1f3685;
}
#homeForum a, #forum a {
	min-height: 30px;
	display: inline-block;
}
#forum a.col-50 {
	padding: 0.50rem 1rem;
}
.dashboardSearchBtn, #exportButton{
	background-color: #1f3685;
}
#exportButton:hover, #toggleFiltersBtn:hover, #mailTemplateButton:hover{
	background-color: #ffd500!important;
}
.uploads-modal{
	background-color: transparent;
}
.admin-btn{
	color: #fff;
	background-color: #1f3685;
}
.admin-btn span{
	color: #fff;
}
.admin-btn:hover{
	color: #1f3685;
	background-color: #fff;
}
.admin-btn:hover span{
	color: #1f3685;
}
#filterPanel {
  border: solid 2px #1f3685;
  background-color: #fff;
}
#createFromOverview{
	color: #1f3685;
	border: solid 2px #1f3685;
}
.usageIcon{
	background-color: #fff;
}
#UserMarkerOverview table input {
	border: 1px solid #ddd;
}
#markerOverview table tr#tableHead{
	background-color: #1f3685!important;
}
#markerOverview th select{
	background-color: #1f3685;
}
#markerOverview table th:not(:first-child)::after, #markerOverview table td:not(:first-child)::after, 
#UserMarkerOverview table th:not(:first-child)::after, #UserMarkerOverview table td:not(:first-child)::after{
	background-color: #d6e8f2;
}
.panel{
	border-bottom: 2px solid rgba(31,54,133,0.2);
	background-color: #e6e6f3;
}
.highlight{
    font-weight: 700;
    color: #158870;
}
.clearSearch{
	background: #1f3685 url("/layout/exit-white.svg") no-repeat center center;
	background-size: 30px;
}
.login input, .login textarea, .login select{
	background-color: #e6e6f3;
	border: 1px solid #e6e6f3;
	color: #1f3685;
}
.userMarkerDelete{
	background: red url("/map/images/icon-delete-white.svg")no-repeat center;
	background-size: 25px;
}

footer{
	background-color: #1f3685;
  	border-top: 1px solid #1f3685;
	color: #fff;
}
footer a, footer p {
  	color: #fff;
	font-size: 18px;
}
footer img{
	width: 210px;
	height: 50px;
}
footer #footerLinks{
	justify-content: flex-end;
	width: calc(100% - 250px);
	padding-right: 0;
}
footer #footerLinks p{
	margin-left: 2rem;
}
footer .container {
  padding: 0 60px 0 65px;
}
.footerSeparator{
	color: #fff;
}
.scrollToTop{
	border-radius: 0px;
	background: #1f3685 url(/layout/arrow-up-white.svg) no-repeat center center;
	background-size: 25px;
}
.myMarkerInfo, .usage{
	background-color: #e6e6f3!important;
	border: solid 2px #e6e6f3!important;
}
.searchInputField{
	background-color: #e6e6f3;
	border-radius: 50px;
	padding: 0.25rem 1rem;
}

.ansprechpartnerBox{
	margin-top: 2.5rem;
}
.ansprechpartnerBox img{
	max-width: 170px;
	margin-right: 2rem;
}
.ansprechpartnerText h3{
	font-size: 1.25rem;
	margin-bottom: 0.25rem;
}
.ansprechpartnerPhone a, .ansprechpartnerMail a{
	font-weight: 400!important;
	padding-left: 35px;
}
.ansprechpartnerPhone a{
	background: transparent url("/layout/phone.svg")no-repeat center left;
	background-size: 20px;
}
.ansprechpartnerMail a{
	background: transparent url("/layout/mail-outline.svg")no-repeat center left;
	background-size: 20px;
}



@media only screen and (min-width: 1550px){
	#userIcon{
		order: 1;
		margin-right: 0;
	}
	#mainnavi{
		order: 2;
	}
}
@media only screen and (max-width: 1550px){
	#mainnavi {
		display: block;
		order: 2;
	}
	#mainnavi ul {
    	display: flex;
    	justify-content: flex-end;
    	padding-right: 2rem;
  	}
	#mobile_button{
		  display: none;
	}
	.mapAdressSearch{
		top: 105px!important;
		right: 0!important;
	}
	#toggleSearchBtn{
		display: inline-block!important;
		background-color: #fff!important;
		background-size: 30px!important;
		order: 3;
		margin-top: 10px;
		width: 35px;
		height: 35px;
		background-size: 20px!important;
	}
	#toggleSearchBtn.open {
	  background-image: url("/layout/exit.svg")!important;
	}
	#searchContainer{
		width: 0!important;
		overflow: hidden!important;
		transition: width 0.5s ease!important;
	}
	#searchContainer.open, .mapAdressSearchForm{
		width: 350px !important;
		z-index: 999!important;
		top: 100px!important;
		right: calc((100% - 350px)/ 2)!important;
	}
}
@media only screen and (max-width: 990px){
	#header{
		position: fixed;
  		width: 100%;
		height: 70px;
  		top: calc(100vh - 70px);
		border-top: solid 2px #1f3685;
		border-bottom: solid 2px #fff;
	}
	.mapAdressSearch{
		top: 105px!important;
		right: 0!important;
	}
	#toggleSearchBtn{
		margin-top: 0;
		width: 45px;
		height: 45px;
		order: 1;
		background-size: 25px !important;
	}
	#searchContainer.open, .mapAdressSearchForm{
		width: calc(100% - 3rem) !important;
		z-index: 999!important;
		top: -60px!important;
		right: -1rem!important;
		left: 4rem!important;
	}
	#mainnavi {
		display: none;
	}
	#mobile_button{
		  display: block;
	}
	.mapInput{
		width: calc(100% - 2rem - 40px)!important;
	}
	main, #map{
		margin-top: 0!important;
	}
	#header .logoLink{
	  	max-height: calc(70px - 1rem);
		display: flex;
		justify-content: flex-end;
		margin-right: 1.5rem;
	}
	#header .logo {
	  	max-height: 35px;
		background-position: right center;
	}
	footer{
		padding-bottom: calc(75px);
	}
	#cookie-preferences-admin{
		bottom: 80px!important;
  		left: 10px!important;
	}
	#mobileMenu {
	  position: absolute;
	  left: calc(50vw - 18px);
	}
	#nav{
		right: calc(50% - 105px);
		top: -222px;
	}
	#userMenu {
		top: -87px;
	}
	#userIcon{
		order: 2;
	}
	#userIcon.not-home{
		margin-left: 80px;
	}
	.scrollToTop{
		bottom: 67px;
	}
}
@media only screen and (max-width: 960px){
	footer #footerLinks{
		width: 100%;
		order: 1;
		padding-left: 0;
		padding-right: 0;
		justify-content: flex-start;
		margin-left: -0.5rem;
	}
	footer img{
		order: 2;
	}
	/*#forum h1, #forum p{
		text-align: center;
	}*/
	#header .logoLink{
		margin-right: 0;
	}
	#header .logoLink, #header .logo {
		width: 130px;
	}
	.ansprechpartnerBox{
		width: 100%;
	}
	.ansprechpartnerText{
		width: 68%;
	}
}
@media only screen and (max-width: 720px){
	footer{
		padding-top: 1.5rem;
	}
	footer #footerLinks p {
	  	margin: 1rem 0;
	}
	footer a{
		width: 100%;
	}
	.footerSeparator{
		display: none;
	}
}
@media only screen and (max-width: 703px){
	.ansprechpartnerBox img{
		margin-left: 0;
		margin-bottom: 1.5rem;
	}
	.ansprechpartnerBox{
		margin-bottom: 2rem;
	}
	.ansprechpartnerText{
		width: 100%;
	}
}