/* https://angel-rs.github.io/css-color-filter-generator/ */

:root {
	--bahn-z-route-scale-all: 20;
	--filter-green: invert(79%) sepia(66%) saturate(375%) hue-rotate(34deg) brightness(93%) contrast(83%);
	--filter-red: brightness(0) saturate(100%) invert(24%) sepia(80%) saturate(7268%) hue-rotate(347deg) brightness(86%) contrast(117%);
	--filter-pink: brightness(0) saturate(100%) invert(22%) sepia(97%) saturate(2744%) hue-rotate(291deg) brightness(98%) contrast(136%);
	--filter-yellow: brightness(0) saturate(100%) invert(61%) sepia(80%) saturate(408%) hue-rotate(353deg) brightness(102%) contrast(94%);
}

.l-bahn-projekt, .l-bahn-tid-projekt{
	stroke:red;
	stroke-width: 5;
}

.l-bahn-projekt:hover, .l-bahn-tid-projekt:hover{
	stroke:red;
	stroke-width: 9;
}

.l-bahn-strecken{
	stroke: black;
	stroke-width: 1;
}

.l-bahn-geb{
	stroke: red;
	fill: red;
	fill-opacity: 1;
}

.leaflet-grab{
	cursor: pointer!important;
}

.l-bahn-inverse{
	stroke-width: 1;
	stroke: black;
	stroke-dasharray: 5 10;
	fill: black;
	fill-opacity: 0.2;
}

.l-bahn-gk{
	stroke-width: 0;
	fill: #FFF000;
	fill-opacity: .3;
}

.l-bahn-icon-gk{
	stroke-width: 0;
	fill: #FFF000;
	fill-opacity: .5;
}

.l-bahn-wahlkreis{
	stroke: black;
	stroke-width: 1;
	fill: black;
	fill-opacity: 0;
}

.l-bahn-wahlkreis:hover{
	stroke: black;
	stroke-width: 1;
	fill: #FFF000;
	fill-opacity: 0.5;
}


.l-bahn-gemeinde{
	stroke: black;
	stroke-width: 1;
	fill: black;
	fill-opacity: 0;
}

.l-bahn-samtgemeinde{
	stroke: red;
	stroke-width: 3;
	fill: black;
	fill-opacity: 0.0;
}

.l-bahn-gemeinde:hover{
	stroke: black;
	stroke-width: 1;
	fill: #C9EB9E;
	fill-opacity: 0.5;
}

.l-bahn-landkreis{
	stroke: red;
	stroke-width: 3;
	fill: black;
	fill-opacity: 0.1;
}

.leg_damm {
	fill: #347DE0;
}

.popupmarker {
	content: url('');
}

.l-bahn-1700{
	stroke: black !important;
	stroke-width: 5 !important;
}

.l-bahn-be-fl{
	stroke: orange;
	stroke-width: 2;
	fill: orange;
	fill-opacity: 0.2;
}

.l-bahn-suchraum{
	stroke: black;
	stroke-width: 3;
	stroke-dasharray: 3 10;
	fill-opacity: 0;
}

.l-bahn-suchraum-intern{
	stroke: black;
	stroke-width: 3;
	stroke-dasharray: 3 10;
	fill: orange;
	fill-opacity: 0.2;
}

.l-bahn-hannover{
	stroke: blue;
	stroke-width: 3;
	stroke-dasharray: 3 10;
	fill: grey;
	fill-opacity: 0.0;
}


.l-bahn-fl {
	stroke: #347DE0;
	stroke-width: 0;
	fill: #347DE0; 
	fill-opacity: .8;
}

/*Freie Strecke*/
.l-bahn-publicTyp-0 {
	stroke-linecap: butt;
  stroke-width: 10;
  stroke: #347DE0 ;
  /*fill: blue;*/
  /*fill: rgba(0,0,255,1) !important;*/
  background-color: blue;
  /*fill-opacity: 1;*/
}

/*Brücke*/
.l-bahn-publicTyp-1 {
	stroke-linecap: butt;
  stroke-width: 10;
  stroke: #63A615 ;
}


