#karte table, #karte td {
	padding: 0px;
	border: 0px;
	margin: 0px;
}

* {
	-moz-box-sizing: border-box;
	-ms-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;	
}

html {
	scroll-behavior: smooth;
}

html, body, button, input, div {
	font-family: 'Lato', sans-serif;
	font-size: 14px;
}

html, body { 
	height: 100%; 
	margin: 0; 
	padding: 0; 
}

#karte button {
	border: none;
}

button.hide-controls {
	padding: 0px;
}

.button-row {
	width: 100%;
	margin-right: -10px;
	overflow: hidden;
}

.button-row:after {
	content: "";
	display: table;
	clear: both;
}

[class*='col-'] {
	float: left;
	padding-right: 5px; 
	padding-left: 5px;
}

.col-6 {
	width: 50%;
}

.col-6.last {
	padding-right: 0px;
	padding-left: 5px;
}

.col-6.first {
	padding-right: 5px;
	padding-left: 0px;
}

a.location-link {
	text-decoration: none;
}

a.location-link:hover {
	text-decoration: underline;
}

.abo-state {
	text-align: center;
	padding-right: 10px;
	width: 100px;
	float: right;
}

.abo-line {
	padding-bottom: 10px;
}

.lightgrey {
	color: #cbd6e0;
}

.mediumgrey {
	color: #5d7a8e;
}

.mediumgrey-background {
	background-color: #5d7a8e;
}

.green-banner {
	color: white;
	background-color: #5eb522;
	text-align: center;
	font-weight: bold;
}

.padding-10 {
	padding: 10px;
}

.green-banner .smiley {
	height: 40px;
	vertical-align: middle;
	margin-right: 10px;
}

.transparent-background, .transparent-background:hover {
	background-color: transparent;
}

.white {
	color: white;
}

#karte.included {
	height: 100%;
}

#karte .generate-sections-inside-container {
	padding-left: 0px !important;
	padding-right: 0px !important;
	padding-top: 0px !important;
}

#map-container {
	width: 100%;
	height: 1000px;
	position: relative;
}

#map { 
	height: 100%;
}

img.streetview {
	display: block;
	width: 100%;
	height: auto;
	max-height: 150px;
}

.streetview-label {
	font-size: 10px;
	color: #cbd6e0;
	width: 100%;
	text-align: right;
}

#large-overlay-box {
	display: none;
	z-index: 1000;
	background-color: rgba(0, 0, 0, 0.3);
	top: 0px;
	right: 0px;
	position: fixed;
	height: 100%;
	width: 100%;
}

.large-overlay {
	background-color: #2d5166;
	margin: auto;
	margin-top: 60px;
	width: 450px;
	height: 600px;
	position: relative;
	overflow: hidden;
	border-radius: 7px;
}

.large-overlay-content {
	background-color: #2d5166;
	width: 100%;
	height: 100%;
	overflow: auto;
	padding: 15px;
	position: absolute;
}

.notification {
	width: 100%;
	padding: 20px;
	border-radius: 7px;
	border: 1px solid transparent;
	margin-top: 10px;
	margin-bottom: 10px;
	font-weight: bold;
	font-size: 17px;
}

#karte button, #karte textarea {
	border-radius: 7px;
	border: none;
}

#karte .round-blue-button, .button-abo-cancel {
	height: 50px;
}

#karte textarea {
	height:80px;
}

.notification.green {
	border-color: #218f43;
	background-color: rgba(43, 143, 67, 0.3);
	color: #218f43;
}

.notification.red {
	border-color: #b33021;
	background-color: rgba(179, 48, 33, 0.3);
	color: #b33021;
}

.overlay-title {
	color: white;
	font-size: 20px;
	text-align: center;
	width: 100%;
	margin-bottom: 15px;
	margin-top: 10px;
}

.overlay-subtitle {
	color: white;
	font-size: 17px;
	text-align: center;
	width: 100%;
	margin-bottom: 10px;
}

.overlay-bottom-space {
	height: 80px;
}

.overlay-bottom-navi {
	height: 80px;
	position: absolute;
	width: 100%;
	bottom: 0px;
	background-color: rgba(45,81,102,0.7);
}

