]> git.openstreetmap.org Git - rails.git/blobdiff - vendor/assets/iD/iD.css.erb
Merge remote-tracking branch 'upstream/pull/5304'
[rails.git] / vendor / assets / iD / iD.css.erb
index 39f6ea5893a4da6324a3b1cdd69129905afd1e94..83db1687cf000f25f12e9cea7dae3fed6fed096b 100644 (file)
@@ -96,8 +96,7 @@
 
 .ideditor input[type="checkbox"],
 .ideditor input[type="radio"] {
 
 .ideditor input[type="checkbox"],
 .ideditor input[type="radio"] {
-    -webkit-box-sizing: border-box;
-            box-sizing: border-box; /* 1 */
+    box-sizing: border-box; /* 1 */
     padding: 0; /* 2 */
 }
 
     padding: 0; /* 2 */
 }
 
 
 .ideditor input[type="search"] {
     -webkit-appearance: none; /* 1 */
 
 .ideditor input[type="search"] {
     -webkit-appearance: none; /* 1 */
-    -webkit-box-sizing: border-box;
-            box-sizing: border-box;
+    box-sizing: border-box;
 }
 
 /*
 }
 
 /*
 /* No interactivity except what we specifically allow */
 .ideditor .data-layer.osm *,
 .ideditor .data-layer.notes *,
 /* No interactivity except what we specifically allow */
 .ideditor .data-layer.osm *,
 .ideditor .data-layer.notes *,
-.ideditor .data-layer.keepRight *,
-.ideditor .data-layer.improveOSM * {
+.ideditor .data-layer.keepRight * {
     pointer-events: none;
 }
 
     pointer-events: none;
 }
 
     font-size: 12px;
     font-weight: bold;
     fill: #333;
     font-size: 12px;
     font-weight: bold;
     fill: #333;
-    -webkit-transition: opacity 100ms linear;
-    -o-transition: opacity 100ms linear;
     transition: opacity 100ms linear;
 }
 
     transition: opacity 100ms linear;
 }
 
 
 
 /* Wikidata-tagged */
 
 
 /* Wikidata-tagged */
-.ideditor g.point.tag-wikidata path.stroke {
+.ideditor g.point.tag-wikidata path.stroke,
+.ideditor g.vertex.tag-wikidata circle.stroke {
     stroke-width: 2px;
     stroke: #666;
     fill: #eee;
 }
     stroke-width: 2px;
     stroke: #666;
     fill: #eee;
 }
-.ideditor g.point.tag-wikidata .icon {
+.ideditor g.point.tag-wikidata .icon,
+.ideditor g.vertex.tag-wikidata .icon {
     color: #666;
 }
 
     color: #666;
 }
 
 .ideditor path.stroke.tag-leisure-pitch,
 .ideditor path.stroke.tag-leisure-track,
 .ideditor path.stroke.tag-natural,
 .ideditor path.stroke.tag-leisure-pitch,
 .ideditor path.stroke.tag-leisure-track,
 .ideditor path.stroke.tag-natural,
-.ideditor path.stroke.tag-natural-wood {
+.ideditor path.stroke.tag-natural-wood,
+.ideditor path.stroke.tag-golf-tee,
+.ideditor path.stroke.tag-golf-fairway,
+.ideditor path.stroke.tag-golf-rough,
+.ideditor path.stroke.tag-golf-green {
     stroke: rgb(140, 208, 95);
 }
 .ideditor path.fill.tag-barrier-hedge,
     stroke: rgb(140, 208, 95);
 }
 .ideditor path.fill.tag-barrier-hedge,
 .ideditor path.fill.tag-leisure-pitch,
 .ideditor path.fill.tag-leisure-track,
 .ideditor path.fill.tag-natural,
 .ideditor path.fill.tag-leisure-pitch,
 .ideditor path.fill.tag-leisure-track,
 .ideditor path.fill.tag-natural,
-.ideditor path.fill.tag-natural-wood {
+.ideditor path.fill.tag-natural-wood,
+.ideditor path.fill.tag-golf-tee,
+.ideditor path.fill.tag-golf-fairway,
+.ideditor path.fill.tag-golf-rough,
+.ideditor path.fill.tag-golf-green {
     stroke: rgba(140, 208, 95, 0.3);
     fill: rgba(140, 208, 95, 0.3);
 }
     stroke: rgba(140, 208, 95, 0.3);
     fill: rgba(140, 208, 95, 0.3);
 }
 .ideditor path.stroke.tag-amenity-fountain,
 .ideditor path.stroke.tag-leisure-swimming_pool,
 .ideditor path.stroke.tag-natural-bay,
 .ideditor path.stroke.tag-amenity-fountain,
 .ideditor path.stroke.tag-leisure-swimming_pool,
 .ideditor path.stroke.tag-natural-bay,
+.ideditor path.stroke.tag-natural-strait,
 .ideditor path.stroke.tag-natural-water {
     stroke: rgb(119, 211, 222);
 }
 .ideditor path.fill.tag-amenity-fountain,
 .ideditor path.fill.tag-leisure-swimming_pool,
 .ideditor path.fill.tag-natural-bay,
 .ideditor path.stroke.tag-natural-water {
     stroke: rgb(119, 211, 222);
 }
 .ideditor path.fill.tag-amenity-fountain,
 .ideditor path.fill.tag-leisure-swimming_pool,
 .ideditor path.fill.tag-natural-bay,
+.ideditor path.fill.tag-natural-strait,
 .ideditor path.fill.tag-natural-water {
     stroke: rgba(119, 211, 222, 0.3);
     fill: rgba(119, 211, 222, 0.3);
 .ideditor path.fill.tag-natural-water {
     stroke: rgba(119, 211, 222, 0.3);
     fill: rgba(119, 211, 222, 0.3);
 
 
 /* Tan things */
 
 
 /* Tan things */
-.ideditor path.stroke.tag-landuse-farmyard {
+.ideditor path.stroke.tag-landuse-farmyard,
+.ideditor path.stroke.tag-leisure-horse_riding {
     stroke: rgb(245, 220, 186);
 }
     stroke: rgb(245, 220, 186);
 }
-.ideditor path.fill.tag-landuse-farmyard {
+.ideditor path.fill.tag-landuse-farmyard,
+.ideditor path.fill.tag-leisure-horse_riding {
     stroke: rgba(245, 220, 186, 0.3);
     fill: rgba(245, 220, 186, 0.3);
 }
     stroke: rgba(245, 220, 186, 0.3);
     fill: rgba(245, 220, 186, 0.3);
 }
-.ideditor .preset-icon-fill path.area.stroke.tag-landuse-farmyard {
+.ideditor .preset-icon-fill path.area.stroke.tag-landuse-farmyard
+.preset-icon-fill path.area.stroke.tag-leisure-horse_riding {
     stroke: rgb(226, 177, 111);
 }
 .ideditor .pattern-color-farmyard {
     stroke: rgb(226, 177, 111);
 }
 .ideditor .pattern-color-farmyard {
 .ideditor path.line.shadow.tag-highway-cycleway,
 .ideditor path.line.shadow.tag-highway-bridleway,
 .ideditor path.line.shadow.tag-highway-corridor,
 .ideditor path.line.shadow.tag-highway-cycleway,
 .ideditor path.line.shadow.tag-highway-bridleway,
 .ideditor path.line.shadow.tag-highway-corridor,
+.ideditor path.line.shadow.tag-highway-ladder,
 .ideditor path.line.shadow.tag-highway-steps {
     stroke-width: 16;
 }
 .ideditor path.line.shadow.tag-highway-steps {
     stroke-width: 16;
 }
 .ideditor path.line.casing.tag-highway-cycleway,
 .ideditor path.line.casing.tag-highway-bridleway,
 .ideditor path.line.casing.tag-highway-corridor,
 .ideditor path.line.casing.tag-highway-cycleway,
 .ideditor path.line.casing.tag-highway-bridleway,
 .ideditor path.line.casing.tag-highway-corridor,
+.ideditor path.line.casing.tag-highway-ladder,
 .ideditor path.line.casing.tag-highway-steps {
     stroke-width: 5;
 }
 .ideditor path.line.casing.tag-highway-steps {
     stroke-width: 5;
 }
 .ideditor path.line.stroke.tag-highway-cycleway,
 .ideditor path.line.stroke.tag-highway-bridleway,
 .ideditor path.line.stroke.tag-highway-corridor,
 .ideditor path.line.stroke.tag-highway-cycleway,
 .ideditor path.line.stroke.tag-highway-bridleway,
 .ideditor path.line.stroke.tag-highway-corridor,
+.ideditor path.line.stroke.tag-highway-ladder,
 .ideditor path.line.stroke.tag-highway-steps {
     stroke-width: 3;
 }
 .ideditor path.line.stroke.tag-highway-steps {
     stroke-width: 3;
 }
 .ideditor .low-zoom path.line.shadow.tag-highway-cycleway,
 .ideditor .low-zoom path.line.shadow.tag-highway-bridleway,
 .ideditor .low-zoom path.line.shadow.tag-highway-corridor,
 .ideditor .low-zoom path.line.shadow.tag-highway-cycleway,
 .ideditor .low-zoom path.line.shadow.tag-highway-bridleway,
 .ideditor .low-zoom path.line.shadow.tag-highway-corridor,
+.ideditor .low-zoom path.line.shadow.tag-highway-ladder,
 .ideditor .low-zoom path.line.shadow.tag-highway-steps {
     stroke-width: 12;
 }
 .ideditor .low-zoom path.line.shadow.tag-highway-steps {
     stroke-width: 12;
 }
 .ideditor .low-zoom path.line.casing.tag-highway-cycleway,
 .ideditor .low-zoom path.line.casing.tag-highway-bridleway,
 .ideditor .low-zoom path.line.casing.tag-highway-corridor,
 .ideditor .low-zoom path.line.casing.tag-highway-cycleway,
 .ideditor .low-zoom path.line.casing.tag-highway-bridleway,
 .ideditor .low-zoom path.line.casing.tag-highway-corridor,
+.ideditor .low-zoom path.line.casing.tag-highway-ladder,
 .ideditor .low-zoom path.line.casing.tag-highway-steps {
     stroke-width: 3;
 }
 .ideditor .low-zoom path.line.casing.tag-highway-steps {
     stroke-width: 3;
 }
 .ideditor .low-zoom path.line.stroke.tag-highway-cycleway,
 .ideditor .low-zoom path.line.stroke.tag-highway-bridleway,
 .ideditor .low-zoom path.line.stroke.tag-highway-corridor,
 .ideditor .low-zoom path.line.stroke.tag-highway-cycleway,
 .ideditor .low-zoom path.line.stroke.tag-highway-bridleway,
 .ideditor .low-zoom path.line.stroke.tag-highway-corridor,
+.ideditor .low-zoom path.line.stroke.tag-highway-ladder,
 .ideditor .low-zoom path.line.stroke.tag-highway-steps {
     stroke-width: 1;
 }
 .ideditor .low-zoom path.line.stroke.tag-highway-steps {
     stroke-width: 1;
 }
 .ideditor path.line.stroke.tag-public_transport-platform,
 .ideditor path.line.stroke.tag-highway-platform,
 .ideditor path.line.stroke.tag-railway-platform,
 .ideditor path.line.stroke.tag-public_transport-platform,
 .ideditor path.line.stroke.tag-highway-platform,
 .ideditor path.line.stroke.tag-railway-platform,
+.ideditor path.line.stroke.tag-railway-platform_edge,
 .ideditor path.line.stroke.tag-man_made-pier {
     stroke: #dca;
 }
 .ideditor path.line.stroke.tag-man_made-pier {
     stroke: #dca;
 }
 }
 
 /* steps */
 }
 
 /* steps */
-.ideditor .preset-icon .icon.tag-highway-steps {
+.ideditor .preset-icon .icon.tag-highway-steps,
+.ideditor .preset-icon .icon.tag-highway-ladder {
     color: #81d25c;
     fill: #fff;
 }
     color: #81d25c;
     fill: #fff;
 }
-.ideditor path.line.stroke.tag-highway-steps {
+.ideditor path.line.stroke.tag-highway-steps,
+.ideditor path.line.stroke.tag-highway-ladder {
     stroke-linecap: butt;
     stroke-dasharray: 3, 3;
 }
     stroke-linecap: butt;
     stroke-dasharray: 3, 3;
 }
-.ideditor .low-zoom path.line.stroke.tag-highway-steps {
+.ideditor .low-zoom path.line.stroke.tag-highway-steps,
+.ideditor .low-zoom path.line.stroke.tag-highway-ladder {
     stroke-dasharray: 2, 2;
 }
     stroke-dasharray: 2, 2;
 }
-.ideditor path.line.casing.tag-highway-steps {
+.ideditor path.line.casing.tag-highway-steps,
+.ideditor path.line.casing.tag-highway-ladder {
     stroke: #fff;
     stroke-linecap: round;
     stroke-dasharray: none;
 }
 .ideditor path.line.stroke.tag-highway-steps,
     stroke: #fff;
     stroke-linecap: round;
     stroke-dasharray: none;
 }
 .ideditor path.line.stroke.tag-highway-steps,
-.ideditor .preset-icon-container path.line.casing.tag-highway-steps {
+.ideditor path.line.stroke.tag-highway-ladder,
+.ideditor .preset-icon-container path.line.casing.tag-highway-steps,
+.ideditor .preset-icon-container path.line.casing.tag-highway-ladder {
     stroke: #81d25c;
 }
     stroke: #81d25c;
 }
-.ideditor .preset-icon-container path.line.stroke.tag-highway-steps {
+.ideditor .preset-icon-container path.line.stroke.tag-highway-steps,
+.ideditor .preset-icon-container path.line.stroke.tag-highway-ladder {
     stroke: #fff;
 }
 
     stroke: #fff;
 }
 
 
 .ideditor path.line.stroke.tag-highway.tag-footway-access_aisle {
     stroke-dasharray: 4, 2;
 
 .ideditor path.line.stroke.tag-highway.tag-footway-access_aisle {
     stroke-dasharray: 4, 2;
+    stroke: #4c4444;
 }
 .ideditor .low-zoom path.line.stroke.tag-highway.tag-footway-access_aisle,
 .ideditor .preset-icon-container path.stroke.tag-highway.tag-footway-access_aisle {
     stroke-dasharray: 2.5, 1.5;
 }
 }
 .ideditor .low-zoom path.line.stroke.tag-highway.tag-footway-access_aisle,
 .ideditor .preset-icon-container path.stroke.tag-highway.tag-footway-access_aisle {
     stroke-dasharray: 2.5, 1.5;
 }
-.ideditor path.line.stroke.tag-highway.tag-footway-access_aisle {
-    stroke: #4c4444;
-}
 .ideditor .preset-icon .icon.tag-highway.tag-footway-access_aisle {
     color: #4c4444;
 }
 .ideditor .preset-icon .icon.tag-highway.tag-footway-access_aisle {
     color: #4c4444;
 }
 /* highway midpoints */
 .ideditor g.midpoint.tag-highway-corridor .fill,
 .ideditor g.midpoint.tag-highway-steps .fill,
 /* highway midpoints */
 .ideditor g.midpoint.tag-highway-corridor .fill,
 .ideditor g.midpoint.tag-highway-steps .fill,
+.ideditor g.midpoint.tag-highway-ladder .fill,
 .ideditor g.midpoint.tag-highway-path .fill,
 .ideditor g.midpoint.tag-highway-footway .fill,
 .ideditor g.midpoint.tag-highway-cycleway .fill,
 .ideditor g.midpoint.tag-highway-path .fill,
 .ideditor g.midpoint.tag-highway-footway .fill,
 .ideditor g.midpoint.tag-highway-cycleway .fill,
 }
 .ideditor path.line.casing.tag-aeroway-taxiway,
 .ideditor path.line.casing.tag-taxiway {
 }
 .ideditor path.line.casing.tag-aeroway-taxiway,
 .ideditor path.line.casing.tag-taxiway {
+    stroke: #666;
     stroke-width: 7;
 }
 .ideditor path.line.stroke.tag-aeroway-taxiway,
 .ideditor path.line.stroke.tag-taxiway {
     stroke-width: 7;
 }
 .ideditor path.line.stroke.tag-aeroway-taxiway,
 .ideditor path.line.stroke.tag-taxiway {
+    stroke: #ff0;
     stroke-width: 5;
 }
 .ideditor .low-zoom path.line.shadow.tag-aeroway-taxiway,
     stroke-width: 5;
 }
 .ideditor .low-zoom path.line.shadow.tag-aeroway-taxiway,
     stroke-width: 3;
 }
 
     stroke-width: 3;
 }
 
-.ideditor path.line.stroke.tag-aeroway-taxiway,
-.ideditor path.line.stroke.tag-taxiway {
-    stroke: #ff0;
-}
-.ideditor path.line.casing.tag-aeroway-taxiway,
-.ideditor path.line.casing.tag-taxiway {
-    stroke: #666;
-}
-
 /* wide aeroways (runway) */
 .ideditor .preset-icon .icon.tag-aeroway-runway,
 .ideditor .preset-icon .icon.tag-runway {
 /* wide aeroways (runway) */
 .ideditor .preset-icon .icon.tag-aeroway-runway,
 .ideditor .preset-icon .icon.tag-runway {
 .ideditor path.line.stroke.tag-railway {
     stroke-width: 2;
     stroke-linecap: butt;
 .ideditor path.line.stroke.tag-railway {
     stroke-width: 2;
     stroke-linecap: butt;
-    stroke-dasharray: 12,12;
+    stroke-dasharray: 12, 12;
 }
 .ideditor .low-zoom path.line.shadow.tag-railway {
     stroke-width: 12;
 }
 .ideditor .low-zoom path.line.shadow.tag-railway {
     stroke-width: 12;
 }
 .ideditor .low-zoom path.line.stroke.tag-railway {
     stroke-width: 2;
 }
 .ideditor .low-zoom path.line.stroke.tag-railway {
     stroke-width: 2;
-    stroke-dasharray: 6,6;
+    stroke-dasharray: 6, 6;
 }
 .ideditor .preset-icon-container path.line.stroke.tag-railway:not(.tag-status),
 .ideditor .preset-icon-container path.line.stroke.tag-railway.tag-status-disused {
     stroke-dasharray: 6;
 }
 
 }
 .ideditor .preset-icon-container path.line.stroke.tag-railway:not(.tag-status),
 .ideditor .preset-icon-container path.line.stroke.tag-railway.tag-status-disused {
     stroke-dasharray: 6;
 }
 
+.ideditor path.line.casing.tag-railway.tag-railway-platform_edge,
 .ideditor path.line.casing.tag-railway.tag-railway-platform {
     stroke-width: 0;
 }
 .ideditor path.line.casing.tag-railway.tag-railway-platform {
     stroke-width: 0;
 }
+.ideditor path.line.stroke.tag-railway.tag-railway-platform_edge,
 .ideditor path.line.stroke.tag-railway.tag-railway-platform {
     stroke-dasharray: none;
 }
 .ideditor path.line.stroke.tag-railway.tag-railway-platform {
     stroke-dasharray: none;
 }
     stroke: #eee;
 }
 
     stroke: #eee;
 }
 
-
 .ideditor .preset-icon .icon.tag-railway.tag-status {
     color: #999;
 }
 .ideditor .preset-icon .icon.tag-railway.tag-status {
     color: #999;
 }
     stroke: #808080;
 }
 
     stroke: #808080;
 }
 
-
 .ideditor path.line.casing.tag-railway-subway {
     stroke: #222;
 }
 .ideditor path.line.casing.tag-railway-subway {
     stroke: #222;
 }
 
 
 /* wide waterways (river) */
 
 
 /* wide waterways (river) */
-.ideditor path.line.shadow.tag-waterway-river {
+.ideditor path.line.shadow.tag-waterway-river,
+.ideditor path.line.shadow.tag-waterway-flowline {
     stroke-width: 20;
 }
     stroke-width: 20;
 }
-.ideditor path.line.casing.tag-waterway-river {
+.ideditor path.line.casing.tag-waterway-river,
+.ideditor path.line.casing.tag-waterway-flowline {
     stroke-width: 10;
 }
     stroke-width: 10;
 }
-.ideditor path.line.stroke.tag-waterway-river {
+.ideditor path.line.stroke.tag-waterway-river,
+.ideditor path.line.stroke.tag-waterway-flowline {
     stroke-width: 8;
 }
 
     stroke-width: 8;
 }
 
-.ideditor .low-zoom path.line.shadow.tag-waterway-river {
+.ideditor .low-zoom path.line.shadow.tag-waterway-river,
+.ideditor .low-zoom path.line.shadow.tag-waterway-flowline {
     stroke-width: 16;
 }
     stroke-width: 16;
 }
-.ideditor .low-zoom path.line.casing.tag-waterway-river {
+.ideditor .low-zoom path.line.casing.tag-waterway-river,
+.ideditor .low-zoom path.line.casing.tag-waterway-flowline {
     stroke-width: 7;
 }
     stroke-width: 7;
 }
-.ideditor .low-zoom path.line.stroke.tag-waterway-river {
+.ideditor .low-zoom path.line.stroke.tag-waterway-river,
+.ideditor .low-zoom path.line.stroke.tag-waterway-flowline {
     stroke-width: 5;
 }
 
     stroke-width: 5;
 }
 