/*Tunnel*/
.l-bahn-publicTyp-2 {
	stroke-linecap: butt;
  stroke-width: 10;
  stroke: #F39200;
  stroke-dasharray: 10 10;
  /*fill: green;*/
  /*fill: rgba(255,0,0,1);*/
  opacity: 0.8;
}


/* Damm, Anschnitt, Einschnitt */
.l-bahn-typ-0, .l-bahn-typ-1, .l-bahn-typ-8, .l-bahn-typ-9, .l-bahn-typ-10, .l-bahn-typ-11 {
	stroke-linecap: butt;
  stroke-width: 10;
  stroke: #347DE0 ;
  /*fill: blue;*/
  /*fill: rgba(0,0,255,1) !important;*/
  background-color: blue;
  /*fill-opacity: 1;*/
}

.l-bahn-typ-0:hover, .l-bahn-typ-1, .l-bahn-typ-8, .l-bahn-typ-9, .l-bahn-typ-10, .l-bahn-typ-11 {
	stroke-linecap: butt;
  stroke-width: 15;
  stroke: #347DE0 ;
  /*fill: blue;*/
  /*fill: rgba(0,0,255,1) !important;*/
  background-color: blue;
  /*fill-opacity: 1;*/
}

/* Brücke */
.l-bahn-typ-3, .l-bahn-typ-14, .l-bahn-typ-18 {
	stroke-linecap: butt;
  stroke-width: 10;
  stroke: #63A615 ;
  /*fill: red;/*
  /*fill: rgba(255,0,0,1);*/
}

.l-bahn-typ-3:hover, .l-bahn-typ-14, .l-bahn-typ-18 {
	stroke-linecap: butt;
  stroke-width: 15;
  stroke: #63A615 ;
  /*fill: red;/*
  /*fill: rgba(255,0,0,1);*/
}

/* Tunnel */
.l-bahn-typ-7, .l-bahn-typ-22, .l-bahn-typ-21 {
	stroke-linecap: butt;
  stroke-width: 10;
  stroke: #F39200;
  stroke-dasharray: 10 10;
  /*fill: green;*/
  /*fill: rgba(255,0,0,1);*/
  opacity: 0.8;
}

.l-bahn-typ-7:hover, .l-bahn-typ-22, .l-bahn-typ-21 {
	stroke-linecap: butt;
  stroke-width: 15;
  stroke: #F39200;
  stroke-dasharray: 10 10;
  /*fill: green;*/
  /*fill: rgba(255,0,0,1);*/
  opacity: 0.8;
}

.l-bahn-nsg{
	stroke-width: 0;
	fill: #63A615; 
	fill-opacity: .2;
}

.l-bahn-icon-nsg{
	stroke-width: 0;
	fill: #63A615; 
	fill-opacity: .2;
}