.overlay-dropdown-area {
	background-color: #cbd6e0;
	border-bottom-left-radius: 8px;
	border-bottom-right-radius: 8px;
	margin-bottom: 10px;
}

.overlay-dropdown-area:not(.open) {
	display: none;
}

.overlay-button {
	background-color: #5d7a8e;
	text-align: left;
	width: 100%;
	padding: 10px;
	border: none;
	height: 50px;
	color: white;
	margin-bottom: 10px;
}

.overlay-dropdown-area .overlay-button {
	background-color: transparent;
	color: #2d5166;
	margin-bottom: 0px;
}

.overlay-button.dropdown.down {
	border-bottom-right-radius: 0px !important;
	border-bottom-left-radius: 0px !important;
	margin-bottom: 0px;
}

.overlay-textarea {
	background-color: white;
	border: none;
	text-align: left;
	width: 100%;
	padding: 10px;
	height: 80px;
	color: #00081f;
	margin-bottom: 10px;
}

#report-form input[type=text], #report-form input[type=email], .email-form input[type=email], .email-form input[type=text] {
	border-radius: 7px;
	background-color: white;
	border: none;
	text-align: left;
	width: 100%;
	padding: 10px;
	color: #00081f;
	margin-bottom: 10px;
}

#email-abo {
	margin-top: 10px;
}
.email-form input[type=checkbox] {
	margin-right: 10px;
}
label[for=abo-check], label[for=abo-check2] {
	line-height: 1.4;
}

#report-form input[type=file], #comment-form input[type=file] {
	width: 0.1px;
	height: 0.1px;
	opacity: 0;
	overflow: hidden;
	position: absolute;
	z-index: -1;
}	

.inputfile + label {
	cursor: pointer; 
}

.inputfile:focus + label {
	outline: 1px dotted #000;
	outline: -webkit-focus-ring-color auto 5px;
}

label.file-button {
	position: relative;
	background-position: left;
	background-repeat: no-repeat;
	background-size: 50px 50px;
	border-radius: 7px;
	border: none;
	height:50px;
	width: 100%;
	background-color: #5d7a8e;
	text-align: left;
	padding: 10px;
	padding-left: 50px;
	border: none;
	color: white;
	margin-bottom: 10px;
	overflow: hidden;
	display: inline-block;
	padding-top: 17px;
	cursor: pointer;
	background-image: url(../../img/kamera.png);
}

#comment-form label.file-button {
	background-color: white;
	border: 1px solid #00081f;
	margin-bottom: 5px;
	color: #808080;
	background-image: url(../../img/kamera-pos.png);
}

img.clear-button {
	position: absolute;
	width: 50px;
	height: 50px;
	right: 0px;
	top: 0px;
	cursor: pointer;
}

.comment-form {
	display: none;
}

.comment-form input[type=text], .comment-form input[type=email], .comment-form textarea {
	border-radius: 7px;
	background-color: white;
	border: 1px solid #2d5166 !important;
	text-align: left;
	width: 100%;
	padding: 10px;
	color: #00081f;
	margin-bottom: 10px;
}

#report-form a, #report-form, .email-form, .email-form a, #report-callout a, .center-dialog a, #alert a {
	color: white;
}

#report-form a, .email-form a {
	text-decoration: underline;
}

.callout-button {
	background-position: left;
	background-repeat: no-repeat;
	background-size: 40px 40px;
	padding-left: 40px;
	text-align: left;
	width: 100%;
	padding-right: 0px;
	min-height: 40px;
}

.overlay-button.image, .overlay-button.radio, .overlay-button.checkbox, .overlay-button.checkbox2, .overlay-button.dropdown {
	background-position: left;
	background-repeat: no-repeat;
	background-size: 50px 50px;
	padding-left: 50px;
}

#layer-menu-icon {
	position: absolute;
	bottom: 20px;
	left: 20px;
	height: 30px;
	width: 30px;
	z-index: 998;
	background-color: #2d5166;
	border-radius: 8px;
}

#layer-menu-icon img {
	width: 30px;
	height: 30px;
}

#layer-menu {
	position: absolute;
	bottom: 20px;
	left: 60px;
	z-index: 998;
	padding: 0px 10px;
	border: 1px solid #2d5166;
	background-color: white;
	border-radius: 8px;
	min-width: 150px;
}