+.ideditor path.line.stroke.tag-waterway-flowline {
+    stroke-opacity: 0.5;
+}
+.ideditor path.line.casing.tag-waterway-flowline {
+    display: none;
+}
+
 
 /* ditch */
 .ideditor .preset-icon .icon.tag-waterway-ditch {
 
 /* ditch */
 .ideditor .preset-icon .icon.tag-waterway-ditch {
 .ideditor path.line.shadow.tag-golf-cartpath,
 .ideditor path.line.shadow.tag-man_made-pipeline,
 .ideditor path.line.shadow.tag-natural-tree_row,
 .ideditor path.line.shadow.tag-golf-cartpath,
 .ideditor path.line.shadow.tag-man_made-pipeline,
 .ideditor path.line.shadow.tag-natural-tree_row,
+.ideditor path.line.shadow.tag-roller_coaster-track,
+.ideditor path.line.shadow.tag-roller_coaster-support,
 .ideditor path.line.shadow.tag-piste {
     stroke-width: 16;
 }
 .ideditor path.line.shadow.tag-piste {
     stroke-width: 16;
 }
 .ideditor path.line.casing.tag-golf-cartpath,
 .ideditor path.line.casing.tag-man_made-pipeline,
 .ideditor path.line.casing.tag-natural-tree_row,
 .ideditor path.line.casing.tag-golf-cartpath,
 .ideditor path.line.casing.tag-man_made-pipeline,
 .ideditor path.line.casing.tag-natural-tree_row,
+.ideditor path.line.casing.tag-roller_coaster-track,
+.ideditor path.line.casing.tag-roller_coaster-support,
 .ideditor path.line.casing.tag-piste {
     stroke-width: 7;
 }
 .ideditor path.line.casing.tag-piste {
     stroke-width: 7;
 }
 .ideditor path.line.stroke.tag-golf-cartpath,
 .ideditor path.line.stroke.tag-man_made-pipeline,
 .ideditor path.line.stroke.tag-natural-tree_row,
 .ideditor path.line.stroke.tag-golf-cartpath,
 .ideditor path.line.stroke.tag-man_made-pipeline,
 .ideditor path.line.stroke.tag-natural-tree_row,
+.ideditor path.line.stroke.tag-roller_coaster-track,
+.ideditor path.line.stroke.tag-roller_coaster-support,
 .ideditor path.line.stroke.tag-piste {
     stroke-width: 5;
 }
 .ideditor path.line.stroke.tag-piste {
     stroke-width: 5;
 }
 .ideditor .low-zoom path.line.shadow.tag-golf-cartpath,
 .ideditor .low-zoom path.line.shadow.tag-man_made-pipeline,
 .ideditor .low-zoom path.line.shadow.tag-natural-tree_row,
 .ideditor .low-zoom path.line.shadow.tag-golf-cartpath,
 .ideditor .low-zoom path.line.shadow.tag-man_made-pipeline,
 .ideditor .low-zoom path.line.shadow.tag-natural-tree_row,
+.ideditor .low-zoom path.line.shadow.tag-roller_coaster-track,
+.ideditor .low-zoom path.line.shadow.tag-roller_coaster-support,
 .ideditor .low-zoom path.line.shadow.tag-piste {
     stroke-width: 12;
 }
 .ideditor .low-zoom path.line.shadow.tag-piste {
     stroke-width: 12;
 }
 .ideditor .low-zoom path.line.casing.tag-golf-cartpath,
 .ideditor .low-zoom path.line.casing.tag-man_made-pipeline,
 .ideditor .low-zoom path.line.casing.tag-natural-tree_row,
 .ideditor .low-zoom path.line.casing.tag-golf-cartpath,
 .ideditor .low-zoom path.line.casing.tag-man_made-pipeline,
 .ideditor .low-zoom path.line.casing.tag-natural-tree_row,
+.ideditor .low-zoom path.line.casing.tag-roller_coaster-track,
+.ideditor .low-zoom path.line.casing.tag-roller_coaster-support,
 .ideditor .low-zoom path.line.casing.tag-piste {
     stroke-width: 5;
 }
 .ideditor .low-zoom path.line.casing.tag-piste {
     stroke-width: 5;
 }
 .ideditor .low-zoom path.line.stroke.tag-golf-cartpath,
 .ideditor .low-zoom path.line.stroke.tag-man_made-pipeline,
 .ideditor .low-zoom path.line.stroke.tag-natural-tree_row,
 .ideditor .low-zoom path.line.stroke.tag-golf-cartpath,
 .ideditor .low-zoom path.line.stroke.tag-man_made-pipeline,
 .ideditor .low-zoom path.line.stroke.tag-natural-tree_row,
+.ideditor .low-zoom path.line.stroke.tag-roller_coaster-track,
+.ideditor .low-zoom path.line.stroke.tag-roller_coaster-support,
 .ideditor .low-zoom path.line.stroke.tag-piste {
     stroke-width: 3;
 }
 .ideditor .low-zoom path.line.stroke.tag-piste {
     stroke-width: 3;
 }
     stroke-width: 16;
 }
 .ideditor path.line.stroke.tag-route-ferry {
     stroke-width: 16;
 }
 .ideditor path.line.stroke.tag-route-ferry {
+    stroke: #58a9ed;
     stroke-width: 3;
     stroke-linecap: butt;
     stroke-dasharray: 12,8;
     stroke-width: 3;
     stroke-linecap: butt;
     stroke-dasharray: 12,8;
     stroke-width: 2;
     stroke-dasharray: 6,4;
 }
     stroke-width: 2;
     stroke-dasharray: 6,4;
 }
-.ideditor path.line.stroke.tag-route-ferry {
-    stroke: #58a9ed;
-}
 .ideditor path.line.casing.tag-route-ferry {
     stroke: none;
 }
 .ideditor path.line.casing.tag-route-ferry {
     stroke: none;
 }
     stroke: #3d6c71;
 }
 
     stroke: #3d6c71;
 }
 
+.ideditor path.line.stroke.tag-roller_coaster-track {
+    stroke: #dddddd;
+    stroke-width: 3;
+    stroke-dasharray: 5, 1;
+    stroke-linecap: butt;
+}
+.ideditor path.line.casing.tag-roller_coaster-track {
+    stroke: #707070;
+}
+
+.ideditor path.line.stroke.tag-roller_coaster-support {
+    stroke: #707070;
+}
+.ideditor path.line.casing.tag-roller_coaster-support {
+    visibility: hidden;
+}
+
 
 /* golf cartpaths (like service roads) */
 .ideditor .preset-icon .icon.tag-golf-cartpath {
 
 /* golf cartpaths (like service roads) */
 .ideditor .preset-icon .icon.tag-golf-cartpath {
 .ideditor path.line.casing.tag-bridge {
     stroke-opacity: 0.6;
     stroke: #000 !important;
 .ideditor path.line.casing.tag-bridge {
     stroke-opacity: 0.6;
     stroke: #000 !important;
+    stroke-width: 16;
     stroke-linecap: butt;
     stroke-dasharray: none;
 }
 .ideditor path.line.shadow.tag-bridge {
     stroke-width: 24;
 }
     stroke-linecap: butt;
     stroke-dasharray: none;
 }
 .ideditor path.line.shadow.tag-bridge {
     stroke-width: 24;
 }
-.ideditor path.line.casing.tag-bridge {
-    stroke-width: 16;
-}
 .ideditor .low-zoom path.line.shadow.tag-bridge {
     stroke-width: 16;
 }
 .ideditor .low-zoom path.line.shadow.tag-bridge {
     stroke-width: 16;
 }
 .ideditor path.line.shadow.tag-highway-service.tag-bridge,
 .ideditor path.line.shadow.tag-highway-track.tag-bridge,
 .ideditor path.line.shadow.tag-highway-steps.tag-bridge,
 .ideditor path.line.shadow.tag-highway-service.tag-bridge,
 .ideditor path.line.shadow.tag-highway-track.tag-bridge,
 .ideditor path.line.shadow.tag-highway-steps.tag-bridge,
+.ideditor path.line.shadow.tag-highway-ladder.tag-bridge,
 .ideditor path.line.shadow.tag-highway-footway.tag-bridge,
 .ideditor path.line.shadow.tag-highway-cycleway.tag-bridge,
 .ideditor path.line.shadow.tag-highway-bridleway.tag-bridge {
 .ideditor path.line.shadow.tag-highway-footway.tag-bridge,
 .ideditor path.line.shadow.tag-highway-cycleway.tag-bridge,
 .ideditor path.line.shadow.tag-highway-bridleway.tag-bridge {
 .ideditor path.line.casing.tag-highway-service.tag-bridge,
 .ideditor path.line.casing.tag-highway-track.tag-bridge,
 .ideditor path.line.casing.tag-highway-steps.tag-bridge,
 .ideditor path.line.casing.tag-highway-service.tag-bridge,
 .ideditor path.line.casing.tag-highway-track.tag-bridge,
 .ideditor path.line.casing.tag-highway-steps.tag-bridge,
+.ideditor path.line.casing.tag-highway-ladder.tag-bridge,
 .ideditor path.line.casing.tag-highway-footway.tag-bridge,
 .ideditor path.line.casing.tag-highway-cycleway.tag-bridge,
 .ideditor path.line.casing.tag-highway-bridleway.tag-bridge {
 .ideditor path.line.casing.tag-highway-footway.tag-bridge,
 .ideditor path.line.casing.tag-highway-cycleway.tag-bridge,
 .ideditor path.line.casing.tag-highway-bridleway.tag-bridge {
 .ideditor .low-zoom path.line.shadow.tag-highway-service.tag-bridge,
 .ideditor .low-zoom path.line.shadow.tag-highway-track.tag-bridge,
 .ideditor .low-zoom path.line.shadow.tag-highway-steps.tag-bridge,
 .ideditor .low-zoom path.line.shadow.tag-highway-service.tag-bridge,
 .ideditor .low-zoom path.line.shadow.tag-highway-track.tag-bridge,
 .ideditor .low-zoom path.line.shadow.tag-highway-steps.tag-bridge,
+.ideditor .low-zoom path.line.shadow.tag-highway-ladder.tag-bridge,
 .ideditor .low-zoom path.line.shadow.tag-highway-footway.tag-bridge,
 .ideditor .low-zoom path.line.shadow.tag-highway-cycleway.tag-bridge,
 .ideditor .low-zoom path.line.shadow.tag-highway-bridleway.tag-bridge {
 .ideditor .low-zoom path.line.shadow.tag-highway-footway.tag-bridge,
 .ideditor .low-zoom path.line.shadow.tag-highway-cycleway.tag-bridge,
 .ideditor .low-zoom path.line.shadow.tag-highway-bridleway.tag-bridge {
 .ideditor .low-zoom path.line.casing.tag-highway-service.tag-bridge,
 .ideditor .low-zoom path.line.casing.tag-highway-track.tag-bridge,
 .ideditor .low-zoom path.line.casing.tag-highway-steps.tag-bridge,
 .ideditor .low-zoom path.line.casing.tag-highway-service.tag-bridge,
 .ideditor .low-zoom path.line.casing.tag-highway-track.tag-bridge,
 .ideditor .low-zoom path.line.casing.tag-highway-steps.tag-bridge,
+.ideditor .low-zoom path.line.casing.tag-highway-ladder.tag-bridge,
 .ideditor .low-zoom path.line.casing.tag-highway-footway.tag-bridge,
 .ideditor .low-zoom path.line.casing.tag-highway-cycleway.tag-bridge,
 .ideditor .low-zoom path.line.casing.tag-highway-bridleway.tag-bridge {
 .ideditor .low-zoom path.line.casing.tag-highway-footway.tag-bridge,
 .ideditor .low-zoom path.line.casing.tag-highway-cycleway.tag-bridge,
 .ideditor .low-zoom path.line.casing.tag-highway-bridleway.tag-bridge {
 }
 .ideditor path.line.casing.tag-tunnel,
 .ideditor path.line.casing.tag-location-underground,
 }
 .ideditor path.line.casing.tag-tunnel,
 .ideditor path.line.casing.tag-location-underground,
-.ideditor path.line.stroke.tag-location-underwater {
+.ideditor path.line.casing.tag-location-underwater {
     stroke-opacity: 0.5;
     stroke-linecap: butt;
     stroke-dasharray: none;
     stroke-opacity: 0.5;
     stroke-linecap: butt;
     stroke-dasharray: none;
     stroke-dasharray: 8, 8;
 }
 
     stroke-dasharray: 8, 8;
 }
 
+/** Closed Paths */
+.ideditor path.line.shadow.tag-highway.tag-status.tag-status-construction.tag-construction-path,
+.ideditor path.line.shadow.tag-highway.tag-status.tag-status-construction.tag-construction-footway,
+.ideditor path.line.shadow.tag-highway.tag-status.tag-status-construction.tag-construction-cycleway,
+.ideditor path.line.shadow.tag-highway.tag-status.tag-status-construction.tag-construction-bridleway,
+.ideditor path.line.shadow.tag-highway.tag-status.tag-status-construction.tag-construction-corridor,
+.ideditor path.line.shadow.tag-highway.tag-status.tag-status-construction.tag-construction-steps,
+.ideditor path.line.shadow.tag-highway.tag-status.tag-status-construction.tag-construction-ladder {
+    stroke-width: 15;
+}
+.ideditor path.line.casing.tag-highway.tag-status.tag-status-construction.tag-construction-path,
+.ideditor path.line.casing.tag-highway.tag-status.tag-status-construction.tag-construction-footway,
+.ideditor path.line.casing.tag-highway.tag-status.tag-status-construction.tag-construction-cycleway,
+.ideditor path.line.casing.tag-highway.tag-status.tag-status-construction.tag-construction-bridleway,
+.ideditor path.line.casing.tag-highway.tag-status.tag-status-construction.tag-construction-corridor,
+.ideditor path.line.casing.tag-highway.tag-status.tag-status-construction.tag-construction-steps,
+.ideditor path.line.casing.tag-highway.tag-status.tag-status-construction.tag-construction-ladder {
+    stroke-width: 5;
+    stroke-linecap: butt;
+    stroke-dasharray: none
+}
+.ideditor path.line.stroke.tag-highway.tag-status.tag-status-construction.tag-construction-path,
+.ideditor path.line.stroke.tag-highway.tag-status.tag-status-construction.tag-construction-footway,
+.ideditor path.line.stroke.tag-highway.tag-status.tag-status-construction.tag-construction-cycleway,
+.ideditor path.line.stroke.tag-highway.tag-status.tag-status-construction.tag-construction-bridleway,
+.ideditor path.line.stroke.tag-highway.tag-status.tag-status-construction.tag-construction-corridor,
+.ideditor path.line.stroke.tag-highway.tag-status.tag-status-construction.tag-construction-steps,
+.ideditor path.line.stroke.tag-highway.tag-status.tag-status-construction.tag-construction-ladder {
+    stroke-width: 4;
+    stroke-linecap: butt;
+    stroke-dasharray: 10, 10;
+}
+
+/** Proposed Paths */
+.ideditor path.line.shadow.tag-highway.tag-status.tag-status-proposed.tag-proposed-path,
+.ideditor path.line.shadow.tag-highway.tag-status.tag-status-proposed.tag-proposed-footway,
+.ideditor path.line.shadow.tag-highway.tag-status.tag-status-proposed.tag-proposed-cycleway,
+.ideditor path.line.shadow.tag-highway.tag-status.tag-status-proposed.tag-proposed-bridleway,
+.ideditor path.line.shadow.tag-highway.tag-status.tag-status-proposed.tag-proposed-steps,
+.ideditor path.line.shadow.tag-highway.tag-status.tag-status-proposed.tag-proposed-ladder {
+    stroke-width: 15;
+}
+.ideditor path.line.casing.tag-highway.tag-status.tag-status-proposed.tag-proposed-path,
+.ideditor path.line.casing.tag-highway.tag-status.tag-status-proposed.tag-proposed-footway,
+.ideditor path.line.casing.tag-highway.tag-status.tag-status-proposed.tag-proposed-cycleway,
+.ideditor path.line.casing.tag-highway.tag-status.tag-status-proposed.tag-proposed-bridleway,
+.ideditor path.line.casing.tag-highway.tag-status.tag-status-proposed.tag-proposed-steps,
+.ideditor path.line.casing.tag-highway.tag-status.tag-status-proposed.tag-proposed-ladder {
+    stroke-width: 4.5;
+}
+.ideditor path.line.casing.tag-highway.tag-bridge.tag-status.tag-status-proposed.tag-proposed-path,
+.ideditor path.line.casing.tag-highway.tag-bridge.tag-status.tag-status-proposed.tag-proposed-footway,
+.ideditor path.line.casing.tag-highway.tag-bridge.tag-status.tag-status-proposed.tag-proposed-cycleway,
+.ideditor path.line.casing.tag-highway.tag-bridge.tag-status.tag-status-proposed.tag-proposed-bridleway,
+.ideditor path.line.casing.tag-highway.tag-bridge.tag-status.tag-status-proposed.tag-proposed-steps,
+.ideditor path.line.casing.tag-highway.tag-bridge.tag-status.tag-status-proposed.tag-proposed-ladder {
+    stroke-width: 10;
+}
+.ideditor path.line.stroke.tag-highway.tag-status.tag-status-proposed.tag-proposed-path,
+.ideditor path.line.stroke.tag-highway.tag-status.tag-status-proposed.tag-proposed-footway,
+.ideditor path.line.stroke.tag-highway.tag-status.tag-status-proposed.tag-proposed-cycleway,
+.ideditor path.line.stroke.tag-highway.tag-status.tag-status-proposed.tag-proposed-bridleway,
+.ideditor path.line.stroke.tag-highway.tag-status.tag-status-proposed.tag-proposed-steps,
+.ideditor path.line.stroke.tag-highway.tag-status.tag-status-proposed.tag-proposed-ladder {
+    stroke-width: 3;
+}
 
 /* Buildings */
 .ideditor path.stroke.tag-building {
 
 /* Buildings */
 .ideditor path.stroke.tag-building {
 .ideditor .turn circle {
     cursor: pointer;
 }
 .ideditor .turn circle {
     cursor: pointer;
 }
+/* legend */
+.ideditor li.list-item-photos.active:after {
+    display: block;
+    content: "";
+    height: 100%;
+    position: absolute;
+    right: 0;
+    width: 8px;
+}
+.ideditor[dir='rtl'] li.list-item-photos.active:after {
+    right: auto;
+    left: 0;
+}
+
 /* photo viewer div */
 .ideditor .photoviewer {
     position: relative;
 /* photo viewer div */
 .ideditor .photoviewer {
     position: relative;
-    -ms-flex-negative: 0;
-        flex-shrink: 0;
+    flex-shrink: 0;
     margin-bottom: 10px;
     width: 330px;
     height: 250px;
     margin-bottom: 10px;
     width: 330px;
     height: 250px;
     z-index: 50;
 }
 
     z-index: 50;
 }
 
+.ideditor .photoviewer button.set-photo-from-viewer {
+    border-radius: 0;
+    padding: 5px;
+    position: absolute;
+    left: 5px;
+    top: 5px;
+    z-index: 50;
+}
+
 .ideditor .photoviewer button.resize-handle-xy {
     border-radius: 0;
     position: absolute;
 .ideditor .photoviewer button.resize-handle-xy {
     border-radius: 0;
     position: absolute;
 }
 
 
 }
 
 
-.ideditor .photo-wrapper,
-.ideditor .photo-wrapper img {
+.ideditor .photo-wrapper {
     width: 100%;
     height: 100%;
     overflow: hidden;
     width: 100%;
     height: 100%;
     overflow: hidden;
-    -o-object-fit: cover;
-       object-fit: cover;
 }
 
 .ideditor .photo-wrapper .photo-attribution {
 }
 
 .ideditor .photo-wrapper .photo-attribution {
     width: 100%;
     font-size: 10px;
     text-align: right;
     width: 100%;
     font-size: 10px;
     text-align: right;
-    line-height: 1.1em;
-    padding: 4px 2px;
+    line-height: 150%;
+    padding: 4px 8px;
     z-index: 10;
 }
     z-index: 10;
 }
+.ideditor .photo-attribution-dual {
+    display: flex;
+    justify-content: space-between;
+}
 
 .ideditor .photo-attribution a,
 .ideditor .photo-attribution a:visited,
 .ideditor .photo-attribution span {
     padding: 4px 2px;
     color: #fff;
 
 .ideditor .photo-attribution a,
 .ideditor .photo-attribution a:visited,
 .ideditor .photo-attribution span {
     padding: 4px 2px;
     color: #fff;
+    text-wrap: nowrap;
 }
 
 /* markers and sequences */
 }
 
 /* markers and sequences */
 }
 
 .ideditor .viewfield-group.currentView .viewfield-scale {
 }
 
 .ideditor .viewfield-group.currentView .viewfield-scale {
-    -webkit-transform: scale(2,2);
-        -ms-transform: scale(2,2);
-            transform: scale(2,2);
+    transform: scale(2,2);
 }
 
 .ideditor .sequence {
     fill: none;
     stroke-width: 2;
 }
 
 .ideditor .sequence {
     fill: none;
     stroke-width: 2;
-    stroke-opacity: 0.4;
+    stroke-opacity: 0.6;
 }
 .ideditor .sequence.highlighted,
 .ideditor .sequence.currentView {
 }
 .ideditor .sequence.highlighted,
 .ideditor .sequence.currentView {
 
 
 /* Streetside Image Layer */
 
 
 /* Streetside Image Layer */
+.ideditor li.list-item-photos.list-item-streetside.active:after {
+    background-color: #0fffc4;
+}
 .ideditor .layer-streetside-images {
     pointer-events: none;
 }
 .ideditor .layer-streetside-images {
     pointer-events: none;
 }
     stroke-opacity: 0.85;  /* bump opacity - only one per road */
 }
 
     stroke-opacity: 0.85;  /* bump opacity - only one per road */
 }
 
+/* Vegbilder Image Layer */
+.ideditor li.list-item-photos.list-item-vegbilder.active:after {
+    background-color: #ed1c2e;
+}
+.ideditor .layer-vegbilder {
+    pointer-events: none;
+}
+.ideditor .layer-vegbilder .viewfield-group * {
+    fill: #ed1c2e;
+}
+.ideditor .layer-vegbilder .sequence {
+    stroke: #ed1c2e;
+    stroke-opacity: 0.85;  /* bump opacity - only one per road */
+}
+
 
 /* Mapillary Image Layer */
 
 /* Mapillary Image Layer */
+.ideditor li.list-item-photos.list-item-mapillary.active:after {
+    background-color: #55ff22;
+}
 .ideditor .layer-mapillary {
     pointer-events: none;
 }
 .ideditor .layer-mapillary {
     pointer-events: none;
 }
 }
 
 
 }
 
 
-/* OpenStreetCam Image Layer */
-.ideditor .layer-openstreetcam {
+/* KartaView Image Layer */
+.ideditor li.list-item-photos.list-item-kartaview.active:after {
+    background-color: #20c4ff;
+}
+.ideditor .layer-kartaview {
     pointer-events: none;
 }
     pointer-events: none;
 }
-.ideditor .layer-openstreetcam .viewfield-group * {
+.ideditor .layer-kartaview .viewfield-group * {
     fill: #20c4ff;
 }
     fill: #20c4ff;
 }
-.ideditor .layer-openstreetcam .sequence {
+.ideditor .layer-kartaview .sequence {
     stroke: #20c4ff;
 }
 
 
     stroke: #20c4ff;
 }
 
 
+/* Mapilio Image Layer */
+.ideditor li.list-item-photos.list-item-mapilio.active:after {
+    background-color: #0056f1;
+}
+.ideditor .layer-mapilio {
+    pointer-events: none;
+}
+.ideditor .layer-mapilio .viewfield-group * {
+    fill: #0056f1;
+    stroke: #ffffff;
+    stroke-opacity: .6;
+    fill-opacity: .6;
+}
+.ideditor .layer-mapilio .sequence {
+    stroke: #0056f1;
+}
+.ideditor .photo-controls-mapilio {
+    display: flex;
+    align-items: center;
+    justify-content: center;
+    gap: 4px;
+}
+.ideditor .photo-controls-mapilio button {
+    padding:0 6px;
+    pointer-events: initial;
+}
+.ideditor .mapilio-wrapper {
+    position: relative;
+    background-color: #000;
+    background-image: url(<%= asset_path("iD/img/loader-black.gif") %>);
+    background-position: center;
+    background-repeat: no-repeat;
+}
+.ideditor #ideditor-viewer-mapilio-simple-wrap {
+    height: 100%;
+}
+.ideditor #ideditor-viewer-mapilio-simple {
+    width: 100%;
+    height: 100%;
+    transform-origin: 0 0;
+}
+.ideditor #ideditor-viewer-mapilio-simple img {
+    width: 100%;
+    height: 100%;
+    -o-object-fit: cover;
+       object-fit: cover;
+    overflow: hidden;
+}
+
+/* panoramax Image Layer */
+.ideditor li.list-item-photos.list-item-panoramax.active:after {
+    background-color: #ff6f00;
+}
+.ideditor .layer-panoramax {
+    pointer-events: none;
+}
+.ideditor .layer-panoramax .viewfield-group * {
+    fill: #ff6f00;
+    stroke: #ffffff;
+    stroke-opacity: .6;
+    fill-opacity: .6;
+}
+.ideditor .layer-panoramax .sequence {
+    stroke: #ff6f00;
+}
+.ideditor .photo-controls-panoramax {
+    display: flex;
+    align-items: center;
+    justify-content: center;
+    gap: 4px;
+}
+.ideditor .photo-controls-panoramax button {
+    padding:0 6px;
+    pointer-events: initial;
+}
+
+.ideditor label.panoramax-hd {
+    float: left;
+    cursor: pointer;
+}
+.ideditor .panoramax-hd span {
+    margin-top: 2px;
+}
+.ideditor .panoramax-hd input[type="checkbox"] {
+    width: 12px;
+    height: 12px;
+    margin: 0 2px;
+}
+
+.ideditor .slider-wrap {
+    display: inline-block;  
+}
+
+.ideditor .year-datalist {
+    display: flex;
+    justify-content: space-between;
+}
+
+.ideditor .list-option-date-slider{
+    direction: rtl
+}
+
+
 /* Streetside Viewer (pannellum) */
 /* Streetside Viewer (pannellum) */
+.ideditor .ms-wrapper .photo-attribution {
+    line-height: 1.1em;
+    padding: 4px 2px;
+}
 .ideditor .ms-wrapper .photo-attribution .image-link {
     display: block;
 }
 .ideditor .ms-wrapper .photo-attribution .attribution-row {
 .ideditor .ms-wrapper .photo-attribution .image-link {
     display: block;
 }
 .ideditor .ms-wrapper .photo-attribution .attribution-row {
-    display: -webkit-box;
-    display: -ms-flexbox;
     display: flex;
     display: flex;
-    -webkit-box-orient: horizontal;
-    -webkit-box-direction: normal;
-        -ms-flex-flow: row nowrap;
-            flex-flow: row nowrap;
-    -webkit-box-pack: justify;
-        -ms-flex-pack: justify;
-            justify-content: space-between;
-    -webkit-box-align: center;
-        -ms-flex-align: center;
-            align-items: center;
+    flex-flow: row nowrap;
+    justify-content: space-between;
+    align-items: center;
     padding: 0 5px;
 }
 .ideditor .ms-wrapper .photo-attribution .image-view-link {
     padding: 0 5px;
 }
 .ideditor .ms-wrapper .photo-attribution .image-view-link {
     }
 }
 
     }
 }
 
-.ideditor .ms-wrapper .pnlm-compass.pnlm-control {
+.ideditor .ms-wrapper .pnlm-compass.pnlm-control,
+.ideditor .vegbilder-wrapper  .pnlm-compass.pnlm-control,
+.ideditor .panoramax-wrapper  .pnlm-compass.pnlm-control {
     width: 26px;
     height: 26px;
     left: 4px;
     width: 26px;
     height: 26px;
     left: 4px;
     margin: 0 5px;
 }
 
     margin: 0 5px;
 }
 
+.ideditor .pnlm-zoom-controls {
+    margin-top: 6px;
+}
+
 
 /* Mapillary viewer */
 .ideditor #ideditor-mly .domRenderer .TagSymbol {
 
 /* Mapillary viewer */
 .ideditor #ideditor-mly .domRenderer .TagSymbol {
     top: -25px;
 }
 
     top: -25px;
 }
 