.l-bahn-ffh{
	stroke-width: 0;
	/*fill: #F8AB37;*/
	fill-opacity: .2;
	fill: url(#pattern-stripe-obb-45);
	filter: var(--filter-yellow);
}

.l-bahn-icon-ffh{
	stroke-width: 0;
	fill: #F8AB37;
	fill-opacity: .2;
}

.l-bahn-wsg{
	stroke-width: 0;
	fill: #1455C0;
	fill-opacity: .2;
}

.l-bahn-icon-wsg{
	stroke-width: 0;
	fill: #1455C0;
	fill-opacity: .2;
}

.l-bahn-v_korridor{
	stroke-width: 3;
	stroke-opacity: 1;
	stroke: #FACA7F;
	fill: #FACA7F;
	/*fill-opacity: .4;*/
	fill-opacity: 0.2;
	/*fill: url(#pattern-stripe-obb-45);*/
	/*filter: var(--filter-pink);*/
}

.l-bahn-v_korridor_cl{
	stroke-width: 0;
	stroke-opacity: 0;
	stroke: #FACA7F;
	fill: #FACA7F;
	/*fill-opacity: .4;*/
	fill-opacity: 0.5;
}

.l-bahn-v_korridor:hover{
	stroke-width: 4;
	stroke-opacity: 1;
	stroke: #FACA7F;
	fill: #FACA7F;
	/*fill-opacity: .4;*/
	fill-opacity: 0.5;
	/*fill: url(#pattern-stripe-obb-45);*/
	/*filter: var(--filter-pink);*/
}

.l-bahn-korridor-gruen{
	stroke-width: 0;
	stroke-opacity: .3;
	stroke: #9FD45F;
	fill: #9FD45F;
	fill-opacity: .3;
	/*fill: url(#pattern-stripe-45);*/
	/*filter: var(--filter-green);*/

}

.l-bahn-icon-korridor-gruen{
	stroke-width: 1;
	stroke-opacity: .8;
	stroke: #9FD45F;
	fill: #9FD45F;
	fill-opacity: .3;
	/*fill: url(#pattern-stripe-45);*/
	/*filter: var(--filter-green);*/
}

.l-bahn-korridor-rot {
	stroke-width: 0;
	stroke: red;
	stroke-opacity: .3;
  fill: red;
	fill-opacity: .3;
}

.l-bahn-gr{
	fill: #9FD45F !important;
	fill-opacity: .5 !important;
}

.l-bahn-red{
	fill: red !important;
	fill-opacity: .5 !important;
}


.l-bahn-icon-korridor-rot{
	opacity: .3;
	fill: red;
}

.l-bahn-spange{
	stroke-width: 0;
	fill: purple;
	fill-opacity: .3;
}

.l-bahn-icon-spange{
	opacity: .3;
	fill: purple;
}

.l-bahn-icon-trasse{
	stroke: blue;
}

.l-bahn-engpass {
	stroke: red;
	stroke-width: 8;
}

.l-bahn-oelweiche {
	stroke: #F8AB37;
	stroke-width: 8;
}

.l-bahn-ol-whv {
	stroke: #63A615;
	stroke-width: 8;
}

.l-bahn-osm {
	stroke: black;
	stroke-width: 2;
}

.l-bahn-icon_u1 {
	opacity: .6;
	fill: #afb4bb;
}

.l-bahn-icon_u2a {
	opacity: .6;
	fill: #508b1b;
}

.l-bahn-icon_u2b {
	opacity: .6;
	fill: #78be14;
}


.l-bahn-icon_u3 {
	opacity: .6;
	fill: #f75056;
}

.l-bahn-icon_u4 {
	opacity: .6;
	fill: #d77b00;
}

.l-bahn-icon_u5_1 {
	opacity: .6;
	fill: #309fd1;
}

.l-bahn-icon_u5_2 {
	opacity: .6;
	fill: #1455c0;
}

.l-bahn-icon_u5_3 {
	opacity: .6;
	fill: #00a099;
}

.l-bahn-icon_u6 {
	opacity: .6;
	fill: #e93e8f;
}

.l-bahn-icon_u7a {
	opacity: .6;
	fill: #ffd800;
}

.l-bahn-icon_u7b {
	opacity: .6;
	fill: #fff876;
}

.l-bahn-icon_u8 {
	opacity: .6;
	fill: #c05e00;
}

.l-bahn-icon_u9 {
	opacity: .6;
	fill: #c2a1c7;
}

.l-bahn-icon_r1 {
	opacity: .6;
	fill: #afb4bb;
}

.l-bahn-icon_r2 {
	opacity: .6;
	fill: #f8ab37;
}

.l-bahn-icon_r3 {
	opacity: .6;
	fill: #9fd45f;
}

.l-bahn-icon_r4 {
	opacity: .6;
	fill: #fcc8c3;
}

.l-bahn-icon_r5 {
	opacity: .6;
	fill: #fff876;
}

.l-bahn-icon_r6 {
	opacity: .6;
	fill: #73aef4;
}

.l-bahn-icon_r7 {
	opacity: .6;
	fill: #ec0017;
}

.l-bahn-icon_r8 {
	opacity: .6;
	fill: #83caca;
}