.layer-menu input[type="checkbox"], .layer-menu input[type="radio"] {
	position: absolute;
	opacity: 0;
	width: 18px;
	height: 18px;
}

.layer-menu input[type="checkbox"]:focus + label:before {
	outline: 2px solid #007BFF;
	outline-offset: 2px;
	border-radius: 4px;
}

.layer-menu input[type="radio"]:focus + label:before {
	outline: 2px solid #007BFF;
	outline-offset: 2px;
	border-radius: 8px;
}
  

.layer-menu input[type=radio] + label::before, .layer-menu input[type=checkbox] + label::before {
	content: "";
	background-image: url(../../img/radio-off-pos.png);
	display: inline-block;
	width: 30px;
	height: 30px;
	background-size: 30px 30px;
	margin-left: -30px;
	line-height: 30px;
	vertical-align: middle;
}

.layer-menu input[type=radio]:checked + label::before {
	background-image: url(../../img/radio-on-pos.png);
}

.layer-menu input[type=checkbox] + label::before {
	background-image: url(../../img/checkbox-off-pos.png);
}

.layer-menu input[type=checkbox]:checked + label::before {
	background-image: url(../../img/checkbox-on-pos.png);
}

.layer-menu input[type=radio] + label, .layer-menu input[type=checkbox] + label {
	margin-left: 24px;
	line-height: 30px;
}

.layer-menu label {
	display: block;
}

.layer-menu label img {
	height: 30px;
	vertical-align: middle;
}
.layer-menu label div {
	display: inline;
	line-height: 30px;
	vertical-align: middle;
	color: #2d5166;
}

.layer-menu .line {
	margin-top: 3px;
	margin-bottom: 3px;
}

.layer-menu .legend {
	margin-left: 30px;
	height: 20px;
}

#remark-filter {
	position: absolute;
	bottom: 20px;
	left: 270px;
	width: 270px;
	z-index: 998;
	padding: 0px 10px;
	border: 1px solid #2d5166;
	background-color: white;
	border-radius: 8px;
}

.div-unfalldata {
	opacity: 0.5; 
	pointer-events: none;
}

.overlay-button.radio {
	background-image: url(../../img/radio-off.png);
}

.overlay-button.checkbox {
	background-image: url(../../img/checkbox-off.png);
}

.overlay-button.checkbox2 {
	background-image: url(../../img/checkbox-off-pos.png);
}

.overlay-dropdown-area .overlay-button.radio, input[type=radio] {
	background-image: url(../../img/radio-off-pos.png);
}

.overlay-button.image.active {
	background-color: #b33021;
}

.overlay-dropdown-area .overlay-button.radio.active, input[type=radio]:checked {
	background-image: url(../../img/radio-on-pos.png);
}

.overlay-button.radio.active {
	background-image: url(../../img/radio-on.png);
}

.overlay-button.checkbox.active {
	background-image: url(../../img/checkbox-on.png);
	background-color: #b33021;
}

.overlay-button.checkbox2.active {
	background-image: url(../../img/checkbox-on-pos.png);
}

.overlay-button.dropdown img {
	height: 50px;
	width: auto;
	position: absolute;
	margin-top: -15px;
	margin-left: -50px;
	-webkit-transition: -webkit-transform .4s ease-in-out;
    -ms-transition: -ms-transform .4s ease-in-out;
    transition: transform .4s ease-in-out;
}

.overlay-button.dropdown {
	-webkit-transition: -webkit-transform .4s ease-in-out;
    -ms-transition: -ms-transform .4s ease-in-out;
    transition: transform .4s ease-in-out;
}

.overlay-button.dropdown.arrowdown img {
    transform:rotate(-180deg);
    -ms-transform:rotate(-180deg);
    -webkit-transform:rotate(-180deg);
}

.page-indicator {
	position: absolute;
	width: 100%;
	text-align: center;
	bottom: 15px;
}

.page-indicator div {
	cursor: pointer;
	background-image: url(../../img/radio-off.png);
	display: inline-block;
	height: 50px;
	width: 50px;
	background-position: center;
	background-size: 30px 30px;
	background-repeat: no-repeat;
}