-.ideditor .mly-wrapper .AttributionContainer .AttributionIconContainer .AttributionMapillaryLogo {
-    margin-top: 3px;
+.ideditor .mly-wrapper .mapillary-attribution-container {
+    display: flex;
+    align-items: center;
 }
 
 }
 
-.ideditor .mly-wrapper .AttributionContainer .AttributionImageContainer {
-    color: #fff;
-    font-size: 10px;
-    font-weight: 300;
-    overflow: hidden;
+.ideditor .mly-wrapper .mapillary-attribution-container .mapillary-attribution-icon-container {
+    display: flex;
+    align-items: center;
+}
+
+.ideditor .mapillary-attribution-image-container {
+  height: auto;
 }
 
 }
 
+.ideditor .mly-wrapper .mapillary-attribution-container .mapillary-attribution-username {
+    padding: 0px 8px 0 6px;
+}
 
 
-/* OpenStreetCam viewer */
-.ideditor .osc-wrapper {
+.ideditor .mly-wrapper .mapillary-attribution-container .mapillary-attribution-date {
+    margin-right: 6px;
+}
+
+/* KartaView viewer */
+.ideditor .kartaview-wrapper {
     position: relative;
     background-color: #000;
     background-image: url(<%= asset_path("iD/img/loader-black.gif") %>);
     position: relative;
     background-color: #000;
     background-image: url(<%= asset_path("iD/img/loader-black.gif") %>);
     background-repeat: no-repeat;
 }
 
     background-repeat: no-repeat;
 }
 
-.ideditor .osc-wrapper .photo-attribution a:active {
+.ideditor .kartaview-wrapper img {
+    width: 100%;
+    height: 100%;
+    overflow: hidden;
+    -o-object-fit: cover;
+       object-fit: cover;
+}
+
+.ideditor .kartaview-wrapper .photo-attribution a:active {
     color: #20c4ff;
 }
 @media (hover: hover) {
     color: #20c4ff;
 }
 @media (hover: hover) {
-    .ideditor .osc-wrapper .photo-attribution a:hover {
+    .ideditor .kartaview-wrapper .photo-attribution a:hover {
         color: #20c4ff;
     }
 }
 
         color: #20c4ff;
     }
 }
 
-.ideditor .osc-image-wrap {
+.ideditor .kartaview-image-wrap {
     width: 100%;
     height: 100%;
     width: 100%;
     height: 100%;
-    -webkit-transform-origin:0 0;
-        -ms-transform-origin:0 0;
-            transform-origin:0 0;
+    transform-origin: 0 0;
+}
+
+.ideditor .photo-wrapper {
+    position: relative;
+    background-color: #000;
+    background-image: url(<%= asset_path("iD/img/loader-black.gif") %>);
+    background-position: center;
+    background-repeat: no-repeat;
+}
+
+.ideditor .photoviewer .plane-frame {
+    height: 100%;
+    width: 100%;
+    transform-origin: 0 0;
 }
 
 }
 
+.ideditor .photoviewer .plane-frame > img.plane-photo {
+    width: auto;
+    height: 100%;
+    transform-origin: 0 0;
+}
 
 /* photo-controls (step forward, back, rotate) */
 .ideditor .photo-controls-wrap {
 
 /* photo-controls (step forward, back, rotate) */
 .ideditor .photo-controls-wrap {
 .ideditor .photo-controls button:focus {
     height: 18px;
     width: 18px;
 .ideditor .photo-controls button:focus {
     height: 18px;
     width: 18px;
+    line-height: 18px;
     background: rgba(0,0,0,0.65);
     color: #eee;
     border-radius: 0;
     background: rgba(0,0,0,0.65);
     color: #eee;
     border-radius: 0;
     }
 }
 
     }
 }
 
+/* local georeferenced photos */
+.ideditor .layer-local-photos {
+    pointer-events: none;
+}
+.ideditor .layer-local-photos .viewfield-group * {
+    fill: #ed00d9;
+}
+.ideditor .local-photos {
+    display: flex;
+}
+.ideditor .local-photos > div {
+    width: 50%;
+}
+.ideditor .local-photos > div:first-child {
+    margin-right: 20px;
+}
+
+.ideditor .list-local-photos {
+    max-height: 40vh;
+    overflow-y: scroll;
+    overflow-x: auto;
+    /* workaround for something like "overflow-x: visible"
+       see https://stackoverflow.com/a/39554003 */
+    margin-left: -100px;
+    padding-left: 100px;
+    margin-top: -20px;
+    padding-top: 20px;
+    min-height: 100px;
+}
+.ideditor .list-local-photos::-webkit-scrollbar {
+    border-left: none;
+}
+.ideditor .list-local-photos li {
+    list-style: none;
+    display: flex;
+    justify-content: space-between;
+    height: 30px;
+}
+.ideditor .list-local-photos span.filename {
+    display: block;
+    width: 100%;
+    white-space: nowrap;
+    overflow: hidden;
+    text-overflow: ellipsis;
+    line-height: 30px;
+    padding-left: 8px;
+    border-bottom: 1px solid #ccc;
+    border-left: 1px solid #ccc;
+    border-right: 1px solid #ccc;
+}
+.ideditor .list-local-photos li:first-child span.filename {
+    border-top: 1px solid #ccc;
+    border-top-left-radius: 4px;
+}
+.ideditor .list-local-photos li:first-child button {
+    border-top: 1px solid #ccc;
+}
+.ideditor .list-local-photos li:first-child button.remove {
+    border-top-right-radius: 4px;
+}
+.ideditor .list-local-photos li:last-child span.filename {
+    border-bottom-left-radius: 4px;
+}
+.ideditor .list-local-photos li:last-child button.remove {
+    border-bottom-right-radius: 4px;
+}
+.ideditor .list-local-photos li.invalid button.zoom-to-data {
+    display: none;
+}
+.ideditor .list-local-photos li button.no-geolocation {
+    display: none;
+}
+.ideditor .list-local-photos li.invalid button.no-geolocation {
+    display: block;
+    color: red;
+}
+.ideditor .list-local-photos .placeholder div {
+    display: block;
+    height: 40px;
+    width: 40px;
+    background-position: center;
+    background-size: cover;
+    background-repeat: no-repeat;
+    background-image: url(<%= asset_path("iD/img/loader-black.gif") %>);
+    filter: invert(1);
+}
+.ideditor .local-photos label.button {
+    background: #7092ff;
+    color: #fff;
+    font-weight: bold;
+    padding: 10px 25px;
+    text-align: center;
+    font-size: 12px;
+    display: inline-block;
+    border-radius: 4px;
+    cursor: pointer;
+}
+
+
 /* OSM Notes and QA Layers */
 
 .ideditor .qa-header-icon .qaItem-fill,
 .ideditor .layer-keepRight .qaItem .qaItem-fill,
 /* OSM Notes and QA Layers */
 
 .ideditor .qa-header-icon .qaItem-fill,
 .ideditor .layer-keepRight .qaItem .qaItem-fill,
-.ideditor .layer-improveOSM .qaItem .qaItem-fill,
 .ideditor .layer-osmose .qaItem .qaItem-fill {
     stroke: #333;
     stroke-width: 1.3px;  /* NOTE: likely a better way to scale the icon stroke */
 .ideditor .layer-osmose .qaItem .qaItem-fill {
     stroke: #333;
     stroke-width: 1.3px;  /* NOTE: likely a better way to scale the icon stroke */
     left: auto;
 }
 .ideditor .qa-header-icon {
     left: auto;
 }
 .ideditor .qa-header-icon {
-    display: -webkit-box;
-    display: -ms-flexbox;
     display: flex;
     display: flex;
-    -webkit-box-align: center;
-        -ms-flex-align: center;
-            align-items: center;
-    -webkit-box-pack: center;
-        -ms-flex-pack: center;
-            justify-content: center;
+    align-items: center;
+    justify-content: center;
 }
 
 /* Keep Right Issues
 }
 
 /* Keep Right Issues
     color: #c35;
 }
 
     color: #c35;
 }
 
-/* ImproveOSM Issues
-------------------------------------------------------- */
-
-.ideditor .improveOSM.itemType-ow {   /* missing one way */
-    color: #1E90FF;
-}
-
-.ideditor .improveOSM.itemType-mr-road {   /* missing road */
-    color: #B452CD;
-}
-.ideditor .improveOSM.itemType-mr-path {   /* missing path */
-    color: #A0522D;
-}
-.ideditor .improveOSM.itemType-mr-parking {   /* missing parking */
-    color: #EEEE00;
-}
-.ideditor .improveOSM.itemType-mr-both {   /* missing road+parking */
-    color: #FFA500;
-}
-
-.ideditor .improveOSM.itemType-tr {   /* missing turn restriction */
-    color: #EC1C24;
-}
-
 /* Custom Map Data (geojson, gpx, kml, vector tile) */
 .ideditor .layer-mapdata {
     pointer-events: none;
 /* Custom Map Data (geojson, gpx, kml, vector tile) */
 .ideditor .layer-mapdata {
     pointer-events: none;
 .ideditor.mode-select-note .fill-partial path.area.fill {
     pointer-events: visibleStroke;
 }
 .ideditor.mode-select-note .fill-partial path.area.fill {
     pointer-events: visibleStroke;
 }
+.ideditor svg.preset-icon-category-border path {
+    stroke-width: 1;
+    stroke: rgb(170, 170, 170);
+    fill: rgba(170, 170, 170, 0.3);
+}
+
+.ideditor .preset-category-barrier svg.preset-icon-category-border path {
+    stroke: rgb(200, 144, 144);
+    fill: rgba(200, 144, 144, 0.3);
+}
+
+.ideditor .preset-category-building svg.preset-icon-category-border path {
+    stroke: rgb(224, 110, 95);
+    fill: rgba(224, 110, 95, 0.3);
+}
+
+.ideditor .preset-category-landuse svg.preset-icon-category-border path {
+    stroke: rgb(196, 189, 25);
+    fill: rgba(196, 189, 25, 0.3);
+}
+
+.ideditor .preset-category-natural svg.preset-icon-category-border path,
+.ideditor .preset-category-playground svg.preset-icon-category-border path,
+.ideditor .preset-category-golf svg.preset-icon-category-border path {
+    stroke: rgb(140, 208, 95);
+    fill: rgba(140, 208, 95, 0.3);
+}
+
+.ideditor .preset-category-water svg.preset-icon-category-border path,
+.ideditor .preset-category-waterway svg.preset-icon-category-border path {
+    stroke: rgb(119, 211, 222);
+    fill: rgba(119, 211, 222, 0.3);
+}
+
+.ideditor .preset-category-utility svg.preset-icon-category-border path {
+    stroke: rgb(125, 125, 125);
+    fill: rgba(219, 219, 125, 0.3);
+}
+
+.ideditor .preset-category-path svg.preset-icon-category-border path {
+    stroke: rgb(221, 221, 204);
+    fill: rgba(221, 221, 204, 0.3);
+}
+
+.ideditor .preset-category-road_service svg.preset-icon-category-border path,
+.ideditor .preset-category-road_minor svg.preset-icon-category-border path,
+.ideditor .preset-category-road_major svg.preset-icon-category-border path {
+    stroke: #999;
+}
+
+.ideditor .preset-category-rail svg.preset-icon-category-border path {
+    stroke: #555;
+}
 /* Basics
 ------------------------------------------------------- */
 /* the root element of iD */
 /* Basics
 ------------------------------------------------------- */
 /* the root element of iD */
         sans-serif;
     color: #333;
 
         sans-serif;
     color: #333;
 
-    -ms-touch-action: none;
-
-        touch-action: none;
+    touch-action: none;
     -ms-user-select: none;
     -ms-content-zooming: none;
 }
 .ideditor div {
     /* disable pinch-to-zoom of the UI on touch devices */
     -ms-user-select: none;
     -ms-content-zooming: none;
 }
 .ideditor div {
     /* disable pinch-to-zoom of the UI on touch devices */
-    -ms-touch-action: pan-x pan-y;
-        touch-action: pan-x pan-y;
+    touch-action: pan-x pan-y;
 }
 
 .ideditor .main-content {
     position: relative;
 }
 
 .ideditor .main-content {
     position: relative;
-    display: -webkit-box;
-    display: -ms-flexbox;
     display: flex;
     display: flex;
-    -webkit-box-orient: vertical;
-    -webkit-box-direction: normal;
-        -ms-flex-direction: column;
-            flex-direction: column;
+    flex-direction: column;
     overflow: hidden;
     height: 100%;
     overflow: hidden;
     height: 100%;
-    -ms-touch-action: none;
-        touch-action: none;
+    touch-action: none;
 }
 
 .ideditor .main-content.active {
 }
 
 .ideditor .main-content.active {
-    -webkit-filter: none !important;
-            filter: none !important;
-    -webkit-transition-duration: 200ms;
-         -o-transition-duration: 200ms;
-            transition-duration: 200ms;
+    filter: none !important;
+    transition-duration: 200ms;
 }
 
 .ideditor .main-content.inactive {
 }
 
 .ideditor .main-content.inactive {
-    -webkit-filter: grayscale(80%) brightness(80%);
-            filter: grayscale(80%) brightness(80%);
-    -webkit-transition-duration: 200ms;
-         -o-transition-duration: 200ms;
-            transition-duration: 200ms;
+    filter: grayscale(80%) brightness(80%);
+    transition-duration: 200ms;
 }
 
 .ideditor #ideditor-defs {
 }
 
 .ideditor #ideditor-defs {
 }
 
 .ideditor div, .ideditor textarea, .ideditor label, .ideditor input, .ideditor form, .ideditor span, .ideditor ul, .ideditor li, .ideditor ol, .ideditor a, .ideditor button, .ideditor h1, .ideditor h2, .ideditor h3, .ideditor h4, .ideditor h5, .ideditor p, .ideditor img {
 }
 
 .ideditor div, .ideditor textarea, .ideditor label, .ideditor input, .ideditor form, .ideditor span, .ideditor ul, .ideditor li, .ideditor ol, .ideditor a, .ideditor button, .ideditor h1, .ideditor h2, .ideditor h3, .ideditor h4, .ideditor h5, .ideditor p, .ideditor img {
-    -webkit-box-sizing: border-box;
-            box-sizing: border-box;
+    box-sizing: border-box;
 }
 
 .ideditor a, .ideditor button, .ideditor input, .ideditor textarea {
 }
 
 .ideditor a, .ideditor button, .ideditor input, .ideditor textarea {
     font-weight: bold;
     margin-bottom: 20px;
 }
     font-weight: bold;
     margin-bottom: 20px;
 }
+.ideditor .header h2 {
+    font-size: 20px;
+    line-height: 1.25;
+    font-weight: bold;
+    margin-bottom: 0px;
+}
 
 .ideditor h3:last-child,
 
 .ideditor h3:last-child,
-.ideditor h2:last-child,
 .ideditor h4:last-child { margin-bottom: 0;}
 
 .ideditor h3 {
 .ideditor h4:last-child { margin-bottom: 0;}
 
 .ideditor h3 {
 .ideditor input[type=number]:focus,
 .ideditor input[type=url]:focus,
 .ideditor input[type=tel]:focus,
 .ideditor input[type=number]:focus,
 .ideditor input[type=url]:focus,
 .ideditor input[type=tel]:focus,
-.ideditor input[type=email]:focus,
-.ideditor input[type=date]:focus {
-    outline-color: transparent;
-    outline-style: none;
-}
-
-.ideditor ::-webkit-input-placeholder {
-    color: #aaa;
-    opacity: 1; /* Firefox */
-}
-
-.ideditor ::-moz-placeholder {
-    color: #aaa;
-    opacity: 1; /* Firefox */
-}
-
-.ideditor :-ms-input-placeholder {
-    color: #aaa;
-    opacity: 1; /* Firefox */
+.ideditor input[type=email]:focus,
+.ideditor input[type=date]:focus {
+    outline-color: transparent;
+    outline-style: none;
 }
 
 }
 
-.ideditor ::-ms-input-placeholder {
+.ideditor ::-moz-placeholder {
     color: #aaa;
     opacity: 1; /* Firefox */
 }
     color: #aaa;
     opacity: 1; /* Firefox */
 }
     margin: 0 2px;
     border-bottom-color: #bbb;
     border-radius: 3px;
     margin: 0 2px;
     border-bottom-color: #bbb;
     border-radius: 3px;
-    -webkit-box-shadow: inset 0 -1px 0 #bbb;
-            box-shadow: inset 0 -1px 0 #bbb;
+    box-shadow: inset 0 -1px 0 #bbb;
 }
 
 .ideditor code {
 }
 
 .ideditor code {
     border: 1px solid #ccc;
     padding: 0px 10px 0px 10px;
     border-radius: 4px;
     border: 1px solid #ccc;
     padding: 0px 10px 0px 10px;
     border-radius: 4px;
-    -o-text-overflow: ellipsis;
-       text-overflow: ellipsis;
+    text-overflow: ellipsis;
     overflow: auto;
 }
 .ideditor input[type=text],
     overflow: auto;
 }
 .ideditor input[type=text],
 .ideditor input[type=url],
 .ideditor input[type=tel],
 .ideditor input[type=email],
 .ideditor input[type=url],
 .ideditor input[type=tel],
 .ideditor input[type=email],
-.ideditor input[type=date] {
+.ideditor input[type=date],
+.ideditor input[type=color] {
     /* need this since line-height interpretation may vary by font or browser */
     height: 2.585em;
 }
     /* need this since line-height interpretation may vary by font or browser */
     height: 2.585em;
 }
 .ideditor input[type="radio"] {
     width: 14px;
     height: 14px;
 .ideditor input[type="radio"] {
     width: 14px;
     height: 14px;
-    margin-right: 5px;
+    margin-right: 6px;
     cursor: pointer;
     vertical-align: middle;
 }
 .ideditor[dir='rtl'] input[type="checkbox"],
 .ideditor[dir='rtl'] input[type="radio"] {
     cursor: pointer;
     vertical-align: middle;
 }
 .ideditor[dir='rtl'] input[type="checkbox"],
 .ideditor[dir='rtl'] input[type="radio"] {
-    margin-left: 5px;
+    margin-left: 6px;
     margin-right: 0;
 }
 
     margin-right: 0;
 }
 
-.ideditor input.mixed::-webkit-input-placeholder, .ideditor textarea.mixed::-webkit-input-placeholder {
-    font-style: italic;
-}
-
 .ideditor input.mixed::-moz-placeholder, .ideditor textarea.mixed::-moz-placeholder {
     font-style: italic;
 }
 
 .ideditor input.mixed::-moz-placeholder, .ideditor textarea.mixed::-moz-placeholder {
     font-style: italic;
 }
 
-.ideditor input.mixed:-ms-input-placeholder, .ideditor textarea.mixed:-ms-input-placeholder {
-    font-style: italic;
-}
-
-.ideditor input.mixed::-ms-input-placeholder, .ideditor textarea.mixed::-ms-input-placeholder {
-    font-style: italic;
-}
-
 .ideditor input.mixed::placeholder,
 .ideditor textarea.mixed::placeholder {
     font-style: italic;
 .ideditor input.mixed::placeholder,
 .ideditor textarea.mixed::placeholder {
     font-style: italic;
     color: #a9a9a9;
 }
 .ideditor .content {
     color: #a9a9a9;
 }
 .ideditor .content {
-    -webkit-box-shadow: 0 0 30px 0 rgba(0, 0, 0, 0.25);
-            box-shadow: 0 0 30px 0 rgba(0, 0, 0, 0.25);
+    box-shadow: 0 0 30px 0 rgba(0, 0, 0, 0.25);
 }
 .ideditor .loading {
     background: url(<%= asset_path("iD/img/loader_bg.gif") %>);
 }
 .ideditor .loading {
     background: url(<%= asset_path("iD/img/loader_bg.gif") %>);
 
 .ideditor .icon-annotation {
     color: #333;
 
 .ideditor .icon-annotation {
     color: #333;
+    vertical-align: baseline;
+}
+
+.ideditor button.loading .icon {
+    background-image: url(<%= asset_path("iD/img/mini-loader.gif") %>);
+    background-position: 0 0;
+    background-size: auto;
 }
 
 
 }
 
 
     z-index: 101;
 }
 .ideditor .top-toolbar {
     z-index: 101;
 }
 .ideditor .top-toolbar {
-    display: -webkit-box;
-    display: -ms-flexbox;
     display: flex;
     display: flex;
-    -webkit-box-orient: horizontal;
-    -webkit-box-direction: normal;
-        -ms-flex-flow: row nowrap;
-            flex-flow: row nowrap;
-    -webkit-box-pack: justify;
-        -ms-flex-pack: justify;
-            justify-content: space-between;
+    flex-flow: row nowrap;
+    justify-content: space-between;
     padding: 10px 0 0 0;
     overflow-x: auto;
     overflow-y: hidden;
     padding: 10px 0 0 0;
     overflow-x: auto;
     overflow-y: hidden;
     display: none; /* Chrome, Safari, Opera */
 }
 .ideditor .top-toolbar .toolbar-item {
     display: none; /* Chrome, Safari, Opera */
 }
 .ideditor .top-toolbar .toolbar-item {
-    display: -webkit-box;
-    display: -ms-flexbox;
     display: flex;
     display: flex;
-    -webkit-box-flex: 0;
-        -ms-flex: 0 1 auto;
-            flex: 0 1 auto;
-    -webkit-box-orient: vertical;
-    -webkit-box-direction: normal;
-        -ms-flex-flow: column wrap;
-            flex-flow: column wrap;
-    -webkit-box-pack: center;
-        -ms-flex-pack: center;
-            justify-content: center;
+    flex: 0 1 auto;
+    flex-flow: column wrap;
+    justify-content: center;
 }
 .ideditor .top-toolbar .toolbar-item .item-content {
 }
 .ideditor .top-toolbar .toolbar-item .item-content {
-    display: -webkit-box;
-    display: -ms-flexbox;
     display: flex;
     display: flex;
-    -webkit-box-flex: 0;
-        -ms-flex: 0 1 auto;
-            flex: 0 1 auto;
-    -webkit-box-orient: horizontal;
-    -webkit-box-direction: normal;
-        -ms-flex-flow: row nowrap;
-            flex-flow: row nowrap;
-    -webkit-box-pack: center;
-        -ms-flex-pack: center;
-            justify-content: center;
+    flex: 0 1 auto;
+    flex-flow: row nowrap;
+    justify-content: center;
     height: 40px;
     width: auto;
     margin: 0 5px;
     height: 40px;
     width: auto;
     margin: 0 5px;
 }
 .ideditor .top-toolbar .toolbar-item.spacer {
     width: 100%;
 }
 .ideditor .top-toolbar .toolbar-item.spacer {
     width: 100%;
-    -webkit-box-flex: 2;
-        -ms-flex-positive: 2;
-            flex-grow: 2;
+    flex-grow: 2;
 }
 .ideditor .top-toolbar .toolbar-item:first-child {
 }
 .ideditor .top-toolbar .toolbar-item:first-child {
-    -webkit-box-pack: start;
-        -ms-flex-pack: start;
-            justify-content: flex-start;
+    justify-content: flex-start;
 }
 .ideditor .top-toolbar .toolbar-item:last-child {
 }
 .ideditor .top-toolbar .toolbar-item:last-child {
-    -webkit-box-pack: end;
-        -ms-flex-pack: end;
-            justify-content: flex-end;
+    justify-content: flex-end;
 }
 .ideditor .top-toolbar .toolbar-item:empty:not(.spacer) {
     display: none;
 }
 .ideditor button.bar-button {
 }
 .ideditor .top-toolbar .toolbar-item:empty:not(.spacer) {
     display: none;
 }
 .ideditor button.bar-button {
-    -webkit-box-flex: 0;
-        -ms-flex: 0 0 auto;
-            flex: 0 0 auto;
-    -webkit-box-orient: horizontal;
-    -webkit-box-direction: normal;
-        -ms-flex-flow: row nowrap;
-            flex-flow: row nowrap;
-    -webkit-box-align: center;
-        -ms-flex-align: center;
-            align-items: center;
+    flex: 0 0 auto;
+    flex-flow: row nowrap;
+    align-items: center;
     padding: 0 10px;
     min-width: 30px;
     white-space: nowrap;
     padding: 0 10px;
     min-width: 30px;
     white-space: nowrap;
-    display: -webkit-box;
-    display: -ms-flexbox;
     display: flex;
     font-weight: bold;
 }
 .ideditor button.bar-button .icon {
     display: flex;
     font-weight: bold;
 }
 .ideditor button.bar-button .icon {
-    -webkit-box-flex: 0;
-        -ms-flex: 0 0 20px;
-            flex: 0 0 20px;
+    flex: 0 0 20px;
 }
 .ideditor button.bar-button .label {
 }
 .ideditor button.bar-button .label {
-    -webkit-box-flex: 0;
-        -ms-flex: 0 1 auto;
-            flex: 0 1 auto;
+    flex: 0 1 auto;
     padding: 0 5px;
 }
 
     padding: 0 5px;
 }
 
     border-radius: 100%;
 }
 .ideditor[dir='rtl'] .spinner img {
     border-radius: 100%;
 }
 .ideditor[dir='rtl'] .spinner img {
-    -webkit-transform: scaleX(-1);
-        -ms-transform: scaleX(-1);
-            transform: scaleX(-1);
-    -webkit-filter: FlipH;
-            filter: FlipH;
+    transform: scaleX(-1);
+    filter: FlipH;
     -ms-filter: "FlipH";
 }
 
     -ms-filter: "FlipH";
 }
 
     border-bottom: 1px solid #ccc;
     padding: 20px 40px;
     position: relative;
     border-bottom: 1px solid #ccc;
     padding: 20px 40px;
     position: relative;
-    display: -webkit-box;
-    display: -ms-flexbox;
     display: flex;
     display: flex;
-    -webkit-box-align: center;
-        -ms-flex-align: center;
-            align-items: center;
-    -webkit-box-pack: center;
-        -ms-flex-pack: center;
-            justify-content: center;
-    -webkit-box-flex: 0;
-        -ms-flex: 0 0 auto;
-            flex: 0 0 auto;
+    align-items: center;
+    justify-content: center;
+    flex: 0 0 auto;
 }
 
 .ideditor .header h3 {
     text-align: center;
     margin-bottom: 0;
 }
 
 .ideditor .header h3 {
     text-align: center;
     margin-bottom: 0;
-    -o-text-overflow: ellipsis;
-       text-overflow: ellipsis;
+    text-overflow: ellipsis;
     overflow: hidden;
     padding: 0;
 }
     overflow: hidden;
     padding: 0;
 }
     width: 100%;
     height: 2.5em;
     z-index: 1;
     width: 100%;
     height: 2.5em;
     z-index: 1;
-    -ms-flex-wrap: wrap;
-        flex-wrap: wrap;
-    -webkit-box-pack: justify;
-        -ms-flex-pack: justify;
-            justify-content: space-between;
-    -webkit-box-align: center;
-        -ms-flex-align: center;
-            align-items: center;
+    flex-wrap: wrap;
+    justify-content: space-between;
+    align-items: center;
     list-style: none;
     list-style: none;
-    display: -webkit-box;
-    display: -ms-flexbox;
     display: flex;
 }
 
 .ideditor .footer > a {
     display: flex;
 }
 
 .ideditor .footer > a {
-    -webkit-box-pack: center;
-        -ms-flex-pack: center;
-            justify-content: center;
+    justify-content: center;
 }
 
 /* Hide/Toggle collapsible sections (aka Disclosure)
 }
 
 /* Hide/Toggle collapsible sections (aka Disclosure)
     /* disable drag-to-select */
     -webkit-user-select: none;
        -moz-user-select: none;
     /* disable drag-to-select */
     -webkit-user-select: none;
        -moz-user-select: none;
-        -ms-user-select: none;
             user-select: none;
 }
 .ideditor[dir='rtl'] .sidebar-resizer {
             user-select: none;
 }
 .ideditor[dir='rtl'] .sidebar-resizer {
     left: 0;
     bottom: 0;
     right: 0;
     left: 0;
     bottom: 0;
     right: 0;
-    display: -webkit-box;
-    display: -ms-flexbox;
     display: flex;
     display: flex;
-    -webkit-box-orient: vertical;
-    -webkit-box-direction: normal;
-        -ms-flex-direction: column;
-            flex-direction: column;
+    flex-direction: column;
 }
 
 .ideditor .sidebar-component .body {
     width: 100%;
     height: 100%;
 }
 
 .ideditor .sidebar-component .body {
     width: 100%;
     height: 100%;
-    overflow: auto;
+    overflow-y: auto;
+    overflow-x: hidden;
     position: relative;
 }
 
     position: relative;
 }
 
     width: 50%;
     top: 0;
     bottom: 2.5em;
     width: 50%;
     top: 0;
     bottom: 2.5em;
-    display: -webkit-box;
-    display: -ms-flexbox;
     display: flex;
     display: flex;
-    -webkit-box-orient: vertical;
-    -webkit-box-direction: normal;
-        -ms-flex-direction: column;
-            flex-direction: column;
+    flex-direction: column;
 }
 
 .ideditor .pane:first-child {
 }
 
 .ideditor .pane:first-child {
     right: 0;
 }
 .ideditor .feature-list-pane {
     right: 0;
 }
 .ideditor .feature-list-pane {
-    display: -webkit-box;
-    display: -ms-flexbox;
     display: flex;
     display: flex;
-    -webkit-box-orient: vertical;
-    -webkit-box-direction: normal;
-        -ms-flex-direction: column;
-            flex-direction: column;
+    flex-direction: column;
     height: 100%;
 }
 
     height: 100%;
 }
 
     overflow-x: hidden;
     position: relative;
     height: 100%;
     overflow-x: hidden;
     position: relative;
     height: 100%;