.page-indicator div.active {
	background-image: url(../../img/radio-on.png);
}

.button-navi-next, .button-navi-next:hover {
	background-image: url(../../img/rechts.png);
	background-position: left;
	background-repeat: no-repeat;
	background-size: 50px 50px;
	position: absolute;
	bottom: 15px;
	right: 15px;
	width: 50px;
	height: 50px;
}

.button-navi-next.check {
	background-image: url(../../img/haekchen.png);
}

.button-comment-send {
	margin-top: 10px;
	background-image: url(../../img/haekchen.png);
	background-position: left;
	background-repeat: no-repeat;
	background-size: 50px 50px;
	padding-left: 50px;
	width: 100%;
	color: white;
	min-height: 40px;
}


.button-abo-cancel {
	background-color: #5d7a8e;
	background-image: url(../../img/abbrechen.png);
	background-position: left;
	background-repeat: no-repeat;
	background-size: 50px 50px;
	padding-left: 50px;
	width: 100%;
	color: white;
}

.button-abo-cancel-container {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	right: 0;
	padding: 15px;
}


.button-navi-back, .button-navi-back:hover {
	display: none;
	background-image: url(../../img/links.png);
	background-position: left;
	background-repeat: no-repeat;
	background-size: 50px 50px;
	position: absolute;
	bottom: 15px;
	left: 15px;
	width: 50px;
	height: 50px;
}

.bold {
	font-weight: bold;
}

.callout-icon {
	border-radius: 7px;
	height: 37px;
	width: 37px;
	margin-right: 5px;
	background-color: #5d7a8e;
	display: inline-block;
	line-height: 37px;
	text-align: center;
}

.callout-comment-image {
	float: right;
	width: 30%;
}

.callout-comments .item img {
	margin-left: 5px;
	margin-right: 5px;
}

.callout-comments .item.view-filter {
	background-color: #2d5166;
	padding-top: 10px;
	padding-bottom: 10px;
	border-radius: 8px;
}

.callout-comments p.left {
	float: left;
	width: 80%;
}

.callout-comments .item.client {
	background-color: #fefee2;
	color: #2d5166;
	padding-top: 5px;
	padding-bottom: 5px;
	border-radius: 5px;
}

.callout-comments .item.client img { 
	margin-top: 5px;
}

.callout-comments p.lefts {
	float: left;
	width: 55%;
}

.callout-comments .clear {
	clear: both;
}

.line {
	width: 100%;
	height: 1px;
	background-color: #5d7a8e;
	margin-top: 10px;
	margin-bottom: 10px;
}


.callout-comments .line {
	background-color: #cbd6e0;
}

.center-dialog .line {
	background-color: #5d7a8e;
}

#header {
	background-color: #2d5166;
	position: fixed;
	height: 50px;
	width: 100%;
	z-index: 1000;
}

#header .logo {
	height: 40px;
	margin-top: 5px;
	margin-left: 25px;
}

.search-box {
	z-index: 50;
	width: 100%;
	padding-top: 15px;
	padding-left: 10px;
	padding-right: 10px;
	position: relative;
}

#karte.included .search-box {
	padding-top: 20px;
}

.search-box input, .route-search-container input[type=text] {
	width: 100%;
	border-radius: 7px;
	background-color: white;
	height: 50px;
	padding: 10px 50px 10px 10px;
	border: solid 1px #2d5166;
}

.bold {
	font-weight: bold;
}

.normal {
	font-weight: normal;
}

.primaryColor {
	color: #2d5166;
}

#karte button.clear, #karte button.clear:hover {
	background-color: transparent;
}

.search-box button, .search-box img { 
	position: absolute;
	right: 0px;
	width: 50px;
	height: 50px;
	top: 0px;
}

.searchresult {
	position: absolute;
	width: 100%;
	padding-left: 7px;
	padding-right: 107px;
	z-index: 1001;
}

.searchresult p {
	padding: 10px;
	margin: 0px;
}

.searchresult ul {
	padding: 0px;
	margin: 0px;
	border: 1px solid #c0c0c0;
	box-shadow: rgba(100, 100, 111, 0.3) 10px 10px 10px 10px;
}

.searchresult li { 
	cursor: pointer;
	background: white; 
	padding: 10px;
	list-style-type: none;
}