-    -webkit-box-flex: 1;
-        -ms-flex: 1 1 100%;
-            flex: 1 1 100%;
+    flex: 1 1 100%;
 }
 .ideditor .entity-editor {
     padding: 20px;
 }
 .ideditor .entity-editor {
     padding: 20px;
 .ideditor .sidebar .search-header {
     position: relative;
     overflow: hidden;
 .ideditor .sidebar .search-header {
     position: relative;
     overflow: hidden;
-    -webkit-box-flex: 0;
-        -ms-flex: 0 0 auto;
-            flex: 0 0 auto;
+    flex: 0 0 auto;
 }
 .ideditor .sidebar .search-header .icon {
     display: inline-block;
 }
 .ideditor .sidebar .search-header .icon {
     display: inline-block;
 }
 
 .ideditor .feature-list-item {
 }
 
 .ideditor .feature-list-item {
-    display: -webkit-box;
-    display: -ms-flexbox;
     display: flex;
 }
 .ideditor .feature-list-item .label {
     text-align: left;
     padding: 10px;
     white-space: nowrap;
     display: flex;
 }
 .ideditor .feature-list-item .label {
     text-align: left;
     padding: 10px;
     white-space: nowrap;
-    -o-text-overflow: ellipsis;
-       text-overflow: ellipsis;
+    text-overflow: ellipsis;
     overflow: hidden;
     overflow: hidden;
-    -webkit-box-flex: 1;
-        -ms-flex: 1 1 auto;
-            flex: 1 1 auto;
+    flex: 1 1 auto;
 }
 .ideditor[dir='rtl'] .feature-list-item .label {
     text-align: right;
 }
 .ideditor[dir='rtl'] .feature-list-item .label {
     text-align: right;
 
 .ideditor .preset-list-button-wrap {
     min-height: 62px;
 
 .ideditor .preset-list-button-wrap {
     min-height: 62px;
-    display: -webkit-box;
-    display: -ms-flexbox;
     display: flex;
     border: 1px solid #ccc;
     border-radius: 4px;
     display: flex;
     border: 1px solid #ccc;
     border-radius: 4px;
     width: 100%;
     height: 100%;
     position: relative;
     width: 100%;
     height: 100%;
     position: relative;
-    display: -webkit-box;
-    display: -ms-flexbox;
     display: flex;
     display: flex;
-    -webkit-box-align: center;
-        -ms-flex-align: center;
-            align-items: center;
+    align-items: center;
 }
 
 .ideditor .preset-list.filtered .preset-list-item:first-child .preset-list-button {
 }
 
 .ideditor .preset-list.filtered .preset-list-item:first-child .preset-list-button {
     width: 60px;
     height: 60px;
     text-align: center;
     width: 60px;
     height: 60px;
     text-align: center;
-    display: -webkit-box;
-    display: -ms-flexbox;
     display: flex;
     display: flex;
-    -webkit-box-align: center;
-        -ms-flex-align: center;
-            align-items: center;
-    -webkit-box-pack: center;
-        -ms-flex-pack: center;
-            justify-content: center;
-    -webkit-box-flex: 0;
-        -ms-flex: 0 0 auto;
-            flex: 0 0 auto;
+    align-items: center;
+    justify-content: center;
+    flex: 0 0 auto;
 }
 .ideditor .preset-icon-container.small {
     width: 40px;
     height: 40px;
 }
 .ideditor .preset-icon-container.small {
     width: 40px;
     height: 40px;
-    -webkit-box-flex: 0;
-        -ms-flex: 0 0 auto;
-            flex: 0 0 auto;
+    flex: 0 0 auto;
 }
 .ideditor .preset-icon-container img.image-icon {
     width: 50px;
 }
 .ideditor .preset-icon-container img.image-icon {
     width: 50px;
     visibility: visible;
 }
 .ideditor .preset-icon-container.showing-img *:not(.image-icon) {
     visibility: visible;
 }
 .ideditor .preset-icon-container.showing-img *:not(.image-icon) {
-    visibility: hidden;
+    display: none;
 }
 
 .ideditor .preset-icon-point-border path {
 }
 
 .ideditor .preset-icon-point-border path {
     fill: transparent;
 }
 
     fill: transparent;
 }
 
+.ideditor .preset-icon-category-border path {
+    stroke: #999;
+    stroke-width: 1px;
+    fill: transparent;
+    -webkit-backface-visibility: hidden;
+            backface-visibility: hidden;
+    vector-effect: non-scaling-stroke;
+}
+
 .ideditor .preset-icon-line {
     margin: auto;
     position: absolute;
 .ideditor .preset-icon-line {
     margin: auto;
     position: absolute;
     right: 0;
     width: 100%;
     height: 100%;
     right: 0;
     width: 100%;
     height: 100%;
-    -webkit-transform: scale(0.48);
-        -ms-transform: scale(0.48);
-            transform: scale(0.48);
+    transform: scale(0.48);
 }
 .ideditor .preset-icon-container.small .preset-icon.point-geom .icon {
 }
 .ideditor .preset-icon-container.small .preset-icon.point-geom .icon {
-    -webkit-transform: translateY(-7%) scale(0.27);
-        -ms-transform: translateY(-7%) scale(0.27);
-            transform: translateY(-7%) scale(0.27);
+    transform: translateY(-7%) scale(0.27);
 }
 .ideditor .preset-icon-container.small .preset-icon.point-geom.preset-icon-iD .icon {
 }
 .ideditor .preset-icon-container.small .preset-icon.point-geom.preset-icon-iD .icon {
-    -webkit-transform: translateY(-9%) scale(0.5);
-        -ms-transform: translateY(-9%) scale(0.5);
-            transform: translateY(-9%) scale(0.5);
+    transform: translateY(-9%) scale(0.5);
 }
 .ideditor .preset-icon.framed .icon {
 }
 .ideditor .preset-icon.framed .icon {
-    -webkit-transform: scale(0.4);
-        -ms-transform: scale(0.4);
-            transform: scale(0.4);
+    transform: scale(0.4);
 }
 }
-.ideditor .preset-icon.framed.line-geom .icon,
+.ideditor .preset-icon.framed.line-geom:not(.category) .icon,
 .ideditor .preset-icon.framed.route-geom .icon {
     top: 20%;
 .ideditor .preset-icon.framed.route-geom .icon {
     top: 20%;
-    -webkit-transform: translateY(-30%) scale(0.4);
-        -ms-transform: translateY(-30%) scale(0.4);
-            transform: translateY(-30%) scale(0.4);
+    transform: translateY(-30%) scale(0.4);
 }
 .ideditor .preset-icon-iD .icon {
 }
 .ideditor .preset-icon-iD .icon {
-    -webkit-transform: scale(1);
-        -ms-transform: scale(1);
-            transform: scale(1);
+    transform: scale(1);
 }
 .ideditor .preset-icon-iD.framed .icon {
 }
 .ideditor .preset-icon-iD.framed .icon {
-    -webkit-transform: scale(0.74);
-        -ms-transform: scale(0.74);
-            transform: scale(0.74);
+    transform: scale(0.74);
 }
 }
-.ideditor .preset-icon-iD.framed.line-geom .icon,
+.ideditor .preset-icon-iD.framed.line-geom:not(.category) .icon,
 .ideditor .preset-icon-iD.framed.route-geom .icon {
 .ideditor .preset-icon-iD.framed.route-geom .icon {
-    -webkit-transform: translateY(-30%) scale(0.74);
-        -ms-transform: translateY(-30%) scale(0.74);
-            transform: translateY(-30%) scale(0.74);
+    transform: translateY(-30%) scale(0.74);
 }
 .ideditor .preset-icon-container.fallback .preset-icon .icon {
 }
 .ideditor .preset-icon-container.fallback .preset-icon .icon {
-    -webkit-transform: scale(0.5) !important;
-        -ms-transform: scale(0.5) !important;
-            transform: scale(0.5) !important;
+    transform: scale(0.5) !important;
 }
 
 .ideditor .preset-list-button .label {
 }
 
 .ideditor .preset-list-button .label {
-    display: -webkit-box;
-    display: -ms-flexbox;
     display: flex;
     display: flex;
-    -webkit-box-orient: horizontal;
-    -webkit-box-direction: normal;
-        -ms-flex-flow: row wrap;
-            flex-flow: row wrap;
-    -webkit-box-align: center;
-        -ms-flex-align: center;
-            align-items: center;
+    flex-flow: row wrap;
+    align-items: center;
     background: #f6f6f6;
     text-align: left;
     padding: 5px 10px;
     border-left: 1px solid rgba(0, 0, 0, .1);
     background: #f6f6f6;
     text-align: left;
     padding: 5px 10px;
     border-left: 1px solid rgba(0, 0, 0, .1);
-    -webkit-box-flex: 1;
-        -ms-flex: 1 1 100%;
-            flex: 1 1 100%;
-    -ms-flex-item-align: stretch;
-        align-self: stretch;
+    flex: 1 1 100%;
+    align-self: stretch;
 }
 .ideditor[dir='rtl'] .preset-list-button .label {
     text-align: right;
 }
 .ideditor[dir='rtl'] .preset-list-button .label {
     text-align: right;
     line-height: 1.35em;
 }
 .ideditor .preset-list-button .label-inner .namepart {
     line-height: 1.35em;
 }
 .ideditor .preset-list-button .label-inner .namepart {
-    -o-text-overflow: ellipsis;
-       text-overflow: ellipsis;
+    text-overflow: ellipsis;
 }
 .ideditor .preset-list-button .label-inner .namepart:nth-child(1) {
     font-weight: bold;
 }
 .ideditor .preset-list-button .label-inner .namepart:nth-child(1) {
     font-weight: bold;
 
 .ideditor .preset-list-button-wrap button.tag-reference-button {
     width: 32px;
 
 .ideditor .preset-list-button-wrap button.tag-reference-button {
     width: 32px;
-    -webkit-box-flex: 0;
-        -ms-flex: 0 0 auto;
-            flex: 0 0 auto;
+    flex: 0 0 auto;
 }
 .ideditor .preset-list-button-wrap button.tag-reference-button:not(:hover):not(:active):not(:focus) {
     background: #f6f6f6;
 }
 .ideditor .preset-list-button-wrap button.tag-reference-button:not(:hover):not(:active):not(:focus) {
     background: #f6f6f6;
     opacity: .5;
 }
 .ideditor .preset-list-button-wrap .accessory-buttons {
     opacity: .5;
 }
 .ideditor .preset-list-button-wrap .accessory-buttons {
-    display: -webkit-box;
-    display: -ms-flexbox;
     display: flex;
 }
 
     display: flex;
 }
 
 /* Quick links
 ------------------------------------------------------- */
 .ideditor .quick-links {
 /* Quick links
 ------------------------------------------------------- */
 .ideditor .quick-links {
-    display: -webkit-box;
-    display: -ms-flexbox;
     display: flex;
     display: flex;
-    -webkit-box-orient: horizontal;
-    -webkit-box-direction: normal;
-        -ms-flex-flow: row wrap;
-            flex-flow: row wrap;
-    -webkit-box-pack: end;
-        -ms-flex-pack: end;
-            justify-content: flex-end;
+    flex-flow: row wrap;
+    justify-content: flex-end;
     padding: 5px 0 0 0;
 }
 .ideditor .quick-link {
     padding: 5px 0 0 0;
 }
 .ideditor .quick-link {
 */
 
 .ideditor .form-field {
 */
 
 .ideditor .form-field {
-    display: -webkit-box;
-    display: -ms-flexbox;
     display: flex;
     display: flex;
-    -webkit-box-orient: horizontal;
-    -webkit-box-direction: normal;
-        -ms-flex-flow: row wrap;
-            flex-flow: row wrap;
+    flex-flow: row wrap;
     margin-bottom: 10px;
     width: 100%;
     margin-bottom: 10px;
     width: 100%;
-    -webkit-transition: margin-bottom 200ms;
-    -o-transition: margin-bottom 200ms;
     transition: margin-bottom 200ms;
 }
 
     transition: margin-bottom 200ms;
 }
 
 
 /* A `label` element that wraps the top section */
 .ideditor .field-label {
 
 /* A `label` element that wraps the top section */
 .ideditor .field-label {
-    display: -webkit-box;
-    display: -ms-flexbox;
     display: flex;
     display: flex;
-    -webkit-box-orient: horizontal;
-    -webkit-box-direction: normal;
-        -ms-flex-flow: row nowrap;
-            flex-flow: row nowrap;
-    -webkit-box-flex: 1;
-        -ms-flex: 1 1 100%;
-            flex: 1 1 100%;
+    flex-flow: row nowrap;
+    flex: 1 1 100%;
     position: relative;
     font-weight: bold;
     color: #333;
     position: relative;
     font-weight: bold;
     color: #333;
 }
 .ideditor .field-label .label-text {
     overflow: hidden;
 }
 .ideditor .field-label .label-text {
     overflow: hidden;
-    -o-text-overflow: ellipsis;
-       text-overflow: ellipsis;
-    -webkit-box-flex: 1;
-        -ms-flex: 1 1 auto;
-            flex: 1 1 auto;
+    text-overflow: ellipsis;
+    flex: 1 1 auto;
     padding: 5px 0 4px 10px;
 }
 .ideditor[dir='rtl'] .field-label .label-text {
     padding: 5px 10px 4px 0;
 }
     padding: 5px 0 4px 10px;
 }
 .ideditor[dir='rtl'] .field-label .label-text {
     padding: 5px 10px 4px 0;
 }
-.ideditor .field-label .label-text span {
+.ideditor .field-label .label-text {
     white-space: nowrap;
 }
 
     white-space: nowrap;
 }
 
 }
 
 .ideditor .field-label button {
 }
 
 .ideditor .field-label button {
-    -webkit-box-flex: 0;
-        -ms-flex: 0 0 auto;
-            flex: 0 0 auto;
+    flex: 0 0 auto;
     border-left: 1px solid #ccc;
     width: 32px;
     border-radius: 0;
     border-left: 1px solid #ccc;
     width: 32px;
     border-radius: 0;
 
 /* A `div` element that wraps the bottom section */
 .ideditor .form-field-input-wrap {
 
 /* A `div` element that wraps the bottom section */
 .ideditor .form-field-input-wrap {
-    display: -webkit-box;
-    display: -ms-flexbox;
     display: flex;
     display: flex;
-    -webkit-box-orient: horizontal;
-    -webkit-box-direction: normal;
-        -ms-flex-flow: row nowrap;
-            flex-flow: row nowrap;
+    flex-flow: row nowrap;
     width: 100%;
     width: 100%;
-    -webkit-box-flex: 1;
-        -ms-flex: 1 1 auto;
-            flex: 1 1 auto;
+    flex: 1 1 auto;
     border-top: 0;
     border-radius: 0 0 4px 4px;
 }
     border-top: 0;
     border-radius: 0 0 4px 4px;
 }
 .ideditor .form-field-input-wrap > label,
 .ideditor .form-field-input-wrap > textarea,
 .ideditor .form-field-input-wrap > ul.chiplist {
 .ideditor .form-field-input-wrap > label,
 .ideditor .form-field-input-wrap > textarea,
 .ideditor .form-field-input-wrap > ul.chiplist {
-    -webkit-box-flex: 1;
-        -ms-flex: 1 1 auto;
-            flex: 1 1 auto;
+    flex: 1 1 auto;
     border: 1px solid #ccc;
     border-top: 0;
     border-radius: 0;
     border: 1px solid #ccc;
     border-top: 0;
     border-radius: 0;
 
 /* Buttons inside fields */
 .ideditor .form-field-button {
 
 /* Buttons inside fields */
 .ideditor .form-field-button {
-    -webkit-box-flex: 0;
-        -ms-flex: 0 0 auto;
-            flex: 0 0 auto;
+    flex: 0 0 auto;
     width: 32px;
     position: relative;
     background-color: #fff;
     width: 32px;
     position: relative;
     background-color: #fff;
     fill: #333;
     opacity: .5;
 }
     fill: #333;
     opacity: .5;
 }
+.ideditor .form-field-button.colour-preview {
+    border-radius: 0 0 4px 0;
+}
+.ideditor .form-field-button.colour-preview > div.colour-box {
+    border: 3px solid #fff;
+    height: 100%;
+    border-radius: 8px;
+    cursor: pointer;
+    text-align: center;
+    line-height: 20px;
+    padding: 1px 0 0 1px;
+}
+.ideditor .inspector-hover .form-field-button.colour-preview > div.colour-box {
+    border-color: #ececec;
+}
+.ideditor .form-field-button.colour-preview:active > div.colour-box,
+.ideditor .form-field-button.colour-preview:focus > div.colour-box {
+    border-color: #f1f1f1;
+}
+@media (hover: hover) {
+    .ideditor .form-field-button.colour-preview:hover > div.colour-box {
+        border-color: #f1f1f1;
+    }
+}
+.ideditor input.colour-selector {
+    visibility: hidden;
+    position: absolute;
+}
+.ideditor input.date-selector {
+    visibility: hidden;
+    position: absolute;
+}
 
 
 /* round corners of first/last child elements */
 
 
 /* round corners of first/last child elements */
 }
 
 
 }
 
 
-/* Field - Access, Cycleway
+/* Field - Access, DirectionalCombo
 ------------------------------------------------------- */
 .ideditor .form-field-input-access,
 ------------------------------------------------------- */
 .ideditor .form-field-input-access,
-.ideditor .form-field-input-cycleway {
-    -webkit-box-flex: 1;
-        -ms-flex: 1 1 auto;
-            flex: 1 1 auto;
-    display: -webkit-box;
-    display: -ms-flexbox;
+.ideditor .form-field-input-directionalcombo {
+    flex: 1 1 auto;
     display: flex;
     display: flex;
-    -webkit-box-orient: horizontal;
-    -webkit-box-direction: normal;
-        -ms-flex-flow: row wrap;
-            flex-flow: row wrap;
+    flex-flow: row wrap;
 }
 
 /* Field - lists with labeled input items
 ------------------------------------------------------- */
 .ideditor .form-field ul.rows {
 }
 
 /* Field - lists with labeled input items
 ------------------------------------------------------- */
 .ideditor .form-field ul.rows {
-    -webkit-box-flex: 1;
-        -ms-flex: 1 1 auto;
-            flex: 1 1 auto;
+    flex: 1 1 auto;
     border: 1px solid #ccc;
     border-top: 0;
     border-radius: 0 0 4px 4px;
     border: 1px solid #ccc;
     border-top: 0;
     border-radius: 0 0 4px 4px;
     border-top: 0;
 }
 .ideditor .form-field ul.rows li {
     border-top: 0;
 }
 .ideditor .form-field ul.rows li {
-    display: -webkit-box;
-    display: -ms-flexbox;
     display: flex;
     display: flex;
-    -webkit-box-orient: horizontal;
-    -webkit-box-direction: normal;
-        -ms-flex-flow: row nowrap;
-            flex-flow: row nowrap;
+    flex-flow: row nowrap;
 }
 }
-.ideditor .form-field ul.rows li.labeled-input > span,
 .ideditor .form-field ul.rows li.labeled-input > div {
 .ideditor .form-field ul.rows li.labeled-input > div {
-    -webkit-box-flex: 1;
-        -ms-flex: 1 1 auto;
-            flex: 1 1 auto;
+    flex: 1 1 auto;
     width: 100%;
     border-radius: 0;
     width: 100%;
     border-radius: 0;
+    line-height: 0.95rem;
 }
 .ideditor .form-field ul.rows li input {
     border-radius: 0;
 }
 .ideditor .form-field ul.rows li input {
     border-radius: 0;
     border-right-width: 1px;
 }
 
     border-right-width: 1px;
 }
 
+/* Field - lists with labeled input items as table
+------------------------------------------------------- */
+.ideditor .form-field ul.rows.rows-table {
+    display: table;
+    width: 100%;
+}
+.ideditor .form-field ul.rows.rows-table li.labeled-input {
+    display: table-row;
+}
+.ideditor .form-field ul.rows.rows-table li.labeled-input > div:first-child {
+    display: table-cell;
+    width: auto;
+    max-width: 170px;
+    white-space: nowrap;
+    text-overflow: ellipsis;
+    overflow: hidden;
+}
+.ideditor .form-field ul.rows.rows-table li.labeled-input > div:nth-child(2) {
+    display: table-cell;
+    width: auto;
+}
+
 
 /* Field - Structure
 ------------------------------------------------------- */
 
 /* Field - Structure
 ------------------------------------------------------- */
     display: none;
 }
 
     display: none;
 }
 
+.ideditor .form-field-input-combo input.raw-value,
+.ideditor .form-field-input-semicombo input.raw-value,
+.ideditor .form-field-input-multicombo input.raw-value {
+    font-family: monospace;
+}
+.ideditor .form-field-input-combo input.known-value,
+.ideditor .form-field-input-semicombo input.known-value,
+.ideditor .form-field-input-multicombo input.known-value {
+    color: #7092ff;
+}
+
 .ideditor .form-field-input-multicombo ul.chiplist {
     padding: 5px 8px 5px 8px;
     background: #fff;
 .ideditor .form-field-input-multicombo ul.chiplist {
     padding: 5px 8px 5px 8px;
     background: #fff;
 }
 
 .ideditor .form-field-input-multicombo li {
 }
 
 .ideditor .form-field-input-multicombo li {
-    display: -webkit-inline-box;
-    display: -ms-inline-flexbox;
     display: inline-flex;
     display: inline-flex;
-    -webkit-box-orient: horizontal;
-    -webkit-box-direction: normal;
-        -ms-flex-flow: row nowrap;
-            flex-flow: row nowrap;
-    -webkit-box-align: center;
-        -ms-flex-align: center;
-            align-items: center;
+    flex-flow: row nowrap;
     margin-bottom: 3px;
     margin-top: 3px;
     border-radius: 4px;
     margin-bottom: 3px;
     margin-top: 3px;
     border-radius: 4px;
     background-color: #eff2f7;
     border: 1px solid #ccd5e3;
     max-width: 100%;
     background-color: #eff2f7;
     border: 1px solid #ccd5e3;
     max-width: 100%;
+    color: #7092ff;
+}
+.ideditor .form-field-input-multicombo li.chip.negated span {
+    text-decoration: line-through;
+}
+.ideditor .form-field-input-multicombo li.chip input {
+    width: 1em;
+    height: 11px;
+    margin-top: 7px;
 }
 .ideditor[dir='ltr'] .form-field-input-multicombo li.chip {
     padding: 2px 0px 2px 5px;
 }
 .ideditor[dir='ltr'] .form-field-input-multicombo li.chip {
     padding: 2px 0px 2px 5px;
     padding: 2px 5px 2px 0px;
 }
 .ideditor .form-field-input-multicombo li.chip.draggable {
     padding: 2px 5px 2px 0px;
 }
 .ideditor .form-field-input-multicombo li.chip.draggable {
-    cursor: -webkit-grab;
     cursor: grab;
 }
 .ideditor .form-field-input-multicombo li.chip.dragging {
     opacity: 0.75;
     z-index: 3000;
     cursor: grab;
 }
 .ideditor .form-field-input-multicombo li.chip.dragging {
     opacity: 0.75;
     z-index: 3000;
-    cursor: -webkit-grabbing;
     cursor: grabbing;
 }
     cursor: grabbing;
 }
+.ideditor .form-field-input-multicombo li.chip.raw-value {
+    font-family: monospace;
+    color: #333;
+}
 .ideditor .form-field-input-multicombo li.mixed {
     border-color: #eff2f7;
     color: #888;
     font-style: italic;
 }
 
 .ideditor .form-field-input-multicombo li.mixed {
     border-color: #eff2f7;
     color: #888;
     font-style: italic;
 }
 
-.ideditor .form-field-input-multicombo li.chip span {
+.ideditor .form-field-input-multicombo li.chip span {
     display: block;
     display: block;
-    -webkit-box-flex: 1;
-        -ms-flex: 1 1 auto;
-            flex: 1 1 auto;
+    flex: 1 1 auto;
     overflow: hidden;
     word-wrap: break-word;
     overflow: hidden;
     word-wrap: break-word;
+    margin-top: 4px;
 }
 
 }
 
-.ideditor .form-field-input-multicombo a {
+.ideditor .form-field-input-multicombo a,
+.ideditor .form-field-input-multicombo button {
     font-family: Arial, Helvetica, sans-serif !important;
     font-size: 16px !important;
     padding: 0px 5px 0px 5px;
     font-family: Arial, Helvetica, sans-serif !important;
     font-size: 16px !important;
     padding: 0px 5px 0px 5px;
     color: #a6b4ce;
     display: block;
     text-align: center;
     color: #a6b4ce;
     display: block;
     text-align: center;
-    -webkit-box-flex: 0;
-        -ms-flex: 0 0 auto;
-            flex: 0 0 auto;
+    flex: 0 0 auto;
+    background: transparent;
+    border: 0;
+}
+
+.ideditor .form-field-input-multicombo li.chip .field_buttons {
+    display: inline-block;
+    text-align: right;
+    margin-right: 2px;
+    margin-top: 2px;
+    margin-bottom: 2px;
+}
+
+.ideditor .form-field-input-multicombo li.chip .field_buttons a {
+    display: block;
+    float: right;
+    margin-top: -2px;
+    margin-bottom: -2px;
+}
+
+.ideditor[dir='rtl'] .form-field-input-multicombo li.chip .field_buttons a {
+    float: left;
+}
+
+.ideditor .form-field-input-multicombo li.chip .field_buttons button {
+    display: inline-block;
+    margin-right: -4px;
+    margin-top: -4px;
+    margin-bottom: -2px;
+    margin-left: -2px;
+}
+
+.ideditor .form-field-input-multicombo li.chip .field_buttons button:hover {
+    background-color: transparent;
 }
 
 .ideditor .form-field-input-multicombo .input-wrap {
     border: 1px solid #ddd;
 }
 
 .ideditor .form-field-input-multicombo .input-wrap {
     border: 1px solid #ddd;
-    width: 100px;
+    width: 180px;
 }
 .ideditor .form-field-input-multicombo input {
     border: none;
 }
 .ideditor .form-field-input-multicombo input {
     border: none;
     width: auto;
 }
 
     width: auto;
 }
 
+.ideditor .form-field-input-combo .tag-value-icon,
+.ideditor .form-field-input-semicombo .input-wrap .tag-value-icon,
+.ideditor .form-field-input-multicombo .input-wrap .tag-value-icon {
+    display: inline-block;
+    position: relative;
+    height: 24px;
+    width: 30px;
+    margin-right: -30px;
+    align-self: center;
+    vertical-align: middle;
+    z-index: 1;
+    padding-left: 11px;
+}
+.ideditor[dir='rtl'] .form-field-input-combo .tag-value-icon,
+.ideditor[dir='rtl'] .form-field-input-semicombo .input-wrap .tag-value-icon,
+.ideditor[dir='rtl'] .form-field-input-multicombo .input-wrap .tag-value-icon  {
+    margin-right: 0;
+    margin-left: -30px;
+    padding-left: 0;
+    padding-right: 11px;
+}
+.ideditor .tag-value-icon .icon {
+    width: 21px;
+    height: 21px;
+    margin: auto;
+}
+.ideditor[dir='ltr'] .form-field-input-combo .tag-value-icon + input,
+.ideditor[dir='ltr'] .form-field-input-semicombo .input-wrap .tag-value-icon + input,
+.ideditor[dir='ltr'] .form-field-input-multicombo .input-wrap .tag-value-icon + input {
+    padding-left: 40px;
+}
+.ideditor[dir='rtl'] .form-field-input-combo .tag-value-icon + input,
+.ideditor[dir='rtl'] .form-field-input-semicombo .input-wrap .tag-value-icon + input,
+.ideditor[dir='rtl'] .form-field-input-multicombo .input-wrap .tag-value-icon + input {
+    padding-right: 40px;
+}
+.ideditor .combobox-option .tag-value-icon {
+    display: inline-block;
+    width: 28px;
+}
+.ideditor .form-field-input-multicombo li.chip .tag-value-icon .icon {
+    margin: 0;
+    margin-right: 6px;
+    display: inline-block;
+    vertical-align: center;
+}
+.ideditor[dir='rtl'] .form-field-input-multicombo li.chip .tag-value-icon .icon {
+    margin-right: 6px;
+    margin-left: 0;
+}
+
 
 /* Field - Text / Numeric
 ------------------------------------------------------- */
 
 /* Field - Text / Numeric
 ------------------------------------------------------- */
-.ideditor .form-field-input-text > input:only-of-type,
+.ideditor .form-field-input-text > input:only-child,
 .ideditor .form-field-input-tel > input:only-of-type,
 .ideditor .form-field-input-email > input:only-of-type,
 .ideditor .form-field-input-tel > input:only-of-type,
 .ideditor .form-field-input-email > input:only-of-type,
-.ideditor .form-field-input-url > input:only-of-type {
+.ideditor .form-field-input-url > input:only-child {
     border-radius: 0 0 4px 4px;
 }
     border-radius: 0 0 4px 4px;
 }
+.ideditor .form-field-input-text > input:not(:only-child),
+.ideditor .form-field-input-url > input:not(:only-child) {
+    border-radius: 0 0 0 4px;
+}
 .ideditor .form-field-input-number > input:only-of-type {
     border-radius: 0 0 0 4px;
 }
 .ideditor .form-field-input-number > input:only-of-type {
     border-radius: 0 0 0 4px;
 }
 /* Field - Checkbox
 ------------------------------------------------------- */
 .ideditor .form-field-input-check {
 /* Field - Checkbox
 ------------------------------------------------------- */
 .ideditor .form-field-input-check {
-    display: -webkit-box;
-    display: -ms-flexbox;
     display: flex;
     display: flex;
-    -webkit-box-align: center;
-        -ms-flex-align: center;
-            align-items: center;
+    align-items: center;
     background: #fff;
     padding: 5px 10px;
     color: #7092ff;
     background: #fff;
     padding: 5px 10px;
     color: #7092ff;
     cursor: pointer;
 }
 .ideditor .form-field-input-check > input[type="checkbox"] {
     cursor: pointer;
 }
 .ideditor .form-field-input-check > input[type="checkbox"] {
-    -webkit-box-flex: 0;
-        -ms-flex: 0 1 auto;
-            flex: 0 1 auto;
-    width: 20px;
+    flex: 0 1 auto;
     margin-top: 0;
 }
 .ideditor .form-field-input-check > span {
     margin-top: 0;
 }
 .ideditor .form-field-input-check > span {
-    -webkit-box-flex: 1;
-        -ms-flex: 1 1 auto;
-            flex: 1 1 auto;
+    flex: 1 1 auto;
 }
 .ideditor .form-field-input-check > span.mixed {
     font-style: italic;
 }
 .ideditor .form-field-input-check > .reverser {
 }
 .ideditor .form-field-input-check > span.mixed {
     font-style: italic;
 }
 .ideditor .form-field-input-check > .reverser {
-    -webkit-box-flex: 0;
-        -ms-flex: 0 1 auto;
-            flex: 0 1 auto;
+    flex: 0 1 auto;
     background-color: #eff2f7;
     border: 1px solid #ccd5e3;
     border-radius: 2px;
     background-color: #eff2f7;
     border: 1px solid #ccd5e3;
     border-radius: 2px;
 /* Field - Radio button
 ------------------------------------------------------- */
 .ideditor .form-field-input-radio {
 /* Field - Radio button
 ------------------------------------------------------- */
 .ideditor .form-field-input-radio {
-    -webkit-box-flex: 1;
-        -ms-flex: 1 1 auto;
-            flex: 1 1 auto;
-    display: -webkit-box;
-    display: -ms-flexbox;
+    flex: 1 1 auto;
     display: flex;
     display: flex;
-    -webkit-box-orient: horizontal;
-    -webkit-box-direction: normal;
-        -ms-flex-flow: row wrap;
-            flex-flow: row wrap;
+    flex-flow: row wrap;
 }
 .ideditor .form-field-input-radio > label {
 }
 .ideditor .form-field-input-radio > label {
-    -webkit-box-flex: 1;
-        -ms-flex: 1 1 auto;
-            flex: 1 1 auto;
-    display: -webkit-box;
-    display: -ms-flexbox;
+    flex: 1 1 auto;
     display: flex;
     display: flex;
-    -webkit-box-orient: horizontal;
-    -webkit-box-direction: normal;
-        -ms-flex-flow: row nowrap;
-            flex-flow: row nowrap;
-    -webkit-box-align: center;
-        -ms-flex-align: center;
-            align-items: center;
+    flex-flow: row nowrap;
+    align-items: center;
     width: 100%;
     padding: 5px 10px;
     background-color: #fff;
     width: 100%;
     padding: 5px 10px;
     background-color: #fff;
     border-bottom: 1px solid #ccc;
 }
 .ideditor .form-field-input-radio > label > input[type="radio"] {
     border-bottom: 1px solid #ccc;
 }
 .ideditor .form-field-input-radio > label > input[type="radio"] {
-    -webkit-box-flex: 0;
-        -ms-flex: 0 1 auto;
-            flex: 0 1 auto;
-    width: 20px;
+    flex: 0 1 auto;
 }
 .ideditor .form-field-input-radio > label > span {
 }
 .ideditor .form-field-input-radio > label > span {
-    -webkit-box-flex: 1;
-        -ms-flex: 1 1 auto;
-            flex: 1 1 auto;
+    flex: 1 1 auto;
     overflow: hidden;
     white-space: nowrap;
     overflow: hidden;
     white-space: nowrap;
-    -o-text-overflow: ellipsis;
-       text-overflow: ellipsis;
+    text-overflow: ellipsis;
 }
 
 /* Hide placeholder for radio buttons if another is active, or not in hover state */
 }
 
 /* Hide placeholder for radio buttons if another is active, or not in hover state */
 }
 
 
 }
 
 
-/* Field - Maxspeed
+/* Field - roadheight and roadspeed
 ------------------------------------------------------- */
 ------------------------------------------------------- */
-.ideditor .form-field-input-maxspeed input.maxspeed-number {
-    -ms-flex-preferred-size: 0;
-        flex-basis: 0;
-}
-.ideditor .form-field-input-maxspeed input.maxspeed-unit {
-    -webkit-box-flex: 0;
-        -ms-flex: 0 1 auto;
-            flex: 0 1 auto;
+.ideditor .form-field-input-roadheight input.roadheight-number,
+.ideditor .form-field-input-roadheight input.roadheight-secondary-number,
+.ideditor .form-field-input-roadspeed input.roadspeed-number {
+    flex-basis: 0;
+    width: 0;
+}
+.ideditor .form-field-input-roadheight input.roadheight-unit,
+.ideditor .form-field-input-roadheight input.roadheight-secondary-unit {
+    flex: 0 1 auto;
+    width: 60px;
+}
+.ideditor .form-field-input-roadspeed input.roadspeed-unit {
+    flex: 0 1 auto;
     width: 80px;
 }
     width: 80px;
 }
-.ideditor[dir='ltr'] .form-field-input-maxspeed > input:first-of-type {
+.ideditor[dir='ltr'] .form-field-input-roadheight > input:first-of-type,
+.ideditor[dir='ltr'] .form-field-input-roadspeed > input:first-of-type {
     border-radius: 0 0 0 4px;
 }
     border-radius: 0 0 0 4px;
 }
-.ideditor[dir='rtl'] .form-field-input-maxspeed > input:first-of-type {
+.ideditor[dir='rtl'] .form-field-input-roadheight > input:first-of-type,
+.ideditor[dir='rtl'] .form-field-input-roadspeed > input:first-of-type {
     border-radius: 0 0 4px 0;
 }
     border-radius: 0 0 4px 0;
 }
-.ideditor[dir='ltr'] .form-field-input-maxspeed > input:last-of-type {
+.ideditor[dir='ltr'] .form-field-input-roadheight > input:last-of-type,
+.ideditor[dir='ltr'] .form-field-input-roadspeed > input:last-of-type {
     border-left: 0;
     border-radius: 0 0 4px 0;
 }
     border-left: 0;
     border-radius: 0 0 4px 0;
 }
-.ideditor[dir='rtl'] .form-field-input-maxspeed > input:last-of-type {
+.ideditor[dir='rtl'] .form-field-input-roadheight > input:last-of-type,
+.ideditor[dir='rtl'] .form-field-input-roadspeed > input:last-of-type {
     border-right: 0;
     border-radius: 0 0 0 4px;
 }
     border-right: 0;
     border-radius: 0 0 0 4px;
 }
 /* nested subfields for name in different languages */
 .ideditor .localized-multilingual {
     padding: 0 10px;
 /* nested subfields for name in different languages */
 .ideditor .localized-multilingual {
     padding: 0 10px;
-    -ms-flex-preferred-size: 100%;
-        flex-basis: 100%;
+    flex-basis: 100%;
 }
 .ideditor .localized-multilingual .entry {
     position: relative;
 }
 .ideditor .localized-multilingual .entry {
     position: relative;
 /* Field - Address
 ------------------------------------------------------- */
 .ideditor .form-field-input-address {
 /* Field - Address
 ------------------------------------------------------- */
 .ideditor .form-field-input-address {
-    -webkit-box-flex: 1;
-        -ms-flex: 1 1 auto;
-            flex: 1 1 auto;
-    display: -webkit-box;
-    display: -ms-flexbox;
+    flex: 1 1 auto;
     display: flex;
     display: flex;
-    -webkit-box-orient: horizontal;
-    -webkit-box-direction: normal;
-        -ms-flex-flow: row wrap;
-            flex-flow: row wrap;
+    flex-flow: row wrap;
     border: 1px solid #ccc;
     border-top: 0px;
 }
 
 .ideditor .addr-row {
     border: 1px solid #ccc;
     border-top: 0px;
 }
 
 .ideditor .addr-row {
-    -webkit-box-flex: 1;
-        -ms-flex: 1 1 auto;
-            flex: 1 1 auto;
-    display: -webkit-box;
-    display: -ms-flexbox;
+    flex: 1 1 auto;
     display: flex;
     width: 100%;
 }
 
 .ideditor .addr-row > input {
     display: flex;
     width: 100%;
 }
 
 .ideditor .addr-row > input {
-    -webkit-box-flex: 1;
-        -ms-flex: 1 1 auto;
-            flex: 1 1 auto;
+    flex: 1 1 auto;
     border-radius: 0;
     border-right: 0;
     border-bottom: 0;
     border-radius: 0;
     border-right: 0;
     border-bottom: 0;
 .ideditor[dir='rtl'] .addr-row:last-of-type input:last-of-type {
     border-radius: 0 0 0 4px;
 }
 .ideditor[dir='rtl'] .addr-row:last-of-type input:last-of-type {
     border-radius: 0 0 0 4px;
 }
+.ideditor .combobox-address-street-place .combobox-option.address-street,
+.ideditor .combobox-address-street-place .combobox-option.address-place {
+    padding-right: 20px;
+}
+.ideditor .combobox-address-street-place .combobox-option.address-street::after,
+.ideditor .combobox-address-street-place .combobox-option.address-place::after {
+    position: absolute;
+    right: 2px;
+    opacity: 0.4;
+}
+.ideditor .combobox-address-street-place .combobox-option.address-place::after {
+    content: url(data:image/svg+xml;charset=utf-8;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMCIgeT0iMCIgd2lkdGg9IjIwIiBoZWlnaHQ9IjIwIiB2aWV3Qm94PSIwIDAgMjAgMjAiPg0KICAgIDxwYXRoIGQ9Ik0xMCwzIEM2LjY4NiwzIDQsNS42MTIgNCw4LjgzMyBDNCwxMi4wNTUgMTAsMTcgMTAsMTcgQzEwLDE3IDE2LDEyLjA1NSAxNiw4LjgzMyBDMTYsNS42MTIgMTMuMzE0LDMgMTAsMyB6IE0xMC4xODcsNi41IEMxMS41MTMsNi41IDEyLjU4Nyw3LjU0NSAxMi41ODcsOC44MzMgQzEyLjU4NywxMC4xMjIgMTEuNTEzLDExLjE2NyAxMC4xODcsMTEuMTY3IEM4Ljg2MiwxMS4xNjcgNy43ODcsMTAuMTIyIDcuNzg3LDguODMzIEM3Ljc4Nyw3LjU0NSA4Ljg2Miw2LjUgMTAuMTg3LDYuNSB6IiBmaWxsPSJjdXJyZW50Q29sb3IiLz4NCjwvc3ZnPg==);
+}
 
 
 /* Field - Wikipedia
 ------------------------------------------------------- */
 .ideditor .form-field-input-wikipedia {
 
 
 /* Field - Wikipedia
 ------------------------------------------------------- */
 .ideditor .form-field-input-wikipedia {
-    display: -webkit-box;
-    display: -ms-flexbox;
     display: flex;
     display: flex;
-    -webkit-box-orient: horizontal;
-    -webkit-box-direction: normal;
-        -ms-flex-flow: row wrap;
-            flex-flow: row wrap;
-    -webkit-box-flex: 1;
-        -ms-flex: 1 1 auto;
-            flex: 1 1 auto;
+    flex-flow: row wrap;
+    flex: 1 1 auto;
 }
 
 .ideditor .wiki-lang-container,
 .ideditor .wiki-title-container {
 }
 
 .ideditor .wiki-lang-container,
 .ideditor .wiki-title-container {
-    display: -webkit-box;
-    display: -ms-flexbox;
     display: flex;
     display: flex;
-    -webkit-box-orient: horizontal;
-    -webkit-box-direction: normal;
-        -ms-flex-flow: row nowrap;
-            flex-flow: row nowrap;
-    -webkit-box-flex: 1;
-        -ms-flex: 1 1 auto;
-            flex: 1 1 auto;
+    flex-flow: row nowrap;
+    flex: 1 1 auto;
     width: 100%;
 }
 
 .ideditor .wiki-lang-container > input.wiki-lang,
 .ideditor .wiki-title-container > input.wiki-title {
     width: 100%;
 }
 
 .ideditor .wiki-lang-container > input.wiki-lang,
 .ideditor .wiki-title-container > input.wiki-title {
-    -webkit-box-flex: 1;
-        -ms-flex: 1 1 auto;
-            flex: 1 1 auto;
+    flex: 1 1 auto;
     border-top: 0;
     border-radius: 0;
 }
     border-top: 0;
     border-radius: 0;
 }
     display: table;
     -webkit-user-select: none;
        -moz-user-select: none;
     display: table;
     -webkit-user-select: none;
        -moz-user-select: none;
-        -ms-user-select: none;
             user-select: none;
 }
 
             user-select: none;
 }
 
     pointer-events: none;
     -webkit-user-select: none;
        -moz-user-select: none;
     pointer-events: none;
     -webkit-user-select: none;
        -moz-user-select: none;
-        -ms-user-select: none;
             user-select: none;
 }
 
             user-select: none;
 }
 
 .ideditor div.combobox {
     z-index: 9999;
     display: none;
 .ideditor div.combobox {
     z-index: 9999;
     display: none;
-    -webkit-box-shadow: 0 4px 10px 1px rgba(0,0,0,.2);
-            box-shadow: 0 4px 10px 1px rgba(0,0,0,.2);
+    box-shadow: 0 4px 10px 1px rgba(0,0,0,.2);
     margin-top: -1px;
     background: #fff;
     max-height: 245px;
     margin-top: -1px;
     background: #fff;
     max-height: 245px;
     display: block;
     padding: 5px 10px;
     border-top: 1px solid #ccc;
     display: block;
     padding: 5px 10px;
     border-top: 1px solid #ccc;
-    -o-text-overflow: ellipsis;
-       text-overflow: ellipsis;
-    white-space: nowrap;
-    overflow: hidden;
+    line-height: 0.95rem;
+    break: all;
 }
 
 .ideditor .combobox a.selected,
 }
 
 .ideditor .combobox a.selected,
     height: 5px;
     width: 30px !important;
     margin-left: -30px;
     height: 5px;
     width: 30px !important;
     margin-left: -30px;
-    -ms-flex-item-align: center;
-        align-self: center;
+    align-self: center;
     vertical-align: middle;
     cursor: pointer;
 }
     vertical-align: middle;
     cursor: pointer;
 }
     border-right: 5px solid transparent;
 }
 
     border-right: 5px solid transparent;
 }
 
+.ideditor .combobox .combobox-option.raw-option {
+    font-family: monospace;
+    color: #333;
+}
+
+.ideditor .combobox .combobox-option.virtual-option {
+    font-style: italic;
+    color: #333;
+}
+
+.ideditor .form-field-input-wrap {
+    position: relative;
+}
+
+.ideditor .form-field-input-wrap span.length-indicator-wrap {
+    visibility: hidden;
+    position: absolute;
+    top: -5px;
+    left: 0;
+    right: 0;
+}
+
+.ideditor .form-field-input-wrap input:focus + span.length-indicator-wrap,
+.ideditor .form-field-input-wrap textarea:focus + span.length-indicator-wrap,
+.ideditor .form-field-input-wrap input:focus + div.combobox-caret + span.length-indicator-wrap,
+.ideditor .form-field-input-wrap textarea:focus + div.combobox-caret + span.length-indicator-wrap {
+    visibility: visible;
+}
+
+.ideditor .form-field-input-wrap span.length-indicator {
+    display: block;
+    left: 0;
+    right: 0;
+    height: 4px;
+    background-color: #7092ff;
+    border-right-style: solid;
+    border-right-color: lightgray;
+}
+
+.ideditor .form-field-input-wrap span.length-indicator.limit-reached {
+    border-right-color: red;
+}
+
+.ideditor .tooltip.max-length-warning {
+    z-index: 10;
+}
 
 /* Field Help
 ------------------------------------------------------- */
 
 /* Field Help
 ------------------------------------------------------- */
     border-radius: 0 0 4px 4px;
     z-index: 20;
     background: rgba(255,255,255,0.95);
     border-radius: 0 0 4px 4px;
     z-index: 20;
     background: rgba(255,255,255,0.95);
-    -webkit-box-shadow: 0 0 30px 5px rgba(0,0,0,.4);
-            box-shadow: 0 0 30px 5px rgba(0,0,0,.4);
+    box-shadow: 0 0 30px 5px rgba(0,0,0,.4);
 }
 
 .ideditor .field-help-title h2 {
 }
 
 .ideditor .field-help-title h2 {
 }
 
 .ideditor .more-fields label {
 }
 
 .ideditor .more-fields label {
-    display: -webkit-box;
-    display: -ms-flexbox;
     display: flex;
     display: flex;
-    -webkit-box-orient: horizontal;
-    -webkit-box-direction: normal;
-        -ms-flex-flow: row nowrap;
-            flex-flow: row nowrap;
-    -webkit-box-pack: justify;
-        -ms-flex-pack: justify;
-            justify-content: space-between;
-    -webkit-box-align: center;
-        -ms-flex-align: center;
-            align-items: center;
+    flex-flow: row nowrap;
+    justify-content: space-between;
+    align-items: center;
 }
 
 .ideditor .more-fields input {
     margin-left: 10px;
 }
 
 .ideditor .more-fields input {
     margin-left: 10px;
-    -webkit-box-flex: 1;
-        -ms-flex: 1 1 auto;
-            flex: 1 1 auto;
+    flex: 1 1 auto;
 }
 .ideditor[dir='rtl'] .more-fields input {
     margin-left: auto;
 }
 .ideditor[dir='rtl'] .more-fields input {
     margin-left: auto;
 /* Raw Tag Editor
 ------------------------------------------------------- */
 .ideditor .raw-tag-options {
 /* Raw Tag Editor
 ------------------------------------------------------- */
 .ideditor .raw-tag-options {
-    display: -webkit-box;
-    display: -ms-flexbox;
     display: flex;
     display: flex;
-    -webkit-box-orient: horizontal;
-    -webkit-box-direction: normal;
-        -ms-flex-flow: row nowrap;
-            flex-flow: row nowrap;
-    -webkit-box-pack: end;
-        -ms-flex-pack: end;
-            justify-content: flex-end;
+    flex-flow: row nowrap;
+    justify-content: flex-end;
     margin-top: -28px;
 }
 .ideditor button.raw-tag-option {
     margin-top: -28px;
 }
 .ideditor button.raw-tag-option {
-    -webkit-box-flex: 0;
-        -ms-flex: 0 0 auto;
-            flex: 0 0 auto;
+    flex: 0 0 auto;
     padding: 3px;
     background: #aaa;
     color: #eee;
     padding: 3px;
     background: #aaa;
     color: #eee;
     display: block;
 }
 .ideditor[dir='ltr'] button.raw-tag-option-list {
     display: block;
 }
 .ideditor[dir='ltr'] button.raw-tag-option-list {
-    -webkit-transform: scaleX(-1);
-        -ms-transform: scaleX(-1);
-            transform: scaleX(-1);
-    -webkit-filter: FlipH;
-            filter: FlipH;
+    transform: scaleX(-1);
+    filter: FlipH;
     -ms-filter: "FlipH";
 }
 
     -ms-filter: "FlipH";
 }
 
     position: relative;
 }
 .ideditor .tag-row .inner-wrap {
     position: relative;
 }
 .ideditor .tag-row .inner-wrap {
-    display: -webkit-box;
-    display: -ms-flexbox;
     display: flex;
     display: flex;
-    -webkit-box-orient: horizontal;
-    -webkit-box-direction: normal;
-        -ms-flex-flow: row nowrap;
-            flex-flow: row nowrap;
+    flex-flow: row nowrap;
     width: 100%;
     position: relative;
 }
 .ideditor .tag-row .key-wrap,
 .ideditor .tag-row .value-wrap {
     width: 100%;
     position: relative;
 }
 .ideditor .tag-row .key-wrap,
 .ideditor .tag-row .value-wrap {
-    -webkit-box-flex: 1;
-        -ms-flex: 1 1 50%;
-            flex: 1 1 50%;
+    flex: 1 1 50%;
 }
 
 .ideditor .tag-text.readonly,
 }
 
 .ideditor .tag-text.readonly,
     border-top: 1px solid #ccc;
 }
 .ideditor .tag-row button {
     border-top: 1px solid #ccc;
 }
 .ideditor .tag-row button {
-    -webkit-box-flex: 0;
-        -ms-flex: 0 0 auto;
-            flex: 0 0 auto;
+    flex: 0 0 auto;
     width: 32px;
     border: 1px solid #ccc;
     border-top-width: 0;
     width: 32px;
     border: 1px solid #ccc;
     border-top-width: 0;
 }
 
 .ideditor .tag-reference-body {
 }
 
 .ideditor .tag-reference-body {
-    -webkit-box-flex: 1;
-        -ms-flex: 1 1 auto;
-            flex: 1 1 auto;
+    flex: 1 1 auto;
     width: 100%;
     overflow: hidden;
     display: none;
     width: 100%;
     overflow: hidden;
     display: none;
 }
 .ideditor .tag-reference-body.expanded {
     padding-bottom: 10px;
 }
 .ideditor .tag-reference-body.expanded {
     padding-bottom: 10px;
-    display: inline-block;
+    padding-left: 10px;
+    display: block;
 }
 }