.searchresult li:nth-child(odd) { 
	background: #f0f0f0; 
}

.searchresult li:hover {
	background: #2d5166;
	color: white;
}

#filter-menu {
	display: none;
	position: absolute;
	background-color: white;
	border: 1px solid #2d5166;
	padding-left: 10px;
	padding-right: 10px;
	padding-bottom: 10px;
	color: #2d5166;
	z-index: 999;
	right: 0;
	margin: 10px;
	border-radius: 7px;
	overflow: scroll;
}

#filter-menu .callout-icon {
	color: white;
}

.center-container {
	width: 100%;
	height: 100%;
	max-width: 1100px;
	margin: 0 auto;
	overflow: hidden;
	position: relative;
}

.overlay {
	position: absolute;
	top: 0px;
	bottom: 0px;
	width: 100%;
}

.leaflet-top,
.leaflet-bottom {
  position: absolute;
  z-index: 499; /* was 1000 */
  pointer-events: none;
}
#comment-detail {
	display: none;
	padding-bottom: 15px;
}

/* Controls */

#button-current-location, .search-box, #button-report, #button-scroll-down {
	z-index: 500;
} 

#search-box2 {
	z-index: 499;
	display: none;
}

.route-search-container {
	display: none;
	z-index: 999;
	position: absolute;
	top: 0px;
	bottom: 0px;
	left: 0px;
	width: 500px;
	max-width: 100%;
	background-color: white;
	box-shadow: rgba(100, 100, 111, 0.8) 0px 7px 29px 0px;
	overflow-y: scroll;
}

.route-search-container-inner {
	clear: both;
	padding: 20px;
}

.route-search-title {
	margin-left: 20px;
	margin-top: 10px;
	line-height: 50px;
	font-size: 15px;
}

.route-input-line {
	margin-top: 15px;
	margin-bottom: 15px;
}

.route-input-line::after {
	content: "";
	clear: both;
}

.route-search-text-container {
	overflow: auto;
	width: auto;
}

.icon {
	width: 50px;
	height: 50px;
}

.left {
	float: left;
}

.turn-icon {
	float: right;
	margin-top: 47px;
}

.route-level-marker {
	position: absolute;
	top: 0;
	left: 0;
	border: 2px solid #2d5166;
	bottom: 3px;
	width: 60%;
	border-bottom-left-radius: 8px;
	border-top-left-radius: 8px;
}

.route-method-container {
	float: left;
	display: inline;
	margin-bottom: 0px;
}

#route-open-button {
	float: right;
	position: relative;
	margin-left: 10px;
	border-radius: 8px;
}

#route-open-button img {
	margin-left: 0px;
}

#route-results {
	display: none;
}

#route-disclaimer {
	padding-top: 50px;
}

.route-result {
	z-index: 500;
	position: absolute;
	background-color: white;
	border-radius: 7px;
	border: 1px solid #2d5166;
	padding: 10px;
	display: inline;
	display: none;
	margin-top: 20px;
	right: 10px;
}

.search-box .callout-icon {
	position: relative;
	float: right;
	margin-left: 10px;
	margin-right: 0px;
	height: 50px;
	width: 50px;
	color: white;
	line-height: 50px;
}

.foreground {
	z-index: 50;
}

.round-blue-button {
	background-color: #2d5166;
	overflow: hidden;
}

.pointer {
	cursor: pointer;
}

#tint-screen, #streetview-tint-screen {
	background-color: rgba(0, 0, 0, 0.5);
	z-index: 1002;
	position: fixed;
	top: 0px;
	width: 100%;
	height: 100%;
	display: none;
}

#tint-screen img {
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
}

.loader {
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 2000;
	border: 10px solid #cbd6e0; 
	border-top: 10px solid #2d5166; 
	border-radius: 50%;
	width: 80px;
	height: 80px;
	animation: spin 2s linear infinite;
}

#streetview-container {
	width: auto;
	height: 90%;
	margin: 10px;
	margin-top: 60px;
	background-color: white;
}

#alert {
	z-index: 1001;
}

#report-callout, .center-dialog {
	z-index: 1000;
}