-.ideditor .tag-reference-description {
-
+.ideditor[dir='rtl'] .tag-reference-body.expanded {
+    padding-left: 0;
+    padding-right: 10px;
 }
 .ideditor .tag-reference-link {
     display: block;
 }
 }
 .ideditor .tag-reference-link {
     display: block;
 }
+.ideditor .tag-reference-link .icon:first-child {
+    margin-left: 0;
+}
 
 .ideditor img.tag-reference-wiki-image {
     float: right;
 
 .ideditor img.tag-reference-wiki-image {
     float: right;
     font-weight: normal;
     padding-left: 10px;
 }
     font-weight: normal;
     padding-left: 10px;
 }
+.ideditor .section-raw-member-editor .member-row .member-entity-name.has-colour::before,
+.ideditor .section-raw-membership-editor .member-row .member-entity-name.has-colour::before,
+.ideditor .feature-list .entity-name.has-colour::before,
+.ideditor .combobox-parent-relation .has-colour::before {
+    display: inline-block;
+    content: '';
+    margin-left: -5px;
+    margin-right: 5px;
+    border-style: solid;
+    border-width: 4px;
+    border-radius: 4px;
+    border-color: inherit;
+}
+.ideditor .combobox-parent-relation .has-colour::before  {
+    margin-left: 2px;
+}
 
 .ideditor[dir='rtl'] .section-raw-member-editor .member-row .member-entity-name,
 .ideditor[dir='rtl'] .section-raw-membership-editor .member-row .member-entity-name {
     padding-left:0;
     padding-right: 10px;
 }
 
 .ideditor[dir='rtl'] .section-raw-member-editor .member-row .member-entity-name,
 .ideditor[dir='rtl'] .section-raw-membership-editor .member-row .member-entity-name {
     padding-left:0;
     padding-right: 10px;
 }