#alert, #report-callout, .center-dialog {
	display: none;
	position: fixed;
	width: 400px;
	overflow-y: scroll;
	max-height: calc(90% - 150px);
  	top: 50%;
	left: 50%;
	margin-left: -160px;
	margin-top: -100px;
	background-color: #2d5166;
	color: white;
	border-radius: 7px;
	-webkit-box-shadow: 3px 3px 10px 2px rgba(0,0,0,0.75);
	-moz-box-shadow: 3px 3px 10px 2px rgba(0,0,0,0.75);
	box-shadow: 3px 3px 10px 2px rgba(0,0,0,0.75);
}

#alert {
	background-color: #5d7a8e;
}

#alert.red {
	background-color: #b33021;
}

#detail-overlay {
	display: inline-block;
}
#detail-overlay {
	padding: 10px 0px 0px 10px;
	display: none;
	position: absolute;
	z-index: 1002;
	background-color: #2d5166;
	color: white;
	border-radius: 7px;
	-webkit-box-shadow: 3px 3px 10px 2px rgba(0,0,0,0.75);
	-moz-box-shadow: 3px 3px 10px 2px rgba(0,0,0,0.75);
	box-shadow: 3px 3px 10px 2px rgba(0,0,0,0.75);
}

#report-callout .alert-title {
	font-size: 26px;
	line-height: 30px;
	font-weight: normal;
}

.center-dialog {
	display: inline;
	top: 170px;
}

#alert .entry {
	border-bottom: 1px solid #c0c0c0;
	padding-top: 5px;
	padding-bottom: 5px;
	cursor: pointer;
	background-image: url(../../img/pin.png);
	background-position: left;
	background-repeat: no-repeat;
	background-size: 50px 50px;
	padding-left: 50px;
}

#alert .entry:hover {
	background-color: #5d7a8e;
}

#report-callout {
	overflow: hidden;
	top: 30px;
	position: absolute;
	margin-top: 0px;
	max-height: 90%;
  	overflow-y: scroll;
}

#karte.included #report-callout {
	overflow-y: scroll;
	max-height: 90%;	
}

#report-callout span.sender {
	color: #cbd6e0;
	font-size: 12px;
}

#report-callout span.comment {
	color: white;
	font-size: 15px;
}

#report-callout .callout-comments .item.client span.sender, #report-callout .callout-comments .item.client span.comment {
	color: #2d5166;
}

.callout-comments {
	background-color: #5d7a8e;
	padding: 10px;
	overflow: hidden;
}

.callout-comments p {
	margin: 0px;
	padding: 0px;
}

.close-alert, .close-alert:hover {
	padding: 0px;
	float: right;
	width: 50px;
	height: 50px;
	background-color: transparent;
}

div.button {
	display: inline;
	padding: 10px 7px 10px 7px;
	color: #5d7a8e;
	font-weight: bold;
	cursor: pointer;
}

#alert button.overlay-button, #alert .button {
	border-radius: 5px;
	background-color: #00963e;
	text-align: center;
	margin-top: 20px;
	width: 100%;
	color: white;
	display: inline-block;
}

.report-info {
	float: left;
	width: 50px;
	height: 50px;
	cursor: pointer;
}

.support-ball {
	display: inline-block;
	height: 20px;
	width: 20px;
	border-radius: 10px;
	top: 5px;
	position: relative;
	margin-right: 5px;
}

#alert-title, .alert-title {
	color: white;
	padding-left: 10px;
	padding-top: 10px;
	font-weight: bold;
	font-size: 17px;
}

#alert-content, .alert-content {
	padding: 10px;
}

#button-current-location {
	background-image: url(../../img/position.png);
	background-position: center;
	background-repeat: no-repeat;
	background-size: 30px 30px;
	border-radius: 5px;
	position: absolute;
	bottom: 110px;
	right: 10px;
	width: 30px;
	height: 30px !important;
}

.filter-button {
	background-position: center right;
	background-repeat: no-repeat;
	background-size: 30px 30px;
	background-color: #2d5166;
	min-width: 50px;
	color: white;
	float: right; 
	margin-left: 10px;
}