+.ideditor[dir='rtl'] .section-raw-member-editor .member-row .member-entity-name.has-colour::before,
+.ideditor[dir='rtl'] .section-raw-membership-editor .member-row .member-entity-name.has-colour::before,
+.ideditor[dir='rtl'] .feature-list .entity-name.has-colour::before {
+    margin-left: 5px;
+    margin-right: -5px;
+}
+.ideditor[dir='rtl'] .combobox-parent-relation .has-colour::before  {
+    margin-left: 5px;
+    margin-right: 2px;
+}
+
 
 .ideditor .form-field-input-member > input.member-role {
     border-radius: 0 0 4px 4px;
 }
 
 .ideditor .member-row-new .member-entity-input {
 
 .ideditor .form-field-input-member > input.member-role {
     border-radius: 0 0 4px 4px;
 }
 
 .ideditor .member-row-new .member-entity-input {
-    -webkit-box-flex: 1;
-        -ms-flex: 1 1 100%;
-            flex: 1 1 100%;
+    flex: 1 1 100%;
     border-radius: 4px 4px 0 0;
     border: 0;
 }
     border-radius: 4px 4px 0 0;
     border: 0;
 }
 
 /* add tag, add relation buttons */
 .ideditor .add-row {
 
 /* add tag, add relation buttons */
 .ideditor .add-row {
-    display: -webkit-box;
-    display: -ms-flexbox;
     display: flex;
     width: 100%;
     display: flex;
     width: 100%;
-    -webkit-box-orient: horizontal;
-    -webkit-box-direction: normal;
-        -ms-flex-flow: row nowrap;
-            flex-flow: row nowrap;
+    flex-flow: row nowrap;
 }
 .ideditor .add-row .add-tag,
 .ideditor .add-row .add-relation,
 .ideditor .add-row .space-value {
 }
 .ideditor .add-row .add-tag,
 .ideditor .add-row .add-relation,
 .ideditor .add-row .space-value {
-    -webkit-box-flex: 1;
-        -ms-flex: 1 1 50%;
-            flex: 1 1 50%;
+    flex: 1 1 50%;
 }
 .ideditor .add-row .space-buttons {
 }
 .ideditor .add-row .space-buttons {
-    -webkit-box-flex: 0;
-        -ms-flex: 0 0 62px;
-            flex: 0 0 62px;
+    flex: 0 0 62px;
 }
 .ideditor .add-row button {
     padding: 5px;
 }
 .ideditor .add-row button {
     padding: 5px;
     background-color: #f6f6f6;
     border-radius: 5px;
     border: 1px solid #ccc;
     background-color: #f6f6f6;
     border-radius: 5px;
     border: 1px solid #ccc;
-    display: -webkit-box;
-    display: -ms-flexbox;
     display: flex;
     display: flex;
-    -webkit-box-orient: horizontal;
-    -webkit-box-direction: normal;
-        -ms-flex-flow: row nowrap;
-            flex-flow: row nowrap;
-    -webkit-box-align: center;
-        -ms-flex-align: center;
-            align-items: center;
+    flex-flow: row nowrap;
+    align-items: center;
 }
 
 .ideditor .note-header-icon,
 .ideditor .qa-header-icon {
     background-color: #fff;
     padding: 10px;
 }
 
 .ideditor .note-header-icon,
 .ideditor .qa-header-icon {
     background-color: #fff;
     padding: 10px;
-    -webkit-box-flex: 0;
-        -ms-flex: 0 0 auto;
-            flex: 0 0 auto;
+    flex: 0 0 auto;
     position: relative;
     width: 60px;
     height: 60px;
     position: relative;
     width: 60px;
     height: 60px;
 .ideditor .qa-header-label {
     background-color: #f6f6f6;
     padding: 0 15px;
 .ideditor .qa-header-label {
     background-color: #f6f6f6;
     padding: 0 15px;
-    -webkit-box-flex: 1;
-        -ms-flex: 1 1 100%;
-            flex: 1 1 100%;
+    flex: 1 1 100%;
     font-size: 14px;
     font-weight: bold;
     border-radius: 0 5px 5px 0;
     font-size: 14px;
     font-weight: bold;
     border-radius: 0 5px 5px 0;
     border-radius: 5px;
     border: 1px solid #ccc;
     margin: 10px auto;
     border-radius: 5px;
     border: 1px solid #ccc;
     margin: 10px auto;
-    display: -webkit-box;
-    display: -ms-flexbox;
     display: flex;
     display: flex;
-    -webkit-box-orient: horizontal;
-    -webkit-box-direction: normal;
-        -ms-flex-flow: row nowrap;
-            flex-flow: row nowrap;
+    flex-flow: row nowrap;
 }
 .ideditor .comment-avatar {
     padding: 10px;
 }
 .ideditor .comment-avatar {
     padding: 10px;
-    -webkit-box-flex: 0;
-        -ms-flex: 0 0 auto;
-            flex: 0 0 auto;
+    flex: 0 0 auto;
 }
 .ideditor .comment-avatar .icon.comment-avatar-icon {
     width: 40px;
 }
 .ideditor .comment-avatar .icon.comment-avatar-icon {
     width: 40px;
 }
 .ideditor .comment-main {
     padding: 10px 10px 10px 0;
 }
 .ideditor .comment-main {
     padding: 10px 10px 10px 0;
-    -webkit-box-flex: 1;
-        -ms-flex: 1 1 100%;
-            flex: 1 1 100%;
-    -webkit-box-orient: vertical;
-    -webkit-box-direction: normal;
-        -ms-flex-flow: column nowrap;
-            flex-flow: column nowrap;
+    flex: 1 1 100%;
+    flex-flow: column nowrap;
     overflow: hidden;
     overflow-wrap: break-word;
 }
     overflow: hidden;
     overflow-wrap: break-word;
 }
 }
 
 .ideditor .comment-metadata {
 }
 
 .ideditor .comment-metadata {
-    -webkit-box-orient: horizontal;
-    -webkit-box-direction: normal;
-        -ms-flex-flow: row nowrap;
-            flex-flow: row nowrap;
-    -webkit-box-pack: justify;
-        -ms-flex-pack: justify;
-            justify-content: space-between;
+    flex-flow: row nowrap;
+    justify-content: space-between;
 }
 .ideditor .comment-author {
     font-weight: bold;
 }
 .ideditor .comment-author {
     font-weight: bold;
     margin-top: 20px;
     border-radius: 4px;
     border: 1px solid #ccc;
     margin-top: 20px;
     border-radius: 4px;
     border: 1px solid #ccc;
-    display: -webkit-box;
-    display: -ms-flexbox;
     display: flex;
     display: flex;
-    -webkit-box-orient: vertical;
-    -webkit-box-direction: normal;
-        -ms-flex-direction: column;
-            flex-direction: column;
+    flex-direction: column;
 }
 .ideditor .qa-details-description-text::first-letter {
     text-transform: capitalize;
 }
 .ideditor .qa-details-description-text::first-letter {
     text-transform: capitalize;
     background-color: #f6f6f6;
     border-radius: 5px;
     border: 1px solid #ccc;
     background-color: #f6f6f6;
     border-radius: 5px;
     border: 1px solid #ccc;
-    display: -webkit-box;
-    display: -ms-flexbox;
     display: flex;
     display: flex;
-    -webkit-box-orient: horizontal;
-    -webkit-box-direction: normal;
-        -ms-flex-flow: row nowrap;
-            flex-flow: row nowrap;
-    -webkit-box-align: center;
-        -ms-flex-align: center;
-            align-items: center;
+    flex-flow: row nowrap;
+    align-items: center;
 }
 
 .ideditor .data-header-icon {
     background-color: #fff;
     padding: 10px;
 }
 
 .ideditor .data-header-icon {
     background-color: #fff;
     padding: 10px;
-    -webkit-box-flex: 0;
-        -ms-flex: 0 0 auto;
-            flex: 0 0 auto;
+    flex: 0 0 auto;
     position: relative;
     width: 60px;
     height: 60px;
     position: relative;
     width: 60px;
     height: 60px;
 .ideditor .data-header-label {
     background-color: #f6f6f6;
     padding: 0 15px;
 .ideditor .data-header-label {
     background-color: #f6f6f6;
     padding: 0 15px;
-    -webkit-box-flex: 1;
-        -ms-flex: 1 1 100%;
-            flex: 1 1 100%;
+    flex: 1 1 100%;
     font-size: 14px;
     font-weight: bold;
     border-radius: 0 5px 5px 0;
     font-size: 14px;
     font-weight: bold;
     border-radius: 0 5px 5px 0;
     position: relative;
     height: 100%;
     pointer-events: none;
     position: relative;
     height: 100%;
     pointer-events: none;
-    display: -webkit-box;
-    display: -ms-flexbox;
     display: flex;
     display: flex;
-    -webkit-box-orient: horizontal;
-    -webkit-box-direction: reverse;
-        -ms-flex-direction: row-reverse;
-            flex-direction: row-reverse;
-    -webkit-box-align: end;
-        -ms-flex-align: end;
-            align-items: flex-end;
+    flex-direction: row-reverse;
+    align-items: flex-end;
     overflow: hidden;
 }
 .ideditor .over-map > * {
     overflow: hidden;
 }
 .ideditor .over-map > * {
 
 /* Map Controls
 ------------------------------------------------------- */
 
 /* Map Controls
 ------------------------------------------------------- */
+.ideditor .map-controls-wrap {
+    position: absolute;
+    left: 0;
+    right: 0;
+    height: 100%;
+    z-index: 100;
+    display: block;
+    overflow-x: hidden;
+    overflow-y: auto;
+    pointer-events: none;
+    -ms-overflow-style: none;
+    scrollbar-width: none;
+}
+.ideditor .map-controls-wrap::-webkit-scrollbar {
+    display: none;
+}
 .ideditor .map-controls {
     right: 0;
     top: 0;
     width: 40px;
     position: absolute;
 .ideditor .map-controls {
     right: 0;
     top: 0;
     width: 40px;
     position: absolute;
-    z-index: 100;
     bottom: 0;
     bottom: 0;
-    display: -webkit-box;
-    display: -ms-flexbox;
     display: flex;
     display: flex;
-    -webkit-box-orient: vertical;
-    -webkit-box-direction: normal;
-        -ms-flex-direction: column;
-            flex-direction: column;
+    flex-direction: column;
     padding: 5px 0;
     pointer-events: none;
 }
     padding: 5px 0;
     pointer-events: none;
 }
     width: 40px;
     height: 100%;
     max-height: 70px;
     width: 40px;
     height: 100%;
     max-height: 70px;
-    -webkit-box-flex: 0;
-        -ms-flex: 0 1 auto;
-            flex: 0 1 auto;
+    flex: 0 1 auto;
 }
 .ideditor[dir='rtl'] .map-controls {
     left: 0;
 }
 .ideditor[dir='rtl'] .map-controls {
     left: 0;
 
 .ideditor .map-control {
     position: relative;
 
 .ideditor .map-control {
     position: relative;
-    display: -webkit-box;
-    display: -ms-flexbox;
     display: flex;
     display: flex;
-    -webkit-box-orient: vertical;
-    -webkit-box-direction: normal;
-        -ms-flex-direction: column;
-            flex-direction: column;
+    flex-direction: column;
 }
 .ideditor .map-control > button {
     position: relative;
 }
 .ideditor .map-control > button {
     position: relative;
 /* Fullscreen Button (disabled)
 ------------------------------------------------------- */
 .ideditor div.full-screen {
 /* Fullscreen Button (disabled)
 ------------------------------------------------------- */
 .ideditor div.full-screen {
-    display: inline-block;
+    /*display: inline-block;*/
     width: 40px;
     margin-right: 10px;
     display: none;
     width: 40px;
     margin-right: 10px;
     display: none;
     background-color: #fff;
     color: #7092ff;
     position: relative;
     background-color: #fff;
     color: #7092ff;
     position: relative;
-    display: -webkit-box;
-    display: -ms-flexbox;
     display: flex;
 }
 
     display: flex;
 }
 
 
 .ideditor .layer-list li.best > div.best {
     padding: 5px;
 
 .ideditor .layer-list li.best > div.best {
     padding: 5px;
-    -webkit-box-flex: 0;
-        -ms-flex: 0 0 auto;
-            flex: 0 0 auto;
+    flex: 0 0 auto;
+    align-self: center;
 }
 
 .ideditor[dir='rtl'] .list-item-data-browse svg {
 }
 
 .ideditor[dir='rtl'] .list-item-data-browse svg {
-    -webkit-transform: rotateY(180deg);
-            transform: rotateY(180deg);
+    transform: rotateY(180deg);
 }
 
 /* make sure tooltip fits in map-control panel */
 }
 
 /* make sure tooltip fits in map-control panel */
 .ideditor .layer-list label {
     padding: 5px 10px;
     cursor: pointer;
 .ideditor .layer-list label {
     padding: 5px 10px;
     cursor: pointer;
-    -webkit-box-flex: 1;
-        -ms-flex: 1 1 auto;
-            flex: 1 1 auto;
-    display: -webkit-box;
-    display: -ms-flexbox;
+    flex: 1 1 auto;
     display: flex;
     display: flex;
-    -webkit-box-align: center;
-        -ms-flex-align: center;
-            align-items: center;
+    align-items: center;
     overflow: hidden;
 }
 
     overflow: hidden;
 }
 
 .ideditor .layer-list label > span {
     display: block;
     overflow: hidden;
 .ideditor .layer-list label > span {
     display: block;
     overflow: hidden;
-    white-space: nowrap;
-    -o-text-overflow: ellipsis;
-       text-overflow: ellipsis;
-    -webkit-box-flex: 1;
-        -ms-flex-positive: 1;
-            flex-grow: 1;
+    width: calc(100% - 20px); /* Ensures radio input width within flexbox */
+}
+
+.ideditor .layer-list label span.localized-text {
+    line-height: 0.95rem;
 }
 
 .ideditor .layer-list input.list-item-input {
 }
 
 .ideditor .layer-list input.list-item-input {
 .ideditor .issue .issue-label,
 .ideditor .issue-label .issue-text {
     width: 100%;
 .ideditor .issue .issue-label,
 .ideditor .issue-label .issue-text {
     width: 100%;
-    display: -webkit-box;
-    display: -ms-flexbox;
     display: flex;
     display: flex;
-    -webkit-box-orient: horizontal;
-    -webkit-box-direction: normal;
-        -ms-flex-flow: row nowrap;
-            flex-flow: row nowrap;
+    flex-flow: row nowrap;
     cursor: pointer;
     text-align: initial;
     background: none;
 }
 
 .ideditor .issue-text .issue-icon {
     cursor: pointer;
     text-align: initial;
     background: none;
 }
 
 .ideditor .issue-text .issue-icon {
-    -webkit-box-flex: 0;
-        -ms-flex: 0 0 auto;
-            flex: 0 0 auto;
-    padding: 5px 7px;
+    flex: 0 0 auto;
+    padding: 2px 3px;
 }
 .ideditor .issue-text .issue-message {
 }
 .ideditor .issue-text .issue-message {
-    -webkit-box-flex: 1;
-        -ms-flex: 1 1 auto;
-            flex: 1 1 auto;
-    padding: 5px 0;
+    flex: 1 1 auto;
+    padding: 4px 5px;
 }
 .ideditor .issue-label .issue-autofix {
 }
 .ideditor .issue-label .issue-autofix {
-    -webkit-box-flex: 0;
-        -ms-flex: 0 0 auto;
-            flex: 0 0 auto;
+    flex: 0 0 auto;
     padding: 5px 8px;
 }
 .ideditor .issue-label .issue-info-button {
     height: unset;
     width: 32px;
     padding: 5px 8px;
 }
 .ideditor .issue-label .issue-info-button {
     height: unset;
     width: 32px;
-    -webkit-box-flex: 0;
-        -ms-flex: 0 0 auto;
-            flex: 0 0 auto;
+    flex: 0 0 auto;
     border-left: 1px solid #ccc;
     background-color: rgba(0,0,0,0);
 }
     border-left: 1px solid #ccc;
     background-color: rgba(0,0,0,0);
 }
 }
 
 .ideditor button.autofix.action {
 }
 
 .ideditor button.autofix.action {
-    -webkit-box-flex: 0;
-        -ms-flex: 0 0 20px;
-            flex: 0 0 20px;
+    flex: 0 0 20px;
     height: 20px;
     width: 20px;
     background: #7092ff;
     height: 20px;
     width: 20px;
     background: #7092ff;
 
 /* fix all */
 .ideditor .autofix-all {
 
 /* fix all */
 .ideditor .autofix-all {
-    display: -webkit-box;
-    display: -ms-flexbox;
     display: flex;
     display: flex;
-    -webkit-box-orient: horizontal;
-    -webkit-box-direction: normal;
-        -ms-flex-flow: row nowrap;
-            flex-flow: row nowrap;
-    -webkit-box-pack: end;
-        -ms-flex-pack: end;
-            justify-content: flex-end;
+    flex-flow: row nowrap;
+    justify-content: flex-end;
     margin-top: -25px;
     padding-bottom: 5px;
 }
     margin-top: -25px;
     padding-bottom: 5px;
 }
     margin-bottom: 0;
 }
 .ideditor .section-footer {
     margin-bottom: 0;
 }
 .ideditor .section-footer {
-    display: -webkit-box;
-    display: -ms-flexbox;
     display: flex;
     display: flex;
-    -webkit-box-orient: horizontal;
-    -webkit-box-direction: normal;
-        -ms-flex-flow: row nowrap;
-            flex-flow: row nowrap;
-    -webkit-box-pack: end;
-        -ms-flex-pack: end;
-            justify-content: flex-end;
+    flex-flow: row nowrap;
+    justify-content: flex-end;
     height: 30px;
 }
 .ideditor .section-footer a {
     height: 30px;
 }
 .ideditor .section-footer a {
     border: 1px solid #72d979;
     background: #c6ffca;
     padding: 5px !important;
     border: 1px solid #72d979;
     background: #c6ffca;
     padding: 5px !important;
-    display: -webkit-box;
-    display: -ms-flexbox;
     display: flex;
 }
 .ideditor .section-issues-status .icon {
     display: flex;
 }
 .ideditor .section-issues-status .icon {
 .ideditor .issue-container:not(.active) ul.issue-fix-list {
     display: none;
 }
 .ideditor .issue-container:not(.active) ul.issue-fix-list {
     display: none;
 }
+.ideditor .issue-container:not(.active) .issue-info {
+    display: none;
+}
 
 .ideditor .issue-info {
 
 .ideditor .issue-info {
-    -webkit-box-flex: 1;
-        -ms-flex: 1 1 auto;
-            flex: 1 1 auto;
+    flex: 1 1 auto;
     width: 100%;
     overflow: hidden;
     display: none;
     width: 100%;
     overflow: hidden;
     display: none;
     padding: 10px;
 }
 
     padding: 10px;
 }
 
-.ideditor .display-control h5 {
+.ideditor .display-options-container label {
     padding-bottom: 0;
     padding-top: 10px;
 }
 
     padding-bottom: 0;
     padding-top: 10px;
 }
 
-.ideditor .display-control h5 span {
+.ideditor .display-options-container label span {
+    font-weight: bold;
     margin: 5px;
 }
 
 .ideditor .display-control .control-wrap {
     margin: 5px;
 }
 
 .ideditor .display-control .control-wrap {
-    display: -webkit-box;
-    display: -ms-flexbox;
     display: flex;
     display: flex;
-    -webkit-box-align: center;
-        -ms-flex-align: center;
-            align-items: center;
+    align-items: center;
     width: 100%;
 }
 .ideditor .display-control .display-option-input {
     height: 20px;
     width: 100%;
 }
 .ideditor .display-control .display-option-input {
     height: 20px;
-    -webkit-box-flex: 1;
-        -ms-flex: 1 1 100%;
-            flex: 1 1 100%;
+    flex: 1 1 100%;
 }
 
 .ideditor .display-control button {
 }
 
 .ideditor .display-control button {
     margin-right: 0px;
     vertical-align: text-bottom;
     border-radius: 4px;
     margin-right: 0px;
     vertical-align: text-bottom;
     border-radius: 4px;
-    -webkit-box-flex: 0;
-        -ms-flex: 0 0 auto;
-            flex: 0 0 auto;
+    flex: 0 0 auto;
 }
 .ideditor[dir='rtl'] .display-control button {
     margin-left: 0px;
 }
 .ideditor[dir='rtl'] .display-control button {
     margin-left: 0px;
     border: 1px solid #ccc;
     border-radius: 2px;
     padding: 20px 0;
     border: 1px solid #ccc;
     border-radius: 2px;
     padding: 20px 0;
-    display: -webkit-box;
-    display: -ms-flexbox;
     display: flex;
     display: flex;
-    -webkit-box-pack: center;
-        -ms-flex-pack: center;
-            justify-content: center;
-    -webkit-box-align: center;
-        -ms-flex-align: center;
-            align-items: center;
+    justify-content: center;
+    align-items: center;
     margin: 45px;
     cursor: move;
     /* prevent scrolling pane while dragging on touchscreen */
     margin: 45px;
     cursor: move;
     /* prevent scrolling pane while dragging on touchscreen */
-    -ms-touch-action: none;
-        touch-action: none;
+    touch-action: none;
     /* disable drag-to-select */
     -webkit-user-select: none;
        -moz-user-select: none;
     /* disable drag-to-select */
     -webkit-user-select: none;
        -moz-user-select: none;
-        -ms-user-select: none;
             user-select: none;
     position: relative;
 }
             user-select: none;
     position: relative;
 }
 /* Side Panes - Background / Map Data / Help
 ------------------------------------------------------- */
 .ideditor .map-panes {
 /* Side Panes - Background / Map Data / Help
 ------------------------------------------------------- */
 .ideditor .map-panes {
-    -webkit-box-flex: 0;
-        -ms-flex: 0 1 auto;
-            flex: 0 1 auto;
+    flex: 0 1 auto;
     position: relative;
     height: 100%;
     max-width: 100%;
     position: relative;
     height: 100%;
     max-width: 100%;
     max-width: 100%;
     height: 100%;
     z-index: 10;
     max-width: 100%;
     height: 100%;
     z-index: 10;
-    display: -webkit-box;
-    display: -ms-flexbox;
     display: flex;
     display: flex;
-    -webkit-box-orient: vertical;
-    -webkit-box-direction: normal;
-        -ms-flex-direction: column;
-            flex-direction: column;
+    flex-direction: column;
 }
 
 .ideditor .map-pane.help-pane {
 }
 
 .ideditor .map-pane.help-pane {
 }
 
 .ideditor .pane-heading {
 }
 
 .ideditor .pane-heading {
-    display: -webkit-box;
-    display: -ms-flexbox;
     display: flex;
     display: flex;
-    -webkit-box-orient: horizontal;
-    -webkit-box-direction: normal;
-        -ms-flex-flow: row nowrap;
-            flex-flow: row nowrap;
-    -webkit-box-pack: justify;
-        -ms-flex-pack: justify;
-            justify-content: space-between;
+    flex-flow: row nowrap;
+    justify-content: space-between;
     border-bottom: 1px solid #ccc;
     border-bottom: 1px solid #ccc;
-    -webkit-box-flex: 0;
-        -ms-flex: 0 0 auto;
-            flex: 0 0 auto;
+    flex: 0 0 auto;
 }
 
 .ideditor .pane-heading h2 {
 }
 
 .ideditor .pane-heading h2 {
     border: 1px solid #ccc;
 }
 
     border: 1px solid #ccc;
 }
 
-/* no scrollbars */
+/* scrollbars only when necessary*/
 .ideditor .inspector-hover div {
     overflow-x: visible;
 .ideditor .inspector-hover div {
     overflow-x: visible;
-    overflow-y: visible;
+    overflow-y: auto;
 }
 
 /* hide and remove from layout */
 }
 
 /* hide and remove from layout */
 ------------------------------------------------------- */
 .ideditor img.tile {
     position: absolute;
 ------------------------------------------------------- */
 .ideditor img.tile {
     position: absolute;
-    -webkit-transform-origin: 0 0;
-        -ms-transform-origin: 0 0;
-            transform-origin: 0 0;
+    transform-origin: 0 0;
 
     -webkit-user-select: none;
 
        -moz-user-select: none;
 
 
     -webkit-user-select: none;
 
        -moz-user-select: none;
 
-        -ms-user-select: none;
-
             user-select: none;
 
     pointer-events: none;
             user-select: none;
 
     pointer-events: none;
 
     opacity: 0;
 
 
     opacity: 0;
 
-    -webkit-transition: opacity 200ms linear;
-
-    -o-transition: opacity 200ms linear;
-
     transition: opacity 200ms linear;
 }
 
     transition: opacity 200ms linear;
 }
 
     margin-left: -70px;
     margin-top: -20px;
 
     margin-left: -70px;
     margin-top: -20px;
 
-    -webkit-transform-origin: 0 0;
-
-        -ms-transform-origin: 0 0;
-
-            transform-origin: 0 0;
+    transform-origin: 0 0;
 
     -webkit-user-select: none;
 
        -moz-user-select: none;
 
 
     -webkit-user-select: none;
 
        -moz-user-select: none;
 
-        -ms-user-select: none;
-
             user-select: none;
 }
 
             user-select: none;
 }
 
     background: #000;
     -webkit-user-select: none;
        -moz-user-select: none;
     background: #000;
     -webkit-user-select: none;
        -moz-user-select: none;
-        -ms-user-select: none;
             user-select: none;
             user-select: none;
-    -ms-touch-action: none;
-        touch-action: none;
+    touch-action: none;
     -webkit-touch-callout: none;
 }
 .ideditor .main-map * {
     -webkit-touch-callout: none;
 }
 .ideditor .main-map * {
-    -ms-touch-action: none;
-        touch-action: none;
+    touch-action: none;
 }
 
 .ideditor .supersurface {
 }
 
 .ideditor .supersurface {
-    -webkit-transform-origin: 0 0;
-        -ms-transform-origin: 0 0;
-            transform-origin: 0 0;
+    transform-origin: 0 0;
 }
 
 .ideditor .supersurface, .ideditor .layer {
 }
 
 .ideditor .supersurface, .ideditor .layer {
     z-index: 2;
     background: #000;
     border: #aaa 1px solid;
     z-index: 2;
     background: #000;
     border: #aaa 1px solid;
-    -webkit-box-shadow: 0 0 2em black;
-            box-shadow: 0 0 2em black;
+    border-radius: 4px;
+    box-shadow: 0 0 2em black;
 }
 .ideditor[dir='ltr'] .map-in-map {
     left: 10px;
 }
 .ideditor[dir='ltr'] .map-in-map {
     left: 10px;
 }
 
 .ideditor .map-in-map-tiles {
 }
 
 .ideditor .map-in-map-tiles {
-    -webkit-transform-origin: 0 0;
-        -ms-transform-origin: 0 0;
-            transform-origin: 0 0;
+    transform-origin: 0 0;
     -webkit-user-select: none;
        -moz-user-select: none;
     -webkit-user-select: none;
        -moz-user-select: none;
-        -ms-user-select: none;
             user-select: none;
 }
 
             user-select: none;
 }
 
 /* Information Panels
 ------------------------------------------------------- */
 .ideditor .info-panels {
 /* Information Panels
 ------------------------------------------------------- */
 .ideditor .info-panels {
-    display: -webkit-box;
-    display: -ms-flexbox;
     display: flex;
     display: flex;
-    -webkit-box-orient: horizontal;
-    -webkit-box-direction: normal;
-        -ms-flex-flow: row wrap-reverse;
-            flex-flow: row wrap-reverse;
-    -webkit-box-pack: end;
-        -ms-flex-pack: end;
-            justify-content: flex-end;
+    flex-flow: row wrap-reverse;
+    justify-content: flex-end;
     width: 100%;
     z-index: 1;
     -ms-user-select: element;
     width: 100%;
     z-index: 1;
     -ms-user-select: element;
 }
 
 .ideditor .panel-container {
 }
 
 .ideditor .panel-container {
-    -webkit-box-flex: 0;
-        -ms-flex: 0 0 auto;
-            flex: 0 0 auto;
+    flex: 0 0 auto;
     margin: 0 2px 2px 0;
     border-radius: 4px;
     border: 1px solid rgba(0, 0, 0, 0.75);
     margin: 0 2px 2px 0;
     border-radius: 4px;
     border: 1px solid rgba(0, 0, 0, 0.75);
 
 .ideditor .panel-title {
     padding: 5px 10px;
 
 .ideditor .panel-title {
     padding: 5px 10px;
-    display: -webkit-box;
-    display: -ms-flexbox;
     display: flex;
     display: flex;
-    -webkit-box-pack: justify;
-        -ms-flex-pack: justify;
-            justify-content: space-between;
+    justify-content: space-between;
 }
 
 .ideditor .panel-title button.close {
 }
 
 .ideditor .panel-title button.close {
     position: relative;
     border-radius: 0;
     pointer-events: none;
     position: relative;
     border-radius: 0;
     pointer-events: none;
-    display: -webkit-box;
-    display: -ms-flexbox;
     display: flex;
     display: flex;
-    -webkit-box-orient: vertical;
-    -webkit-box-direction: normal;
-        -ms-flex-direction: column;
-            flex-direction: column;
+    flex-direction: column;
     -ms-user-select: element;
     -ms-user-select: element;
-    -webkit-box-flex: 0;
-        -ms-flex: 0 0 auto;
-            flex: 0 0 auto;
+    flex: 0 0 auto;
 }
 
 .ideditor .map-footer-bar {
 }
 
 .ideditor .map-footer-bar {
 
 .ideditor .main-footer-wrap,
 .ideditor .flash-wrap {
 
 .ideditor .main-footer-wrap,
 .ideditor .flash-wrap {
-    display: -webkit-box;
-    display: -ms-flexbox;
     display: flex;
     display: flex;
-    -webkit-box-flex: 0;
-        -ms-flex: 0 0 100%;
-            flex: 0 0 100%;
-    -webkit-box-orient: horizontal;
-    -webkit-box-direction: normal;
-        -ms-flex-flow: row nowrap;
-            flex-flow: row nowrap;
-    -webkit-box-pack: justify;
-        -ms-flex-pack: justify;
-            justify-content: space-between;
+    flex: 0 0 100%;
+    flex-flow: row nowrap;
+    justify-content: space-between;
     height: 100%;
     position: absolute;
     right: 0;
     height: 100%;
     position: absolute;
     right: 0;
 
 .ideditor .footer-show {
     bottom: 0px;
 
 .ideditor .footer-show {
     bottom: 0px;
-    -webkit-transition: bottom 75ms linear;
-    -o-transition: bottom 75ms linear;
     transition: bottom 75ms linear;
 }
 
 .ideditor .footer-hide {
     bottom: -100%;
     transition: bottom 75ms linear;
 }
 
 .ideditor .footer-hide {
     bottom: -100%;
-    -webkit-transition: bottom 75ms linear;
-    -o-transition: bottom 75ms linear;
     transition: bottom 75ms linear;
 }
 
     transition: bottom 75ms linear;
 }
 
     bottom: 5px;
     left: 5px;
     right: 5px;
     bottom: 5px;
     left: 5px;
     right: 5px;
-    display: -webkit-box;
-    display: -ms-flexbox;
     display: flex;
     display: flex;
-    -webkit-box-pack: justify;
-        -ms-flex-pack: justify;
-            justify-content: space-between;
-    -webkit-box-align: end;
-        -ms-flex-align: end;
-            align-items: flex-end;
+    justify-content: space-between;
+    align-items: flex-end;
     z-index: 0;
     z-index: 0;
+    pointer-events: none;
 }
 
 }
 
-.ideditor .attribution-wrap * { pointer-events: all; }
+.ideditor .attribution-wrap > * {
+    pointer-events: auto;
+}
 
 .ideditor .attribution-wrap .base-layer-attribution,
 .ideditor .attribution-wrap .overlay-layer-attribution {
 
 .ideditor .attribution-wrap .base-layer-attribution,
 .ideditor .attribution-wrap .overlay-layer-attribution {
 /* Footer - Flash messages
 ------------------------------------------------------- */
 .ideditor .flash-content {
 /* Footer - Flash messages
 ------------------------------------------------------- */
 .ideditor .flash-content {
-    display: -webkit-box;
-    display: -ms-flexbox;
     display: flex;
     display: flex;
-    -webkit-box-flex: 1;
-        -ms-flex: 1 0 auto;
-            flex: 1 0 auto;
-    -webkit-box-orient: horizontal;
-    -webkit-box-direction: normal;
-        -ms-flex-flow: row nowrap;
-            flex-flow: row nowrap;
-    -webkit-box-align: center;
-        -ms-flex-align: center;
-            align-items: center;
+    flex: 1 0 auto;
+    flex-flow: row nowrap;
+    align-items: center;
     padding: 2px;
 }
 
 .ideditor .flash-icon {
     padding: 2px;
 }
 
 .ideditor .flash-icon {
-    -webkit-box-flex: 0;
-        -ms-flex: 0 0 auto;
-            flex: 0 0 auto;
+    flex: 0 0 auto;
     width: 20px;
     height: 20px;
     margin: 0 8px;
     width: 20px;
     height: 20px;
     margin: 0 8px;
 }
 
 .ideditor .flash-text {
 }
 
 .ideditor .flash-text {
-    -webkit-box-flex: 1;
-        -ms-flex: 1 1 auto;
-            flex: 1 1 auto;
+    flex: 1 1 auto;
 }
 
 /* Scale bar
 }
 
 /* Scale bar
 .ideditor .map-footer-bar .scale-block {
     vertical-align: bottom;
     width: 250px;
 .ideditor .map-footer-bar .scale-block {
     vertical-align: bottom;
     width: 250px;
-    -webkit-box-flex: 0;
-        -ms-flex: 0 0 auto;
-            flex: 0 0 auto;
+    flex: 0 0 auto;
     -webkit-user-select: none;
        -moz-user-select: none;
     -webkit-user-select: none;
        -moz-user-select: none;
-        -ms-user-select: none;
             user-select: none;
     height: 30px;
             user-select: none;
     height: 30px;
-    -ms-flex-item-align: center;
-        align-self: center;
+    align-self: center;
 }
 
 .ideditor .scale-block .scale {
 }
 
 .ideditor .scale-block .scale {
     display: block;
 }
 .ideditor[dir='rtl'] .scale-block .scale {
     display: block;
 }
 .ideditor[dir='rtl'] .scale-block .scale {
-    -webkit-transform: scaleX(-1);
-        -ms-transform: scaleX(-1);
-            transform: scaleX(-1);
+    transform: scaleX(-1);
 }
 
 .ideditor .scale-block .scale-text {
 }
 
 .ideditor .scale-block .scale-text {
 /* Footer - About, Source Switcher
 ------------------------------------------------------- */
 .ideditor .map-footer-bar .info-block {
 /* Footer - About, Source Switcher
 ------------------------------------------------------- */
 .ideditor .map-footer-bar .info-block {
-    -webkit-box-flex: 1;
-        -ms-flex: 1 1 100%;
-            flex: 1 1 100%;
+    flex: 1 1 100%;
     overflow: hidden;
 }
 
 .ideditor .map-footer-list {
     overflow: hidden;
 }
 
 .ideditor .map-footer-list {
-    display: -webkit-box;
-    display: -ms-flexbox;
     display: flex;
     display: flex;
-    -webkit-box-orient: horizontal;
-    -webkit-box-direction: normal;
-        -ms-flex-flow: row nowrap;
-            flex-flow: row nowrap;
+    flex-flow: row nowrap;
     height: 100%;
     height: 100%;
-    -webkit-box-pack: end;
-        -ms-flex-pack: end;
-            justify-content: flex-end;
+    justify-content: flex-end;
 }
 
 .ideditor .map-footer-list li {
     height: 100%;
 }
 
 .ideditor .map-footer-list li {
     height: 100%;
-    display: -webkit-box;
-    display: -ms-flexbox;
     display: flex;
     display: flex;
-    -webkit-box-align: center;
-        -ms-flex-align: center;
-            align-items: center;
+    align-items: center;
     white-space: nowrap;
     padding: 5px;
 }
     white-space: nowrap;
     padding: 5px;
 }
     text-align: right;
     padding: 1px 10px;
     color: #eee;
     text-align: right;
     padding: 1px 10px;
     color: #eee;
-    -webkit-box-flex: 1;
-        -ms-flex: 1 1 auto;
-            flex: 1 1 auto;
+    flex: 1 1 auto;
 }
 .ideditor[dir='rtl'] .api-status {
     text-align: left;
 }
 .ideditor[dir='rtl'] .api-status {
     text-align: left;
     }
 }
 
     }
 }
 
+.ideditor .local-storage-full {
+    display: block;
+    width: 100%;
+}
+
 /* Notification Badges
 ------------------------------------------------------- */
 /* For an icon (e.g. new version) */
 .ideditor .badge {
 /* Notification Badges
 ------------------------------------------------------- */
 /* For an icon (e.g. new version) */
 .ideditor .badge {
-    display: -webkit-inline-box;
-    display: -ms-inline-flexbox;
     display: inline-flex;
     background: #d32232;
     width: 21px;
     height: 21px;
     border-radius: 50%;
     display: inline-flex;
     background: #d32232;
     width: 21px;
     height: 21px;
     border-radius: 50%;
-    -webkit-box-align: center;
-        -ms-flex-align: center;
-            align-items: center;
-    -webkit-box-pack: center;
-        -ms-flex-pack: center;
-            justify-content: center;
+    align-items: center;
+    justify-content: center;
 }
 .ideditor[dir='ltr'] .badge {
     margin-left: 6px;
 }
 .ideditor[dir='ltr'] .badge {
     margin-left: 6px;
     width: 11px;
     height: 11px;
     color: #fff;
     width: 11px;
     height: 11px;
     color: #fff;
-    -webkit-box-flex: 0;
-        -ms-flex: 0 0 auto;
-            flex: 0 0 auto;
+    flex: 0 0 auto;
 }
 
 /* For text (e.g. upcoming events) */
 }
 
 /* For text (e.g. upcoming events) */
     width: 80%;
     min-width: 200px;
     max-width: 550px;
     width: 80%;
     min-width: 200px;
     max-width: 550px;
-    display: -webkit-box;
-    display: -ms-flexbox;
     display: flex;
     display: flex;
-    -webkit-box-orient: vertical;
-    -webkit-box-direction: normal;
-        -ms-flex-direction: column;
-            flex-direction: column;
+    flex-direction: column;
 }
 
 .ideditor .modal .content {
 }
 
 .ideditor .modal .content {
 }
 
 .ideditor .save-section .buttons {
 }
 
 .ideditor .save-section .buttons {
-    display: -webkit-box;
-    display: -ms-flexbox;
     display: flex;
     display: flex;
-    -ms-flex-wrap: wrap;
-        flex-wrap: wrap;
-    -ms-flex-pack: distribute;
-        justify-content: space-around;
+    flex-wrap: wrap;
+    justify-content: space-around;
 }
 
 .ideditor .save-section .buttons .action,
 }
 
 .ideditor .save-section .buttons .action,
     text-align: center;
 }
 .ideditor .modal-actions {
     text-align: center;
 }
 .ideditor .modal-actions {
-    display: -webkit-box;
-    display: -ms-flexbox;
     display: flex;
 }
 .ideditor .modal-actions button {
     display: flex;
 }
 .ideditor .modal-actions button {
 }
 
 .ideditor .save-summary,
 }
 
 .ideditor .save-summary,
+.ideditor .save-supporting,
 .ideditor .save-communityLinks {
     padding: 0px 20px 15px 20px;
 }
 
 .ideditor .save-communityLinks {
     padding: 0px 20px 15px 20px;
 }
 
+.ideditor .save-supporting,
 .ideditor .save-communityLinks {
     border-top: 1px solid #ccc;
 }
 .ideditor .save-communityLinks {
     border-top: 1px solid #ccc;
 }
 .ideditor .save-success td.community-detail {
     padding-bottom: 15px;
 }
 .ideditor .save-success td.community-detail {
     padding-bottom: 15px;
 }
+.ideditor .save-success .community-table h3 {
+    margin: 0;
+}
 
 .ideditor .summary-view-on-osm,
 
 .ideditor .summary-view-on-osm,
+.ideditor .support-the-map,
 .ideditor .community-name {
     font-size: 14px;
     font-weight: bold;
 .ideditor .community-name {
     font-size: 14px;
     font-weight: bold;
     color: #7092ff;
 }
 
     color: #7092ff;
 }
 
+.ideditor .modal-splash .section-preferences-third-party {
+    margin-top: 20px;
+}
+
+.ideditor .modal-splash .section-preferences-third-party .privacy-link {
+    display: none;
+}
+
 
 /* Shortcuts Modal
 ------------------------------------------------------- */
 
 /* Shortcuts Modal
 ------------------------------------------------------- */
 }
 
 .ideditor .modal-shortcuts .shortcut-tab {
 }
 
 .ideditor .modal-shortcuts .shortcut-tab {
-    display: -webkit-box;
-    display: -ms-flexbox;
     display: flex;
     display: flex;
-    -webkit-box-orient: horizontal;
-    -webkit-box-direction: normal;
-        -ms-flex-flow: row wrap;
-            flex-flow: row wrap;
-    -ms-flex-pack: distribute;
-        justify-content: space-around;
+    flex-flow: row wrap;
+    justify-content: space-around;
 }
 
 .ideditor .modal-shortcuts .shortcut-column {
 }
 
 .ideditor .modal-shortcuts .shortcut-column {
 }
 
 .ideditor .modal-shortcuts .shortcut-tab-tools .shortcut-column {
 }
 
 .ideditor .modal-shortcuts .shortcut-tab-tools .shortcut-column {
-    -webkit-box-flex: 1;
-        -ms-flex: 1 1 100%;
-            flex: 1 1 100%;
+    flex: 1 1 100%;
     width: 100%;
 }
 
     width: 100%;
 }
 
     display: none;
 }
 
     display: none;
 }
 