#button-report, #button-report-now, #route-button {
	background-image: url(../../img/pin.png);
	background-position: left;
	background-repeat: no-repeat;
	background-size: 50px 50px;
	color: white;
	padding-left: 50px;
	padding-right: 10px;
	position: absolute;
	bottom: 60px;
	left: 50%;
	margin-left: -100px;
}

#route-button {
	background-image: url(../../img/navigation.png);
	position: relative;
	float: right;
	left: 0;
	bottom: 0;
}

.route-method {
	border-radius: 8px;
}

.route-method.active {
	background-color: #5d7a8e;
}

.route-result-value {
	margin-top: 10px;
	margin-right: 50px;
	float: right;
	text-align: right;
}

.route-result-label {
	line-height: 50px;
}

#button-report.partner, #button-report-now.partner {
	bottom: 10px;
}

#button-report-now {
	display: none;
}

#button-scroll-down {
	color: #2d5166;
	background-color: white;
	padding-left: 10px;
	padding-right: 10px;
	position: absolute;
	bottom: 15px;
	left: 50%;
	padding-top: 0px;
	margin-left: -50px;
	height: 35px !important;
	line-height: 35px;
	border: solid 1px #2d5166 !important;
}

#embed-container, #embed-container-school {
	position: fixed;
	z-index: 1001;
	width: 100%;
	height: 15px;
	background-color: #2d5166;
	color: white;
	padding-right: 10px;
	padding-left: 10px;
}

#embed-container img, #embed-container-school img {
	height: 100%;
	width: auto;
	display: inline-block;
}

#embed-container-school {
	background-color: #6eb63b;
}

.embed-menu {
	font-size: 9px;
	display: inline-block;
	float: right;
}

.embed-menu a {
	color: white;
	text-decoration: none;
}

.red:not(.notification) {
	background-color: #b33021 !important;
}

.center-button {
	width: 100%;
	padding: 10px;
	text-align: center;
}

.height-30 {
	height: 30px !important;
	line-height: 30px;
	padding-top: 0px;
	padding-bottom: 0px;
}

.height-40 {
	height: 40px !important;
	line-height: 40px;
	padding-top: 0px;
	padding-bottom: 0px;
}

.height-50 {
	height: 50px !important;
	line-height: 50px;
	padding-top: 0px;
	padding-bottom: 0px;
}

.width100p {
	width: 100% !important;
}

.margin-bottom-5 {
	margin-bottom: 5px;
}

.margin-top-10 {
	margin-top: 10px;
}

.green {
	color: #00963e;
}

button.green {
	background-color: #00963e;
	font-weight: bold;
	color: white;
}

button.red {
	font-weight: bold;
	color: white;
}

button.light {
	background-color: #5d7a8e;
}

#street-view {
	display: none;
	width: 100%; 
	height: 200px;
}

.social-icon {
	height: 30px;
	width: auto;
	margin-right: 10px;
}

.social-link {
	line-height: 30px;
}

.callout-comment-textarea {
	margin-bottom: 10px;
	padding: 10px 10px 10px 50px;
	width: 100%;
	background-image: url(../../img/kommentieren-pos.png);
	background-position: left;
	background-repeat: no-repeat;
	background-size: 50px 50px;
}

.filter-info {
	padding: 10px;
}

.leaflet-marker-icon {
	opacity: 0.75 !important;
}

#map.osm .leaflet-tile-pane .leaflet-layer:first-child {
	filter: saturate(30%) brightness(102%);
}

.leaflet-filled-circle {
	fill: url(#gs-gradient) #2d5166;
}

.not-schulweglabel {
	display: none;
}

#lupe {
	position: absolute;
	left: 600px;
	top: 300px;
	z-index: 401;
	height: 300px;
	width: 300px;
	pointer-events: none;
}

#lupe-click {
	cursor: pointer;
	position: absolute;
	right: -30px;
	top: -30px;
	width: 85px;
	height: 50px;
	pointer-events: all;
}

#hole {
	position: absolute;
	z-index: 400;
	top: 600px;
	left: 300px;
	width: 200px;
	height: 200px;
	border-radius: 300px;
	box-shadow: 0 0 0 9999px rgba(0, 0, 0, 0.2);
	pointer-events: none;
}

.inactive {
	opacity: 0.5;
	pointer-events: none;
}

/**
 * School
 */

.remark-image {
	max-height: 300px;
	min-height: 300px;
}

.leaflet-mouse-marker {
	border-radius: 20px;
	background-color: #6692b5;
	height: 20px;
	width: 20px;
}

.leaflet-editing-icon {
	border-radius: 20px;
}

.leaflet-edit-marker-selected {
	background-color: rgba(0, 73, 132, 0.1);
	border: 4px dashed rgba(0, 73, 132, 0.6);
	-webkit-border-radius: 4px;
	border-radius: 4px;
	box-sizing: content-box;
}

.hinweis-marker {
	z-index: 2000 !important;	
}

.bg-marker {
	background-size: 45px;
	background-repeat: no-repeat;
	background-position: -5px;
	border-radius: 8px;
}

#remark-filter label img {
	margin-left: 5px;
	margin-right: 8px;
	margin-top: 3px;
	margin-bottom: 3px;
}

.category-allgemein {
	background-image: url(../../img/icon-allgemein-white.png);
	background-color: #004984;
}

.category-pedibus {
	background-image: url(../../img/icon-pedibus-white.png);
	background-size: 35px;
	background-position: 0px;
	border-radius: 0px;
}

.category-schulweg {
	background-image: url(../../img/icon-schulweg-white.png);
	background-color: #6eb63b;
}

.category-gefahrenhinweis {
	background-image: url(../../img/icon-gefahrenhinweis-white.png);
	background-color: #f7971b;
}

[class*=places-]:not(.places-all) .portal-icon {
	background-color: transparent;
}

[class*=fachhinweise-] .portal-icon {
	background-color: transparent;
	background-size: 40px !important;
	background-position:-6px;
	border-radius: 0px;
}

.fachhinweise-all .portal-icon {
	background-color: #004984;
	background-size: 26px !important;
	background-position: 0px;
	border-radius: 4px;
}

.fachhinweise-allgemein .portal-icon, .remarks-allgemein img {
	background-color: #004984;
	background-size: 30px !important;
	background-position: -2px;
	border-radius: 4px;
}

.fachhinweise-pedibus .portal-icon, .fachhinweise-schulweg .portal-icon, .remarks-pedibus img, .remarks-schulweg img {
	background-color: #6eb63b;
	background-size: 30px !important;
	background-position: -2px;
	border-radius: 4px;
}

.fachhinweise-gefahrenhinweis .portal-icon, .remarks-gefahrenhinweis img {
	background-color: #f7971b;
	background-size: 30px !important;
	background-position: -2px;
	border-radius: 4px;
}

.schulwege-routing-button-text {
	display: inline;  
	color: white; 
	line-height: 50px; 
	margin-left: 10px;
}

.leaflet-tooltip {
	font-size: 14px;
}

@keyframes spin {
	0% { transform: rotate(0deg); }
	100% { transform: rotate(360deg); }
}

@media (max-width: 550px) {
	#remark-filter {
		right: 10px;
		left: unset;
	}
}

@media (max-width: 768px) {
	#layer-menu {
		display: none;
	}
	.show-on-l {
		display: none;
	}
}

@media (max-width: 500px) {
	.hide-on-s {
		display: none;
	}
	.large-overlay {
		width: 100%;
	}
	#alert {
		width: 90%;
		margin-left: -45%;
	}
  	#report-callout, .center-dialog {
		position: fixed;
		width: 100%;
		height: 100%;
		top: 0;
		left: 0;
		margin: 0px;
		overflow-y: scroll;
  	}
	#filter-button {
		background-position: center;
	}
	.searchresult {
		padding-right: 87px;
	}
	.route-method-container {
		float: none;
		display: block;
		margin-bottom: 20px;
	}	
	#route-button {
		float: left; 
		margin-left: 50px;
	}
}

@media (min-width: 500px) {
	.hide-on-m {
		display: none;
	}
}
@media (min-width: 768px) {
	#lupe {
		height: 400px;
		width: 400px;
	}
	#hole {
		height: 300px;
		width: 300px;
	}
	#lupe-click {
		right: -25px;
		top: -25px;
		width: 115px;
		height: 70px;	
	}
}
@media (max-height: 700px) {
	.large-overlay {
		margin-top: 0px;
		height: 100%;
	}
}