-.ideditor .field-warning,
 .ideditor .changeset-info,
 .ideditor .request-review,
 .ideditor .commit-info {
     margin-bottom: 10px;
 }
 
 .ideditor .changeset-info,
 .ideditor .request-review,
 .ideditor .commit-info {
     margin-bottom: 10px;
 }
 
+.ideditor .field-warning {
+    margin-top: 10px;
+}
+
 .ideditor .request-review label {
     cursor: pointer;
 }
 .ideditor .request-review label {
     cursor: pointer;
 }
 /* dark tooltips for sidebar / panels */
 .ideditor .tooltip.dark.top .popover-arrow,
 .ideditor .map-pane .tooltip.top .popover-arrow,
 /* dark tooltips for sidebar / panels */
 .ideditor .tooltip.dark.top .popover-arrow,
 .ideditor .map-pane .tooltip.top .popover-arrow,
-.ideditor .sidebar .tooltip.top .popover-arrow {
+.ideditor .sidebar .tooltip.top .popover-arrow,
+.ideditor .modal .tooltip.top .popover-arrow {
     border-top-color: #000;
 }
 .ideditor .tooltip.dark.bottom .popover-arrow,
 .ideditor .map-pane .tooltip.bottom .popover-arrow,
     border-top-color: #000;
 }
 .ideditor .tooltip.dark.bottom .popover-arrow,
 .ideditor .map-pane .tooltip.bottom .popover-arrow,
-.ideditor .sidebar .tooltip.bottom .popover-arrow {
+.ideditor .sidebar .tooltip.bottom .popover-arrow,
+.ideditor .modal .tooltip.bottom .popover-arrow {
     border-bottom-color: #000;
 }
 .ideditor .tooltip.dark.left .popover-arrow,
 .ideditor .map-pane .tooltip.left .popover-arrow,
     border-bottom-color: #000;
 }
 .ideditor .tooltip.dark.left .popover-arrow,
 .ideditor .map-pane .tooltip.left .popover-arrow,
-.ideditor .sidebar .tooltip.left .popover-arrow {
+.ideditor .sidebar .tooltip.left .popover-arrow,
+.ideditor .modal .tooltip.left .popover-arrow {
     border-left-color: #000;
 }
 .ideditor .tooltip.dark.right .popover-arrow,
 .ideditor .map-pane .tooltip.right .popover-arrow,
     border-left-color: #000;
 }
 .ideditor .tooltip.dark.right .popover-arrow,
 .ideditor .map-pane .tooltip.right .popover-arrow,
-.ideditor .sidebar .tooltip.right .popover-arrow {
+.ideditor .sidebar .tooltip.right .popover-arrow,
+.ideditor .modal .tooltip.right .popover-arrow {
     border-right-color: #000;
 }
 .ideditor .tooltip.dark .popover-inner,
     border-right-color: #000;
 }
 .ideditor .tooltip.dark .popover-inner,
 .ideditor .map-pane .keyhint-wrap,
 .ideditor .sidebar .popover-inner,
 .ideditor .sidebar .tooltip-heading,
 .ideditor .map-pane .keyhint-wrap,
 .ideditor .sidebar .popover-inner,
 .ideditor .sidebar .tooltip-heading,
-.ideditor .sidebar .keyhint-wrap {
+.ideditor .sidebar .keyhint-wrap,
+.ideditor .modal .popover-inner {
     background: #000;
     color: #ccc;
 }
     background: #000;
     color: #ccc;
 }
     background-color: #666;
     border: solid 1px #444;
     border-bottom-color: #333;
     background-color: #666;
     border: solid 1px #444;
     border-bottom-color: #333;
-    -webkit-box-shadow: inset 0 -1px 0 #333;
-            box-shadow: inset 0 -1px 0 #333;
+    box-shadow: inset 0 -1px 0 #333;
     color: #eee;
 }
 
     color: #eee;
 }
 
 ------------------------------------------------------- */
 .ideditor .edit-menu {
     position: absolute;
 ------------------------------------------------------- */
 .ideditor .edit-menu {
     position: absolute;
-    display: -webkit-box;
-    display: -ms-flexbox;
     display: flex;
     display: flex;
-    -webkit-box-orient: vertical;
-    -webkit-box-direction: normal;
-        -ms-flex-direction: column;
-            flex-direction: column;
+    flex-direction: column;
     background: #fff;
     border-radius: 4px;
     /* padding is set in edit_menu.js */
     background: #fff;
     border-radius: 4px;
     /* padding is set in edit_menu.js */
 }
 
 .ideditor .edit-menu-item {
 }
 
 .ideditor .edit-menu-item {
-    display: -webkit-box;
-    display: -ms-flexbox;
     display: flex;
     display: flex;
-    -webkit-box-align: center;
-        -ms-flex-align: center;
-            align-items: center;
+    align-items: center;
     border-radius: 0;
     padding: 0 12px;
     /* height is set in edit_menu.js */
     border-radius: 0;
     padding: 0 12px;
     /* height is set in edit_menu.js */
 /* Scrollbars
  ----------------------------------------------------- */
 .ideditor ::-webkit-scrollbar {
 /* Scrollbars
  ----------------------------------------------------- */
 .ideditor ::-webkit-scrollbar {
-    height: 20px;
+    height: 10px;
     overflow: visible;
     width: 10px;
     overflow: visible;
     width: 10px;
-    background: #fff;
     border-left: 1px solid #DDD;
 }
 
     border-left: 1px solid #DDD;
 }
 
         background-color: rgba(0,0,0,.05);
     }
 }
         background-color: rgba(0,0,0,.05);
     }
 }
+body {
+    scrollbar-width: 10px;
+}
 
 
 /* Intro walkthrough
 
 
 /* Intro walkthrough
 }
 
 .ideditor .intro-nav-wrap {
 }
 
 .ideditor .intro-nav-wrap {
-    display: -webkit-box;
-    display: -ms-flexbox;
     display: flex;
     display: flex;
-    -webkit-box-orient: horizontal;
-    -webkit-box-direction: normal;
-        -ms-flex-direction: row;
-            flex-direction: row;
+    flex-direction: row;
     position: absolute;
     left: 0;
     right: 0;
     position: absolute;
     left: 0;
     right: 0;
 }
 
 .ideditor .intro-nav-wrap .intro-nav-wrap-logo {
 }
 
 .ideditor .intro-nav-wrap .intro-nav-wrap-logo {
-    -webkit-box-flex: 0;
-        -ms-flex: 0 0 auto;
-            flex: 0 0 auto;
+    flex: 0 0 auto;
     height: 40px;
     width: 40px;
     color: #fff;
     height: 40px;
     width: 40px;
     color: #fff;
 }
 
 .ideditor .intro-nav-wrap .joined {
 }
 
 .ideditor .intro-nav-wrap .joined {
-    -webkit-box-flex: 1;
-        -ms-flex: 1 1 auto;
-            flex: 1 1 auto;
-    display: -webkit-box;
-    display: -ms-flexbox;
+    flex: 1 1 auto;
     display: flex;
     display: flex;
-    -webkit-box-orient: horizontal;
-    -webkit-box-direction: normal;
-        -ms-flex-direction: row;
-            flex-direction: row;
+    flex-direction: row;
 }
 
 .ideditor .intro-nav-wrap button.chapter {
 }
 
 .ideditor .intro-nav-wrap button.chapter {
-    -webkit-box-flex: 1;
-        -ms-flex: 1 1 100%;
-            flex: 1 1 100%;
+    flex: 1 1 100%;
     padding: 0px 5px;
     font-weight: bold;
 }
 
 .ideditor .intro-nav-wrap button.chapter.next {
     padding: 0px 5px;
     font-weight: bold;
 }
 
 .ideditor .intro-nav-wrap button.chapter.next {
-    -webkit-animation-duration: 1s;
-            animation-duration: 1s;
-    -webkit-animation-name: pulse;
-            animation-name: pulse;
-    -webkit-animation-iteration-count: infinite;
-            animation-iteration-count: infinite;
-    -webkit-animation-direction: alternate;
-            animation-direction: alternate;
-}
-@-webkit-keyframes pulse {
-    from  { background: #7092ff; }
-    to    { background: #c6d4ff; }
+    animation-duration: 1s;
+    animation-name: pulse;
+    animation-iteration-count: infinite;
+    animation-direction: alternate;
 }
 @keyframes pulse {
     from  { background: #7092ff; }
 }
 @keyframes pulse {
     from  { background: #7092ff; }
 .ideditor .curtain-tooltip.intro-mouse {
     -webkit-user-select: none;
        -moz-user-select: none;
 .ideditor .curtain-tooltip.intro-mouse {
     -webkit-user-select: none;
        -moz-user-select: none;
-        -ms-user-select: none;
             user-select: none;
 }
 
             user-select: none;
 }