clear: both;
}
/* base styles */
-.layer-osm path:not(.oneway-marker-path) { /* IE/Edge needs :not(.oneway) */
+.layer-osm path {
fill: none;
}
-.layer-osm path.viewfield-marker-path { /* IE/Edge rule for <use> marker style */
+
+/* IE/Edge needs these overrides for markers to show up */
+.layer-osm path.oneway-marker-path { fill: #000; }
+.layer-osm path.sided-marker-natural-path { fill: rgb(140, 208, 95); }
+.layer-osm path.sided-marker-coastline-path { fill: #77dede; }
+.layer-osm path.sided-marker-barrier-path { fill: #ddd; }
+.layer-osm path.sided-marker-man_made-path { fill: #fff; }
+
+/* IE/Edge rule for <use> marker style */
+.layer-osm path.viewfield-marker-path {
fill: #333;
fill-opacity: 0.75;
stroke: #fff;
/* `.target` objects are interactive */
/* They can be picked up, clicked, hovered, or things can connect to them */
-.node.target {
+.node.target,
+.turn .target {
pointer-events: fill;
fill-opacity: 0.8;
fill: currentColor;
stroke-linejoin: round;
}
+
/* `.target-nope` objects are explicitly forbidden to join to */
.surface:not(.nope-disabled) .node.target.target-nope,
.surface:not(.nope-disabled) .way.target.target-nope {
/* points & notes */
-
g.note .stroke {
stroke: #222;
stroke-width: 1;
/* vertices and midpoints */
-
g.vertex .fill {
fill: #000;
}
-
g.vertex .stroke {
stroke: #666;
stroke-width: 1;
fill: white;
}
-
g.vertex.shared .stroke {
fill: #bbb;
}
-
g.midpoint .fill {
fill: #eee;
stroke: #444;
/* lines */
-
.preset-icon .icon.iD-other-line {
color: #fff;
fill: #777;
/* Labels / Markers */
-
text {
font-size: 10px;
color: #222;
}
.onewaygroup path.oneway,
-.viewfieldgroup path.viewfield {
+.viewfieldgroup path.viewfield,
+.sidedgroup path.sided {
stroke-width: 6px;
}
dominant-baseline: auto;
}
-.layer-labels-halo text {
+.labels-group.halo text {
opacity: 0.7;
stroke: #fff;
stroke-width: 5px;
}
text.nolabel {
- opacity: 0;
+ opacity: 0 !important;
}
-
text.point {
font-size: 10px;
}
stroke-width: 2px;
stroke-miterlimit: 1;
}
-
.icon.areaicon {
fill: #222;
opacity: 0.8;
}
+/* Highlighting */
+g.point.highlighted .shadow,
+path.shadow.highlighted {
+ stroke-opacity: 0.95;
+ stroke: #7092ff;
+}
+g.vertex.highlighted .shadow {
+ stroke-width: 7;
+ stroke-opacity: 0.95;
+ stroke: #7092ff;
+}
/* Turn Restrictions */
-
-g.turn rect,
-g.turn circle {
+.points-group.turns g.turn rect,
+.points-group.turns g.turn circle {
fill: none;
- pointer-events: all;
-}
-
-.form-field-restrictions .vertex {
- cursor: auto !important;
- pointer-events: none;
}
/* Turn restriction paths and vertices */
path.stroke.tag-natural,
path.stroke.tag-leisure-nature_reserve,
path.stroke.tag-leisure-pitch,
-path.stroke.tag-leisure-park {
+path.stroke.tag-leisure-track,
+path.stroke.tag-leisure-golf_course,
+path.stroke.tag-leisure-garden,
+path.stroke.tag-leisure-park,
+path.stroke.tag-barrier-hedge,
+path.stroke.tag-landuse-forest,
+path.stroke.tag-landuse-wood,
+path.stroke.tag-landuse-grass {
stroke: rgb(140, 208, 95);
}
path.fill.tag-landuse,
path.fill.tag-natural,
path.fill.tag-leisure-nature_reserve,
path.fill.tag-leisure-pitch,
-path.fill.tag-leisure-park {
+path.fill.tag-leisure-track,
+path.fill.tag-leisure-golf_course,
+path.fill.tag-leisure-garden,
+path.fill.tag-leisure-park,
+path.fill.tag-landuse-forest,
+path.fill.tag-natural-wood,
+path.fill.tag-landuse-grass {
stroke: rgba(140, 208, 95, 0.3);
fill: rgba(140, 208, 95, 0.3);
}
.preset-icon-fill-area.tag-natural,
.preset-icon-fill-area.tag-leisure-nature_reserve,
.preset-icon-fill-area.tag-leisure-pitch,
-.preset-icon-fill-area.tag-leisure-park {
+.preset-icon-fill-area.tag-leisure-track,
+.preset-icon-fill-area.tag-leisure-golf_course,
+.preset-icon-fill-area.tag-leisure-garden,
+.preset-icon-fill-area.tag-leisure-park,
+.preset-icon-fill-area.tag-landuse-forest,
+.preset-icon-fill-area.tag-natural-wood,
+.preset-icon-fill-area.tag-landuse-grass {
border-color: rgb(140, 208, 95);
background-color: rgba(140, 208, 95, 0.3);
}
+.pattern-color-forest,
+.pattern-color-forest_broadleaved,
+.pattern-color-forest_needleleaved,
+.pattern-color-forest_leafless,
+.pattern-color-wood,
+.pattern-color-grass {
+ fill: rgba(140, 208, 95, 0.3);
+}
/* Blue things */
path.stroke.tag-amenity-swimming_pool,
border-color: rgb(119, 211, 222);
background-color: rgba(119, 211, 222, 0.3);
}
+.pattern-color-waves,
+.pattern-color-pond {
+ fill: rgba(119, 211, 222, 0.3);
+}
/* Yellow things */
.pattern-color-beach,
fill: rgba(196, 189, 25, 0.3);
}
path.stroke.tag-landuse-residential,
-path.stroke.tag-landuse.tag-status,
path.stroke.tag-landuse-construction {
stroke: rgb(196, 189, 25);
}
fill: rgba(196, 189, 25, 0.3);
}
.preset-icon-fill-area.tag-landuse-residential,
-.preset-icon-fill-area.tag-landuse.tag-status,
.preset-icon-fill-area.tag-landuse-construction {
border-color: rgb(196, 189, 25);
background: rgba(196, 189, 25, 0.3);
border-color: rgb(214, 136, 26);
background-color: rgba(214, 136, 26, 0.3);
}
+.pattern-color-landfill
+{
+ fill: rgba(214, 136, 26, 0.3);
+}
+
/* Pink things */
path.stroke.tag-landuse-industrial,
}
/* Teal things */
-.pattern-color-wetland {
+.pattern-color-wetland,
+.pattern-color-wetland_marsh,
+.pattern-color-wetland_swamp,
+.pattern-color-wetland_bog,
+.pattern-color-wetland_reedbed {
fill: rgba(153, 225, 170, 0.3);
}
path.stroke.tag-natural-wetland {
/* Light Green things */
.pattern-color-cemetery,
+.pattern-color-cemetery_christian,
+.pattern-color-cemetery_buddhist,
+.pattern-color-cemetery_muslim,
+.pattern-color-cemetery_jewish,
.pattern-color-orchard,
+.pattern-color-vineyard,
.pattern-color-meadow,
-.pattern-color-farm,
.pattern-color-farmland {
fill: rgba(191, 232, 63, 0.2);
}
path.stroke.tag-landuse-cemetery,
path.stroke.tag-landuse-orchard,
+path.stroke.tag-landuse-vineyard,
path.stroke.tag-landuse-meadow,
-path.stroke.tag-landuse-farm,
path.stroke.tag-landuse-farmland {
stroke: rgb(191, 232, 63);
}
.preset-icon-fill-area.tag-landuse-cemetery,
.preset-icon-fill-area.tag-landuse-orchard,
+.preset-icon-fill-area.tag-landuse-vineyard,
.preset-icon-fill-area.tag-landuse-meadow,
-.preset-icon-fill-area.tag-landuse-farm,
.preset-icon-fill-area.tag-landuse-farmland {
background-color: rgba(191, 232, 63, 0.2);
}
border-color: rgb(226, 177, 111);
background: rgba(245, 220, 186, 0.3);
}
+.pattern-color-farmyard {
+ fill: rgba(245, 220, 186, 0.3);
+}
/* Dark Gray things */
path.stroke.tag-amenity-parking,
border-color: rgb(170, 170, 170);
background-color: rgba(140, 140, 140, 0.5);
}
+.pattern-color-quarry
+{
+ fill: rgba(140, 140, 140, 0.5);
+}
/* Light gray overrides */
path.stroke.tag-natural-cave_entrance,
border-color: rgb(170, 170, 170);
background: rgba(170, 170, 170, 0.3);
}
-
/* highways */
.preset-icon .icon.tag-highway.other-line {
fill: #77d3de;
}
.preset-icon .icon.iD-category-water,
-.preset-icon .icon.tag-route-ferry,
.preset-icon .icon.tag-type-waterway,
.preset-icon .icon.tag-waterway {
color: #77d3de;
fill: rgba(255, 255, 255, 0.3);
}
-/* power */
+/* ferry routes */
+.preset-icon .icon.tag-route-ferry {
+ color: #58a9ed;
+ fill: #fff;
+}
+path.shadow.tag-route-ferry {
+ stroke-width: 16;
+}
+path.stroke.tag-route-ferry {
+ stroke-width: 3;
+ stroke-linecap: butt;
+ stroke-dasharray: 12,8;
+}
+.low-zoom path.shadow.tag-route-ferry {
+ stroke-width: 12;
+}
+.low-zoom path.stroke.tag-route-ferry {
+ stroke-width: 2;
+ stroke-dasharray: 6,4;
+}
+path.stroke.tag-route-ferry {
+ stroke: #58a9ed;
+}
+/* power and pipeline */
.preset-icon .icon.tag-man_made-pipeline,
.preset-icon .icon.tag-power {
color: #939393;
fill: #939393;
}
+/* power */
+
path.stroke.tag-power {
stroke: #939393;
stroke-width: 2;
stroke: none;
}
+/* pipeline */
+
+path.stroke.tag-man_made-pipeline {
+ stroke: #CBD0D8;
+ stroke-linecap: butt;
+ stroke-width: 3;
+ stroke-dasharray: 80, 1.25;
+}
+path.casing.tag-man_made-pipeline {
+ stroke: #666;
+ stroke-width: 4.5;
+}
+.low-zoom path.stroke.tag-man_made-pipeline {
+ stroke-dasharray: 40, 1;
+}
/* boundaries */
path.stroke.tag-boundary {
/* barriers */
-path.stroke.tag-barrier {
+path.stroke.tag-barrier:not(.tag-barrier-hedge) {
stroke: #ddd;
+}
+path.stroke.tag-barrier {
stroke-width: 3px;
stroke-linecap: round;
stroke-dasharray: 15, 5, 1, 5;
/* tunnels */
-path.stroke.tag-tunnel {
+path.stroke.tag-tunnel,
+path.line.stroke.tag-location-underground,
+path.line.stroke.tag-location-underwater {
stroke-opacity: 0.3;
}
-path.casing.tag-tunnel {
+path.casing.tag-tunnel,
+path.line.casing.tag-location-underground,
+path.line.stroke.tag-location-underwater {
stroke-opacity: 0.5;
stroke-linecap: butt;
stroke-dasharray: none;
stroke: rgba(224, 110, 95, 0.3);
fill: rgba(224, 110, 95, 0.3);
}
+.preset-icon-fill-area.tag-parking-multi-storey,
.preset-icon-fill-area.tag-building {
border-color: rgb(224, 110, 95);
background-color: rgba(224, 110, 95, 0.3);
stroke-dasharray: 3, 2;
}
+/* Attractions */
+path.shadow.tag-attraction-summer_toboggan,
+path.shadow.tag-attraction-water_slide {
+ stroke-width: 16;
+}
+path.casing.tag-attraction-summer_toboggan,
+path.casing.tag-attraction-water_slide {
+ stroke-width: 7;
+}
+path.stroke.tag-attraction-summer_toboggan,
+path.stroke.tag-attraction-water_slide {
+ stroke-width: 5;
+}
+.low-zoom path.shadow.tag-attraction-summer_toboggan,
+.low-zoom path.shadow.tag-attraction-water_slide {
+ stroke-width: 12;
+}
+.low-zoom path.casing.tag-attraction-summer_toboggan,
+.low-zoom path.casing.tag-attraction-water_slide {
+ stroke-width: 5;
+}
+.low-zoom path.stroke.tag-attraction-summer_toboggan,
+.low-zoom path.stroke.tag-attraction-water_slide {
+ stroke-width: 3;
+}
+path.stroke.tag-attraction-summer_toboggan {
+ stroke: #9e9e9e;
+}
+path.casing.tag-attraction-summer_toboggan {
+ stroke: #666;
+}
+
+path.stroke.tag-attraction-water_slide {
+ stroke: #aae0cb;
+}
+path.casing.tag-attraction-water_slide {
+ stroke: #3d6c71;
+}
/* Cursors */
.nope,
/* photo viewer div */
#photoviewer {
position: absolute;
- bottom: 30px;
+ bottom: 40px;
+ left: 10px;
width: 330px;
height: 250px;
padding: 5px;
background-color: #fff;
}
+[dir='rtl'] #photoviewer {
+ left: auto;
+ right: 10px;
+}
@media screen and (min-width: 1600px) {
#photoviewer {
color: #fff;
}
-
/* OSM Notes Layer */
.layer-notes {
pointer-events: none;
}
.fill-wireframe .point,
-.fill-wireframe .vertex.active,
.fill-wireframe .areaicon,
.fill-wireframe .areaicon-halo,
.fill-wireframe path.casing,
sans-serif;
margin: 0;
padding: 0;
- min-width: 768px;
color: #333;
overflow: hidden;
-ms-user-select: none;
+ -ms-content-zooming: none;
}
.unsupported {
.id-container {
height: 100%;
width: 100%;
- min-width: 768px;
}
#content {
transition-duration: 200ms;
}
-/* Firefox has its own ideas about fixed positioning when a css filter is active - #4348 */
-/* https://stackoverflow.com/questions/37949942/firefox-position-bug-by-parent-with-filter */
-@-moz-document url-prefix() {
- #content > #bar {
- width: 100vw;
- }
- #content.inactive > #bar > .spacer.col4 {
- width: 0px;
- }
- #content.active > #bar > .spacer.col4 {
- width: 33.3333%;
- transition-duration: 200ms;
- transition-timing-function: step-end;
- }
-}
-
#defs {
/* Can't be display: none or the clippaths are ignored. */
position: absolute;
height: 0;
}
-.spacer {
- height: 40px;
- margin-right: 10px;
-}
-
-.limiter {
- position: relative;
- max-width: 1200px;
-}
-
-.spinner {
- opacity: .5;
- float: right;
-}
-[dir='rtl'] .spinner {
- float: left;
-}
-
-.spinner img {
- height: 40px;
- width: 40px;
- border-radius: 4px;
- margin-right: 10px;
- background: black;
-}
-[dir='rtl'] .spinner img {
- margin-left: 10px;
- margin-right: auto;
- -moz-transform: scaleX(-1);
- -o-transform: scaleX(-1);
- -webkit-transform: scaleX(-1);
- transform: scaleX(-1);
- filter: FlipH;
- -ms-filter: "FlipH";
-}
-
-
div, textarea, label, input, form, span, ul, li, ol, a, button, h1, h2, h3, h4, h5, p, img {
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
-webkit-touch-callout: none;
}
+ul li {
+ list-style: none;
+}
+
a,
button,
-.checkselect label:hover,
.radial-menu-item {
cursor: pointer;
}
font-weight: bold;
margin-bottom: 10px;
}
-
h4, h5 {
font-size: 12px;
font-weight: bold;
margin: 0;
padding: 0;
}
-
p:last-child {
padding-bottom: 0;
}
-
em {
font-style: italic;
}
-
strong {
font-weight: bold;
}
-
a:visited, a {
color: #7092ff;
}
-
a:hover {
color: #597be7;
}
border: 1px solid #ccc;
padding: 5px 20px 5px 10px;
height: 30px;
- width: 100%;
border-radius: 4px;
text-overflow: ellipsis;
}
textarea:focus,
input:focus {
- background-color: #F1F1F1;
+ background-color: #f1f1f1;
+}
+
+textarea.disabled,
+input.disabled {
+ color: #777;
+ background-color: #eee;
+ cursor: not-allowed;
}
input[type="checkbox"],
height: 14px;
margin-right: 5px;
margin-top: 3px;
+ cursor: pointer;
}
[dir='rtl'] input[type="checkbox"],
[dir='rtl'] input[type="radio"] {
margin-right: 0;
}
-/* remove bottom border radius when combobox is open */
-.combobox + * textarea:focus,
-.combobox + * input:focus {
- border-bottom-left-radius: 0 !important;
- border-bottom-right-radius: 0 !important;
-}
-
/* tables */
-
table {
background-color: #fff;
border-collapse: collapse;
width: 100%;
border-spacing: 0;
}
-
table th {
text-align: left;
}
-
table.tags, table.tags td, table.tags th {
border: 1px solid #ccc;
padding: 4px;
/* Grid
------------------------------------------------------- */
-.col0 { float: left; width: 04.1666%; }
-.col1 { float: left; width: 08.3333%; }
-.col2 { float: left; width: 16.6666%; }
-.col3 { float: left; width: 25.0000%; max-width: 300px; }
-.col4 { float: left; width: 33.3333%; max-width: 400px; }
-.col5 { float: left; width: 41.6666%; max-width: 500px; }
-.col6 { float: left; width: 50.0000%; max-width: 600px; }
-.col7 { float: left; width: 58.3333%; }
-.col8 { float: left; width: 66.6666%; }
-.col9 { float: left; width: 75.0000%; }
-.col10 { float: left; width: 83.3333%; }
-.col11 { float: left; width: 91.6666%; }
-.col12 { float: left; width: 100.0000%; }
-
-/* UI Lists
-------------------------------------------------------- */
-ul li { list-style: none;}
-
-.toggle-list > label {
- position: relative;
- padding: 5px 10px;
- display: block;
- height: 30px;
- background-color: #fff;
- color: #7092ff;
- cursor: pointer;
-}
-
-.toggle-list > label:hover {
- background-color: #ececec;
-}
-
-.toggle-list > label:not(:last-child) {
- border-bottom: 1px solid #ccc;
-}
-
-.toggle-list > label:last-child {
- border-radius: 0 0 3px 3px;
-}
-
-.toggle-list label > span {
- display: block;
- overflow: hidden;
- white-space: nowrap;
- text-overflow: ellipsis;
-}
-
-.toggle-list > label.active {
- background: #E8EBFF;
-}
+.col6 { float: left; width: 50.0000%; max-width: 600px; }
+.col8 { float: left; width: 66.6666%; }
+.col12 { float: left; width: 100.0000%; }
/* Utility Classes
.deemphasize {
color: #a9a9a9;
}
-
.content {
box-shadow: 0 0 30px 0 rgba(0, 0, 0, 0.25);
}
-
.loading {
background: url(<%= asset_path("iD/img/loader_bg.gif") %>);
background-size: 5px 5px;
button:hover {
background-color: #ececec;
}
-
-button[disabled],
-button.disabled {
- background-color: rgba(255,255,255,.25);
- color: rgba(0,0,0,.4);
- cursor: auto;
-}
-
button.active {
background: #7092ff;
}
-
-button.minor {
- position: absolute;
- top: 0;
- right: 0;
- height: 100%;
- width: 10%;
- border-radius: 0;
- background-color: #fafafa;
-}
-[dir='rtl'] button.minor {
- right: auto;
-}
-
-button.minor .icon {
- opacity: .5;
-}
-
-button.minor:hover {
- background-color: #f1f1f1;
-}
-
-.button-wrap {
- display: inline-block;
- padding-right: 10px;
- margin: 0;
-}
-
-.button-wrap button:only-child {
- width: 100%;
-}
-
-.button-wrap:last-of-type {
- padding-right: 0;
-}
-[dir='rtl'] .button-wrap:last-of-type {
- padding-left: 0;
- padding-right: 10px;
+button.disabled {
+ background-color: rgba(255,255,255,.25);
+ color: rgba(0,0,0,.4);
+ cursor: not-allowed;
}
.joined button {
.fillL .joined button {
border-right: 1px solid #fff;
}
-
.joined button:first-child {
border-radius: 4px 0 0 4px;
}
[dir='rtl'] .joined button:first-child {
border-radius: 0 4px 4px 0;
}
-
.joined button:last-child {
border-right-width: 0;
border-radius: 0 4px 4px 0;
border-radius: 4px 0 0 4px;
}
+
+/* Action buttons */
button.action {
background: #7092ff;
color: #fff;
}
-
-button[disabled].action,
-button[disabled].action:hover {
- background: #cccccc;
- color: #888;
-}
-
button.action:focus,
button.action:hover {
- background: #597BE7;
+ background: #597be7;
}
-
button.secondary-action {
background: #ececec;
}
-
button.secondary-action:focus,
button.secondary-action:hover {
background: #cccccc;
}
-button.save .count {
- display: none;
+button[disabled].action,
+button[disabled].action:hover {
+ background: #cccccc;
+ color: #888;
+ cursor: not-allowed;
}
-button.save.has-count .count {
- display: block;
- position: absolute;
- top: 5px;
- background: #fff;
- border-color: #fff;
- opacity: 0.5;
- color: #333;
- padding: 10px;
- height: 30px;
- line-height: 12px;
- border-radius: 4px;
- margin: auto;
- margin-left: 9.3333%;
-}
-[dir='rtl'] button.save.has-count .count {
- margin-left: auto;
- margin-right: 8%;
-}
-
-button.save.has-count .count::before {
- content: "";
- margin: auto;
- width: 0;
- height: 0;
- position: absolute;
- left: -6px;
- top: 0;
- bottom: 0;
- border-top: 6px solid transparent;
- border-bottom: 6px solid transparent;
- border-right-width: 6px;
- border-right-style: solid;
- border-right-color: inherit;
-}
-[dir='rtl'] button.save.has-count .count::before {
- border-left: 6px solid rgba(255,255,255,.5);
- border-right: none;
- left: auto;
- right: -6px;
-}
-
-.help-wrap svg.icon.pre-text.add-note,
-button.add-note svg.icon {
- height: 15px;
- width: 15px;
- color: rgba(0,0,0,0.25);
- stroke: #333;
- stroke-width: 60px;
- margin-top: 3px;
-}
-button.add-note svg.icon {
- margin-left: unset;
- margin-right: 7px;
-}
-[dir='rtl'] button.add-note svg.icon {
- margin-left: 7px;
- margin-right: unset;
-}
-.help-wrap svg.icon.pre-text.add-note {
- margin-left: 3px;
- margin-right: 3px;
-}
-
-
-/* Icons
-------------------------------------------------------- */
-.icon {
- vertical-align: top;
- width: 20px;
- height: 20px;
+
+/* Icons
+------------------------------------------------------- */
+.icon {
+ vertical-align: top;
+ width: 20px;
+ height: 20px;
}
.icon.inline {
.icon.light {
color: #fff;
}
-
.icon.created {
color: #00ca07;
}
-
.icon.modified {
color: #666;
}
-
.icon.deleted {
color: #ea0000;
}
/* Toolbar / Persistent UI Elements
------------------------------------------------------- */
#bar {
- position: fixed;
- padding: 10px 0;
+ display: flex;
+ flex-flow: row nowrap;
+ justify-content: space-between;
+ position: absolute;
+ padding: 10px;
left: 0;
top: 0;
right: 0;
height: 60px;
z-index: 9;
- min-width: 768px;
}
-[dir='rtl'] #bar .spacer,
-[dir='rtl'] #bar .button-wrap,
-[dir='rtl'] #bar .button-wrap button {
- float: right;
+.tool-group {
+ display: flex;
+ flex: 0 1 auto;
+ flex-flow: row nowrap;
+ width: 100%;
+}
+.tool-group.leading-area {
+ flex-shrink: 2;
+ justify-content: flex-start;
+}
+.tool-group.center-area {
+ justify-content: center;
+}
+.tool-group.trailing-area {
+ justify-content: flex-start;
+}
+
+.tool-group > div {
+ display: flex;
+ margin: 0 5px;
+}
+.tool-group button {
+ flex: 1 1 auto;
+ flex-flow: row nowrap;
+ align-items: center;
+ padding: 0 10px;
+ min-width: 30px;
+}
+.tool-group button .icon {
+ flex: 0 0 20px;
+}
+.tool-group button .label {
+ flex: 0 1 auto;
+ padding: 0 5px;
+}
+
+button.save .count {
+ display: inline-block;
+ border: 0px solid #ccc;
+ border-left-width: 1px;
+ padding: 0px 0px 0px 8px;
+ min-width: 32px;
+ text-align: center;
+}
+[dir='rtl'] button.save .count {
+ border-left-width: 0px;
+ border-right-width: 1px;
+ padding: 0px 8px 0px 0px;
+}
+button.save.disabled .count {
+ border: 0px solid rgba(0,0,0,0.25);
+ border-left-width: 1px;
+}
+[dir='rtl'] button.save.disabled .count {
+ border-left-width: 0px;
+ border-right-width: 1px;
+ padding: 0px 8px 0px 0px;
+}
+#bar.narrow button.save .count {
+ padding: 0px;
+}
+
+button.save .label {
+ margin-right: 3px;
+ margin-left: 0;
+}
+[dir='rtl'] button.save .label {
+ margin-left: 3px;
+ margin-right: 0;
+}
+
+.help-wrap svg.icon.pre-text.add-note,
+button.add-note svg.icon {
+ height: 15px;
+ width: 15px;
+ color: rgba(0,0,0,0.25);
+ stroke: #333;
+ stroke-width: 60px;
+ margin-top: 3px;
+}
+button.add-note svg.icon {
+ margin-left: unset;
+ margin-right: 4px;
+}
+[dir='rtl'] button.add-note svg.icon {
+ margin-left: 4px;
+ margin-right: unset;
+}
+.help-wrap svg.icon.pre-text.add-note {
+ margin-left: 3px;
+ margin-right: 3px;
+}
+
+.spinner {
+ opacity: .5;
+ display: flex;
+ flex-shrink: 2;
+ justify-content: flex-end;
+}
+.spinner img {
+ height: 40px;
+ width: 40px;
+ border-radius: 4px;
+ background: black;
+}
+[dir='rtl'] .spinner img {
+ -moz-transform: scaleX(-1);
+ -o-transform: scaleX(-1);
+ -webkit-transform: scaleX(-1);
+ transform: scaleX(-1);
+ filter: FlipH;
+ -ms-filter: "FlipH";
+}
+
+
+#bar.narrow .tool-group {
+ width: unset;
+}
+#bar.narrow .spinner,
+#bar.narrow button .label {
+ display: none;
+}
+#bar.narrow button .count {
+ border-left-width: 0;
+ border-right-width: 0;
}
margin: 0;
padding: 5px 20px 5px 20px;
border-top: 1px solid #ccc;
- background-color: #fafafa;
+ background-color: #f6f6f6;
width: 100%;
z-index: 1;
flex-wrap: wrap;
justify-content: center;
}
-.sidebar-component .body {
- width: 100%;
- overflow: auto;
- top: 60px;
- bottom: 0;
- position: absolute;
-}
-
/* Hide/Toggle collapsable sections (aka Disclosure)
------------------------------------------------------- */
position: relative;
float: left;
height: 100%;
- overflow: hidden;
z-index: 10;
background: #f6f6f6;
-ms-user-select: element;
+ border: 0px solid #ccc;
+ border-right-width: 1px;
}
[dir='rtl'] #sidebar {
float: right;
+ border-right-width: 0px;
+ border-left-width: 1px;
+}
+
+#sidebar-resizer {
+ position: absolute;
+ top: 0;
+ right: -6px;
+ height: 100%;
+ width: 6px;
+ cursor: col-resize;
+}
+[dir='rtl'] #sidebar-resizer {
+ right: auto;
+ left: -6px;
+}
+
+#sidebar.collapsed #sidebar-resizer {
+ /* make target wider to avoid the user accidentally resizing window */
+ width: 10px;
+ right: -10px;
+}
+[dir='rtl'] #sidebar.collapsed #sidebar-resizer {
+ left: -10px;
}
.sidebar-component {
right: 0;
}
+.sidebar-component .body {
+ width: 100%;
+ overflow: auto;
+ top: 60px;
+ bottom: 0;
+ position: absolute;
+}
+
.panewrap {
position: absolute;
width: 200%;
.inspector-wrap {
width: 100%;
height: 100%;
+ overflow: hidden;
+ position: relative;
}
.inspector-hidden {
bottom: 0;
}
-.feature-list-pane .inspector-body {
- top: 120px;
+.inspector-border {
+ border-bottom: 1px solid #ccc
}
+
+.feature-list-pane .inspector-body,
.preset-list-pane .inspector-body {
top: 120px;
}
-.entity-editor-pane .inspector-body {
- top: 60px;
-}
+.entity-editor-pane .inspector-body,
.selection-list-pane .inspector-body {
top: 60px;
}
border-radius: 0;
}
+.geocode-item {
+ width: 50%;
+ background-color: #ccc;
+ left: 25%;
+ margin-top: 30px;
+ border-radius: 2px;
+}
+
+.geocode-item:hover {
+ background-color: #aaa;
+}
+
.feature-list-item {
background-color: #fff;
font-weight: bold;
height: 40px;
line-height: 20px;
}
-
.feature-list-item:hover {
background-color: #ececec;
}
-
.feature-list-item button {
background: transparent;
}
-
.feature-list-item .label {
text-align: left;
padding: 10px 10px;
.feature-list-item .label .icon {
opacity: .5;
}
-
.feature-list-item .close {
float: right;
padding: 10px;
}
-
.feature-list-item .close .icon {
opacity: 1;
}
-
.feature-list-item .entity-type {
color: #7092ff;
}
-
.feature-list-item:hover .entity-type {
color: #597be7;
}
-
.feature-list-item .entity-name {
font-weight: normal;
color: #666;
}
.preset-list-button .label {
+ display: flex;
+ flex-flow: row wrap;
+ align-items: center;
background-color: #f6f6f6;
text-align: left;
position: absolute;
right: 0;
padding: 5px 10px;
left: 60px;
- line-height: 50px;
- white-space: nowrap;
- text-overflow: ellipsis;
- overflow: hidden;
border-left: 1px solid rgba(0, 0, 0, .1);
border-radius: 0 3px 3px 0;
}
border-radius: 3px 0 0 3px;
}
-.preset-list-button:hover .label {
+.preset-list-button .label-inner {
+ width: 100%;
+}
+.preset-list-button .label-inner .namepart {
+ height: 17px;
+ white-space: nowrap;
+ text-overflow: ellipsis;
+ overflow: hidden;
+ padding-right: 30px;
+}
+[dir='rtl'] .preset-list-button .label-inner .namepart {
+ padding-right: 0;
+ padding-left: 30px;
+}
+
+.preset-list-button:hover .label,
+.preset-list-button:focus .label {
background-color: #ececec;
}
top: 0;
right: 0;
width: 32px;
- background: #fafafa;
+ background: #f6f6f6;
}
[dir='rtl'] .preset-list-item button.tag-reference-button {
left: 0;
opacity: .5;
}
+img.tag-reference-wiki-image {
+ float: right;
+ width: 33.3333%;
+ width: -webkit-calc(33.3333% - 10px);
+ width: calc(33.3333% - 10px);
+ border-radius: 4px;
+ max-height: 200px;
+ margin: 10px 5px 15px 20px;
+}
+
+
.current .preset-list-button,
.current .preset-list-button .label {
- background-color: #E8EBFF;
+ background-color: #e8ebff;
}
.category .preset-list-button:after,
margin-bottom: 0;
}
+/*
+ The parts of a field:
+ - `.form-field` is a `div` wraps the entire thing
+ - `.form-field-label` is a `label` that wraps the top part, it contains;
+ - `span` classed `label-text`
+ - 0..n buttons for "remove", "modified", "tag reference"
+ - `.form-field-input-wrap` is a `label` or `div` that wraps the bottom part, it contains;
+ - usually an `input`
+ - sometimes some buttons (translate, increment, decrement)
+ - or could just be a `div` with anything really
+ - `.tag-reference-body` at the bottom (usually hidden)
+
+ .------------------. -
+ | Name | i | <- .form-field-label |
+ +------------------+ |
+ | Starbucks | + | <- .form-field-input-wrap > .form-field
+ '------------------' |
+ tag reference <- .tag-reference-body |
+ -
+*/
+
.form-field {
+ display: flex;
+ flex-flow: row wrap;
margin-bottom: 10px;
width: 100%;
-webkit-transition: margin-bottom 200ms;
margin-bottom: 0;
}
-.form-label {
+/* A `label` element that wraps the top section */
+.form-field-label {
+ display: flex;
+ flex-flow: row nowrap;
+ flex: 1 1 100%;
+ height: 30px;
position: relative;
font-weight: bold;
- border: 1px solid #cfcfcf;
- padding: 5px 0 5px 10px;
+ color: #333;
background: #f6f6f6;
- display: block;
+ border: 1px solid #ccc;
border-radius: 4px 4px 0 0;
overflow: hidden;
}
-[dir='rtl'] .form-label {
- padding: 5px 10px 5px 0;
-}
-
-.form-label-button-wrap {
- position: absolute;
- top: 0;
- right: 0;
- height: 100%;
- width: 100%;
- background: transparent;
- text-align: right;
-}
-[dir='rtl'] .form-label-button-wrap {
- text-align: left;
-}
-
-.form-label-button-wrap .tag-reference-button {
- border-radius: 0 3px 0 0;
+.form-field-label .label-text {
+ flex: 1 1 auto;
+ padding: 5px 0 5px 10px;
}
-
-.form-label-button-wrap .icon {
- opacity: .5;
+[dir='rtl'] .form-field-label .label-text {
+ padding: 5px 10px 5px 0;
}
-.form-label button {
+.form-field-label button {
+ flex: 0 0 32px;
border-left: 1px solid #ccc;
width: 32px;
height: 100%;
border-radius: 0;
background: #f6f6f6;
}
-[dir='rtl'] .form-label button {
+[dir='rtl'] .form-field-label button {
border-left: none;
border-right: 1px solid #ccc;
- border-radius: 4px 0 0 0;
- width: 31px;
}
-.form-label button:hover {
+.form-field-label button:hover {
background: #f1f1f1;
}
+.form-field-label .icon {
+ opacity: .5;
+}
-.form-label .modified-icon,
-.form-field .remove-icon {
+.form-field-label .modified-icon,
+.form-field-label .remove-icon {
display: none;
}
-
-.modified .form-label .modified-icon,
-.present .form-label .remove-icon {
+.modified .form-field-label .modified-icon,
+.present .form-field-label .remove-icon {
display: inline-block;
}
-.form-field > input,
-.form-field > textarea,
-.form-field .preset-input-wrap {
- border: 1px solid #ccc;
+/* A `div` element that wraps the bottom section */
+.form-field-input-wrap {
+ display: flex;
+ flex-flow: row nowrap;
+ flex: 1 1 100%;
min-height: 30px;
border-top: 0;
border-radius: 0 0 4px 4px;
- overflow: hidden;
- position: relative;
-}
-
-.form-field textarea {
- height: 65px;
}
-
-.inspector-border {
- border-bottom: 1px solid #ccc
-}
-
-/* Inspector (hover styles)
-------------------------------------------------------- */
-.inspector-hover .checkselect label:last-of-type,
-.inspector-hover .preset-input-wrap .label,
-.inspector-hover .form-field-multicombo,
-.inspector-hover .structure-extras-wrap,
-.inspector-hover .comments-container .comment,
-.inspector-hover input,
-.inspector-hover textarea,
-.inspector-hover label {
- background: #ececec;
+.nowrap .form-field-input-wrap {
+ border-radius: 0;
}
-.inspector-hover a,
-.inspector-hover .form-field-multicombo .chips,
-.inspector-hover .checkselect label:last-of-type {
- color: #666;
-}
-.inspector-hover .form-field-multicombo .chips {
- background: #eee;
+.form-field-input-wrap > input,
+.form-field-input-wrap > label,
+.form-field-input-wrap > textarea,
+.form-field-input-wrap > ul.chiplist {
+ flex: 1 1 auto;
+ min-height: 30px;
border: 1px solid #ccc;
-}
-
-/* no scrollbars */
-.inspector-hover div {
- overflow-x: hidden;
- overflow-y: hidden;
-}
-
-/* hide and remove from layout */
-.inspector-hidden,
-.inspector-hover label input[type="checkbox"],
-.inspector-hover label input[type="radio"],
-.inspector-hover .toggle-list label,
-.inspector-hover .toggle-list label span,
-.inspector-hover .inspector-inner .add-tag,
-.inspector-hover .inspector-inner .add-relation,
-.inspector-hover .form-field-multicombo .combobox-input,
-.inspector-hover .toggle-list label.remove .icon {
- height: 0;
- width: 0;
+ border-top: 0;
+ border-radius: 0;
overflow: hidden;
- opacity: 0 !important;
- border-width: 0;
- margin: 0;
- padding: 0;
+ position: relative;
}
-
-/* hide but preserve in layout */
-.inspector-hover .entity-editor-pane button.minor,
-.inspector-hover .combobox-caret,
-.inspector-hover .header button,
-.inspector-hover .spin-control,
-.inspector-hover .form-field-multicombo .chips .remove,
-.inspector-hover .hide-toggle:before,
-.inspector-hover .more-fields,
-.inspector-hover .form-label-button-wrap,
-.inspector-hover .tag-reference-button,
-.inspector-hover .footer * {
- opacity: 0;
+.form-field-input-wrap > textarea {
+ height: 65px;
+ border-radius: 0 0 4px 4px;
}
-/* Styles for raw tag inspector on hover */
-.inspector-hover .tag-row .key-wrap,
-.inspector-hover .tag-row .form-field.input-wrap-position {
- width: 50%;
+/* Buttons inside fields */
+.form-field-button {
+ flex: 0 0 32px;
+ height: 30px;
+ width: 32px;
+ position: relative;
+ background-color: #fff;
+ border: 1px solid #ccc;
+ border-radius: 0;
+ border-top-width: 0;
+ border-left-width: 0;
+ vertical-align: top;
}
-.inspector-hover .tag-row .key-wrap,
-.inspector-hover .tag-row .input-wrap-position {
- height: 31px;
+[dir='rtl'] .form-field-button {
+ border-left-width: 1px;
+ border-right-width: 0;
}
-
-.inspector-hover .tag-row:first-child input.value {
- border-top-right-radius: 4px;
+.form-field-button:hover {
+ background-color: #f1f1f1;
}
-[dir='rtl'] .inspector-hover .tag-row:first-child input.value {
- border-top-right-radius: 0;
- border-top-left-radius: 4px;
+.form-field-button .icon {
+ fill: #333;
+ opacity: .5;
}
-.inspector-hover .tag-row:last-child input.value {
- border-bottom-right-radius: 4px;
-}
-[dir='rtl'] .inspector-hover .tag-row:last-child input.value {
- border-bottom-right-radius: 0;
- border-bottom-left-radius: 4px;
-}
-.inspector-hover .tag-row:last-child input.key {
- border-bottom-left-radius: 4px;
-}
-[dir='rtl'] .inspector-hover .tag-row:last-child input.key {
- border-bottom-left-radius: 0;
+/* round corners of first/last child elements */
+.form-field-input-wrap > button:last-of-type {
border-bottom-right-radius: 4px;
}
-
-.inspector-hover .more-fields {
- max-height: 0;
- margin-bottom: -10px;
-}
-
-/* Unstyle button fields */
-.inspector-hover .toggle-list label.active,
-.inspector-hover .entity-editor-pane a.hide-toggle {
- opacity: 1;
- background-color: transparent;
- color: #666;
- padding-left: 0;
- border-width: 0;
+[dir='rtl'] .form-field-input-wrap > button:last-of-type {
+ border-bottom-left-radius: 4px;
}
-.inspector-hover .toggle-list button.active {
- padding-left: 10px;
-}
-/* Add placeholder only on hover for radio buttons */
-.inspector-hover .toggle-list .placeholder {
- color: #a9a9a9;
- padding: 5px 10px;
- opacity: 1;
- line-height: 20px;
- width: 100%;
-}
-
-/* Hide placeholder for radio buttons if another is active, or not in hover state */
-.toggle-list label.active ~ .placeholder,
-.toggle-list .placeholder {
- padding: 0;
- opacity: 0;
- width: 0;
- line-height: 0;
- display: block;
- overflow: hidden;
+/* Field - Access, Cycleway
+------------------------------------------------------- */
+.form-field-input-access,
+.form-field-input-cycleway {
+ flex: 1 1 auto;
+ display: flex;
+ flex-flow: row wrap;
}
-/* More Fields dropdown
+/* Field - lists with labeled input items
------------------------------------------------------- */
-.more-fields {
- padding: 0 20px 20px 20px;
- font-weight: bold;
-}
-.changeset-editor .more-fields {
- padding: 15px 20px 0 20px;
+.form-field ul.labeled-inputs {
+ flex: 1 1 auto;
+ border: 1px solid #ccc;
+ border-top: 0;
+ border-radius: 0 0 4px 4px;
+ overflow: hidden;
+ width: 100%;
}
-
-.more-fields label {
+.form-field ul.labeled-inputs li {
+ border-top: 1px solid #ccc;
display: flex;
flex-flow: row nowrap;
- justify-content: space-between;
- align-items: center;
-}
-
-.more-fields input {
- margin-left: 10px;
- flex: 1 1 50%;
-}
-[dir='rtl'] .more-fields input {
- margin-left: auto;
- margin-right: 10px;
-}
-
-.preset-input-wrap .label {
- height: 30px;
- background: #F6F6F6;
- padding: 5px 10px;
-}
-
-[dir='rtl'] .preset-input-wrap .col6 {
- float: right;
}
-
-
-/* Field - Access, Cycleway, Structure
-------------------------------------------------------- */
-.structure-extras-wrap li,
-.form-field-cycleway .preset-input-wrap li,
-.form-field-access .preset-input-wrap li {
- border-bottom: 1px solid #ccc;
+.form-field ul.labeled-inputs li:first-child {
+ border-top: 0;
}
-.structure-extras-wrap li:last-child,
-.form-field-cycleway .preset-input-wrap li:last-child,
-.form-field-access .preset-input-wrap li:last-child {
- border-bottom: 0;
+.form-field ul.labeled-inputs li > span,
+.form-field ul.labeled-inputs li > div {
+ flex: 1 1 auto;
+ width: 100%;
+ border-radius: 0;
}
-.structure-input-type-wrap input,
-.structure-input-layer-wrap input,
-.preset-input-cycleway-wrap input,
-.preset-input-access-wrap input {
+.form-field ul.labeled-inputs li input {
border-radius: 0;
+ width: 100%;
+}
+.form-field ul.labeled-inputs li input,
+.form-field ul.labeled-inputs li button {
border-width: 0;
border-left-width: 1px;
}
-[dir='rtl'] .structure-input-type-wrap input,
-[dir='rtl'] .structure-input-layer-wrap input,
-[dir='rtl'] .preset-input-cycleway-wrap input,
-[dir='rtl'] .preset-input-access-wrap input {
+[dir='rtl'] .form-field ul.labeled-inputs li input,
+[dir='rtl'] .form-field ul.labeled-inputs li button {
border-left-width: 0;
border-right-width: 1px;
}
-.preset-input-wrap li:last-child input {
- border-bottom-right-radius: 4px;
-}
+/* Field - Structure
+------------------------------------------------------- */
.structure-extras-wrap {
+ width: 100%;
padding: 10px 10px;
background: #fff;
+ border: 1px solid #ccc;
+ border-top: 0px;
+ border-radius: 0 0 4px 4px;
}
-.structure-extras-wrap ul {
+.structure-extras-wrap > ul.labeled-inputs {
border: 1px solid #ccc;
border-radius: 4px;
}
-.structure-extras-wrap li:first-child span {
- border-top-left-radius: 4px;
-}
-.structure-extras-wrap li:first-child input {
- border-top-right-radius: 4px;
-}
-.structure-extras-wrap li:last-child span {
- border-bottom-left-radius: 4px;
-}
-.structure-extras-wrap li:last-child input {
- border-bottom-right-radius: 4px;
-}
-[dir='rtl'] .structure-extras-wrap li:first-child span {
- border-top-left-radius: 0;
- border-top-right-radius: 4px;
-}
-[dir='rtl'] .structure-extras-wrap li:first-child input {
- border-top-right-radius: 0;
- border-top-left-radius: 4px;
-}
-[dir='rtl'] .structure-extras-wrap li:last-child span {
- border-bottom-left-radius: 0;
- border-bottom-right-radius: 4px;
-}
-[dir='rtl'] .structure-extras-wrap li:last-child input {
- border-bottom-right-radius: 0;
- border-bottom-left-radius: 4px;
-}
-/* Field - Multicombo
+/* Field - Combo / Multicombo
------------------------------------------------------- */
-.form-field-multicombo {
- border: 1px solid #cfcfcf;
- border-top: 0px;
+.form-field-input-combo > input:only-of-type {
+ border-radius: 0 0 4px 4px;
+}
+
+.form-field-input-multicombo ul.chiplist {
padding: 5px 0 5px 10px;
background: #fff;
display: block;
border-radius: 0 0 4px 4px;
- overflow: hidden;
-}
-.form-field-multicombo:focus {
- border-bottom: 0px;
-}
-.form-field-multicombo.active {
- border-bottom-left-radius: 0px;
- border-bottom-right-radius: 0px;
}
-.form-field-multicombo li {
+.form-field-input-multicombo li.chips {
display: inline-flex;
flex-flow: row nowrap;
align-items: center;
margin: 3px;
}
-.form-field-multicombo a {
+.form-field-input-multicombo a {
font-family: Arial, Helvetica, sans-serif !important;
font-size: 16px !important;
line-height: 24px;
color: #a6b4ce;
}
-.form-field-multicombo input {
+.form-field-input-multicombo input {
border: 1px solid #ddd;
width: 100px;
margin: 3px;
height: 31px;
}
-.form-field-multicombo .combobox-caret {
+.form-field-input-multicombo .combobox-caret {
margin: 3px 3px 3px -30px;
}
-.form-field-multicombo input:focus {
+.form-field-input-multicombo input:focus {
border-radius: 4px !important;
}
-/* Field - Numeric
+/* Field - Text / Numeric
------------------------------------------------------- */
-input[type=number] {
- position: relative;
- padding-right: 20%;
-}
-
-.spin-control {
- width: 64px;
- height: 30px;
- display: inline-block;
- margin-left: -64px;
- margin-bottom: -11px;
- position: relative;
-}
-[dir='rtl'] .spin-control{
- margin-left: 0;
- margin-right: -64px;
-}
-
-.spin-control button {
- right: 1px;
- position: relative;
- float: left;
- height: 100%;
- width: 32px;
- border-left: 1px solid #ccc;
- border-radius: 0;
- background: rgba(0, 0, 0, 0);
+.form-field-input-text > input:only-of-type,
+.form-field-input-tel > input:only-of-type,
+.form-field-input-email > input:only-of-type,
+.form-field-input-url > input:only-of-type {
+ border-radius: 0 0 4px 4px;
}
-[dir='rtl'] .spin-control button{
- border-left: 0;
- border-right: 1px solid #ccc;
+.form-field-input-number > input:only-of-type {
+ border-radius: 0 0 0 4px;
}
-
-.spin-control button.decrement {
- border-bottom-right-radius: 3px;
+[dir='rtl'] .form-field-input-number > input:only-of-type {
+ border-radius: 0 0 4px 0;
}
-[dir='rtl'] .spin-control button.decrement {
- border-bottom-right-radius: 0;
+.form-field-input-number > button:last-of-type {
+ border-radius: 0 0 4px 0;
}
-[dir='rtl'] .spin-control button.increment {
- border-bottom-left-radius: 3px;
- right: 0;
+[dir='rtl'] .form-field-input-number > button:last-of-type {
+ border-radius: 0 0 0 4px;
}
-.spin-control button.decrement::after,
-.spin-control button.increment::after {
- content:"";
+/* draw the up/down on the buttons */
+.form-field-input-number button.decrement::after,
+.form-field-input-number button.increment::after {
+ content: "";
height: 0; width: 0;
position: absolute;
left: 0; right: 0; bottom: 0; top: 0;
margin: auto;
}
-.spin-control button.decrement::after {
+.form-field-input-number button.decrement::after {
border-top: 5px solid #ccc;
border-left: 5px solid transparent;
border-right: 5px solid transparent;
}
-.spin-control button.increment::after {
+.form-field-input-number button.increment::after {
border-bottom: 5px solid #ccc;
border-left: 5px solid transparent;
border-right: 5px solid transparent;
/* Field - Checkbox
------------------------------------------------------- */
-.checkselect label:last-of-type {
- display: block;
+.form-field-input-check {
+ display: flex;
+ align-items: end;
background: #fff;
padding: 5px 10px;
color: #7092ff;
+ border: 1px solid #ccc;
+ border-top: 0;
+ cursor: pointer;
}
-.checkselect label:hover {
- background: #f1f1f1;
-}
-.checkselect .set {
- color: inherit;
+.form-field-input-check > input[type="checkbox"] {
+ flex: 0 1 auto;
+ min-height: 20px;
+ width: 20px;
}
-.checkselect label:not(.set) input[type="checkbox"] {
- opacity: .5;
+.form-field-input-check > span {
+ flex: 1 1 auto;
}
-.checkselect .reverser.button {
- display: block;
- float: right;
+.form-field-input-check > .reverser.button {
+ flex: 0 1 auto;
background-color: #eff2f7;
border: 1px solid #ccd5e3;
border-radius: 2px;
padding: 0px 8px;
}
-[dir='rtl'] .checkselect .reverser.button {
- float: left;
-}
-.checkselect .reverser.button.hide {
+.form-field-input-check > .reverser.button.hide {
display: none;
}
+.form-field-input-check:hover {
+ background: #f1f1f1;
+}
+.form-field-input-check .set {
+ color: inherit;
+}
+.form-field-input-check label:not(.set) input[type="checkbox"] {
+ opacity: .5;
+}
+
/* Field - Radio button
------------------------------------------------------- */
-.toggle-list button.remove {
- border-radius: 0 0 3px 3px;
+.form-field-input-radio {
+ flex: 1 1 auto;
+ display: flex;
+ flex-flow: row wrap;
}
-.toggle-list button.remove .icon {
- position: absolute;
- left: 5px;
+.form-field-input-radio > label {
+ flex: 1 1 auto;
+ display: flex;
+ flex-flow: row nowrap;
+ width: 100%;
+ padding: 5px 10px;
+ height: 30px;
+ background-color: #fff;
+ color: #7092ff;
+ cursor: pointer;
+}
+.form-field-input-radio > label:last-child {
+ border-radius: 0 0 4px 4px;
+}
+.form-field-input-radio > label:hover {
+ background-color: #ececec;
+}
+.form-field-input-radio > label.active {
+ background-color: #e8ebff;
+}
+.form-field-input-radio > label:not(:last-of-type) {
+ border-bottom: 1px solid #ccc;
+}
+.form-field-input-radio > label > input[type="radio"] {
+ flex: 0 1 auto;
+ width: 20px;
+}
+.form-field-input-radio > label > span {
+ flex: 1 1 auto;
+ overflow: hidden;
+ white-space: nowrap;
+ text-overflow: ellipsis;
}
-.toggle-list button.remove::before {
- content: none;
+
+/* Hide placeholder for radio buttons if another is active, or not in hover state */
+.form-field-input-radio label.active ~ .placeholder,
+.form-field-input-radio .placeholder {
+ padding: 0;
+ opacity: 0;
+ width: 0;
+ line-height: 0;
+ display: block;
+ overflow: hidden;
}
/* Field - Maxspeed
------------------------------------------------------- */
-#preset-input-maxspeed_advisory,
-#preset-input-maxspeed {
- border-right: none;
+.form-field-input-maxspeed > input:first-of-type {
border-radius: 0 0 0 4px;
- width: 80%;
}
-[dir='rtl'] #preset-input-maxspeed_advisory,
-[dir='rtl'] #preset-input-maxspeed {
- border-right: 1px solid #ccc;
+[dir='rtl'] .form-field-input-maxspeed > input:first-of-type {
border-radius: 0 0 4px 0;
}
-
-.form-field .maxspeed-unit {
+.form-field-input-maxspeed > input:last-of-type { /* unit field */
+ flex: 0 1 80px;
+ width: 80px;
+ border-left: 0;
border-radius: 0 0 4px 0;
- width: 20%;
}
-[dir='rtl'] .form-field .maxspeed-unit {
+[dir='rtl'] .form-field-input-maxspeed > input:last-of-type {
border-right: 0;
border-radius: 0 0 0 4px;
}
-/* Field - Wikipedia
-------------------------------------------------------- */
-.form-field .wiki-lang {
- border-radius: 0;
-}
-.form-field .wiki-title {
- padding-right: 20%;
-}
-[dir='rtl'] .form-field .wiki-title {
- padding-left: 20%;
- padding-right: 10px;
-}
-
-.form-field .wiki-title ~ .combobox-caret {
- right: 32px;
-}
-[dir='rtl'] .form-field .wiki-title ~ .combobox-caret {
- right: auto;
- left: 32px;
-}
-
-
/* Field - Localized Name
------------------------------------------------------- */
-.form-field .localized-main {
- padding-right: 12%;
+.form-field-input-localized > input.localized-main {
+ border-radius: 0 0 0 4px;
}
-[dir='rtl'] .form-field .localized-main {
- padding-left: 12%;
- padding-right: 10px;
+[dir='rtl'] .form-field-input-localized > input.localized-main {
+ border-radius: 0 0 4px 0;
}
-
-.form-field .button-input-action {
- position: relative;
- right: 1px;
- width: 32px;
- margin-left: -32px;
- border: 1px solid #ccc;
- border-top-width: 0;
- border-right-width: 0;
+.form-field-input-localized > button.localized-add {
border-radius: 0 0 4px 0;
- height: 30px;
- vertical-align: top;
}
-[dir='rtl'] .form-field .button-input-action {
- margin-left: 0;
- margin-right: -32px;
- border-right-width: 1px;
+[dir='rtl'] .form-field-input-localized > button.localized-add {
border-radius: 0 0 0 4px;
}
-.form-field .localized-wrap {
+.form-field-input-localized button.localized-add.disabled,
+.form-field-input-localized input.localized-main.disabled,
+.form-field-input-localized input.localized-lang.disabled,
+.form-field-input-localized input.localized-value.disabled {
+ color: #777;
+ background-color: #eee;
+ cursor: not-allowed;
+}
+
+/* nested subfields for name in different languages */
+.localized-multilingual {
padding: 0 10px;
+ flex-basis: 100%;
}
-.form-field .localized-wrap .entry {
+.localized-multilingual .entry {
position: relative;
overflow: hidden;
}
-.form-field .localized-wrap .entry::before {
+/* draws a little line connecting the multilingual field up to the name field */
+.localized-multilingual .entry::before {
content: "";
display: block;
position: absolute;
margin: auto;
}
-.form-field .localized-wrap .entry .localized-lang {
+.localized-multilingual .entry .localized-lang {
border-radius: 0;
border-top-width: 0;
+ width: 100%;
}
-.form-field .localized-wrap .entry .localized-value {
+.localized-multilingual .entry .localized-value {
border-top-width: 0;
border-radius: 0 0 4px 4px;
-}
-.form-field .localized-wrap .form-label button {
- border-top-right-radius: 3px;
+ width: 100%;
}
/* Field - Address
------------------------------------------------------- */
-.addr-row input {
+.form-field-input-address {
+ flex: 1 1 auto;
+ display: flex;
+ flex-flow: row wrap;
+ border: 1px solid #ccc;
+ border-top: 0px;
+}
+
+.addr-row {
+ flex: 1 1 auto;
+ display: flex;
+ width: 100%;
+ min-height: 30px;
+}
+
+.addr-row > input {
+ flex: 1 1 auto;
+ border-radius: 0;
border-right: 0;
border-bottom: 0;
}
.addr-row:first-of-type input {
border-top: 0;
}
-
.addr-row input:first-of-type {
border-left: 0;
}
[dir='rtl'] .addr-row input:first-of-type {
border-right: 0;
}
+.addr-row:last-of-type input:first-of-type {
+ border-radius: 0 0 0 4px;
+}
+[dir='rtl'] .addr-row:last-of-type input:first-of-type {
+ border-radius: 0 0 4px 0;
+}
+.addr-row:last-of-type input:last-of-type {
+ border-radius: 0 0 4px 0;
+}
+[dir='rtl'] .addr-row:last-of-type input:last-of-type {
+ border-radius: 0 0 0 4px;
+}
-.addr-row input {
- border-radius: 0;
+
+/* Field - Wikipedia
+------------------------------------------------------- */
+.form-field-input-wikipedia {
+ display: flex;
+ flex-flow: row wrap;
+ flex: 1 1 auto;
}
-.addr-row:last-of-type input:first-of-type {
+.wiki-lang-container,
+.wiki-title-container {
+ display: flex;
+ flex-flow: row nowrap;
+ flex: 1 1 auto;
+ width: 100%;
+}
+
+.wiki-lang-container > input.wiki-lang,
+.wiki-title-container > input.wiki-title {
+ flex: 1 1 auto;
+ border-top: 0;
+ border-radius: 0;
+}
+.wiki-title-container > input.wiki-title {
border-radius: 0 0 0 4px;
}
-[dir='rtl'] .addr-row:last-of-type input:first-of-type {
+[dir='rtl'] .wiki-title-container > input.wiki-title {
border-radius: 0 0 4px 0;
}
-
-.addr-row:last-of-type input:last-of-type {
+.wiki-title-container > button.wiki-link {
border-radius: 0 0 4px 0;
}
-[dir='rtl'] .addr-row:last-of-type input:last-of-type {
+[dir='rtl'] .wiki-title-container > button.wiki-link {
border-radius: 0 0 0 4px;
}
/* Field - Restriction Editor
------------------------------------------------------- */
-.form-field-restrictions .restriction-controls-container {
+.form-field-input-restrictions {
+ display: block;
+ border: 1px solid #ccc;
+ border-top: 0;
+ border-radius: 0 0 4px 4px;
+}
+
+.form-field-input-restrictions .restriction-controls-container {
background-color: #fff;
- border-top: 1px solid #ccc;
width: 100%;
padding: 5px;
+ border-top: 1px solid #ccc;
+ border-radius: 0 0 4px 4px;
}
.restriction-controls-container .restriction-controls {
vertical-align: middle;
}
-.form-field-restrictions .restriction-container {
+.form-field-input-restrictions .restriction-container {
position: relative;
height: 370px;
}
/* zero width space, so container takes up space */
-.form-field-restrictions .restriction-container:after {
+.form-field-input-restrictions .restriction-container:after {
content: '\200b';
}
-.form-field-restrictions svg.surface {
+.form-field-input-restrictions svg.surface {
width: 100%;
height: 100%;
}
.form-field-comment:not(.present) #preset-input-comment {
border-color: rgb(230, 100, 100);
}
-
-.form-field-comment:not(.present) .form-label {
+.form-field-comment:not(.present) .form-field-label {
border-color: rgb(230, 100, 100);
background: rgba(230, 100, 100, 0.2);
}
-
-.form-field-comment:not(.present) .form-label {
-}
-
-.form-field-comment:not(.present) .form-label-button-wrap {
- border-color: rgb(230, 100, 100);
-}
-
.form-field-comment:not(.present) button {
border-color: rgb(230, 100, 100);
}
width: 30px;
margin-left: -30px;
vertical-align: top;
+ cursor: pointer;
}
[dir='rtl'] .combobox-caret {
margin-left: 0;
border-right: 5px solid transparent;
}
+/* Remove the field's bottom border radius when combobox is open */
+/* For some reason this stops the combobox from overlapping the bottom of the field */
+.combobox + * textarea:focus,
+.combobox + * input:focus {
+ border-bottom-left-radius: 0 !important;
+ border-bottom-right-radius: 0 !important;
+}
+
/* Field Help
------------------------------------------------------- */
}
.field-help-nav-item.active {
color: #7092ff;
+ border-bottom: 2px solid;
}
.field-help-nav-item:hover {
color: #597be7;
}
+/* More Fields dropdown
+------------------------------------------------------- */
+.more-fields {
+ padding: 0 20px 20px 20px;
+ font-weight: bold;
+}
+.changeset-editor .more-fields {
+ padding: 15px 20px 0 20px;
+}
+
+.more-fields label {
+ display: flex;
+ flex-flow: row nowrap;
+ justify-content: space-between;
+ align-items: center;
+}
+
+.more-fields input {
+ margin-left: 10px;
+ flex: 1 1 50%;
+}
+[dir='rtl'] .more-fields input {
+ margin-left: auto;
+ margin-right: 10px;
+}
+
+.form-field-input-wrap .label {
+ height: 30px;
+ background: #f6f6f6;
+ padding: 5px 10px;
+}
+
+
/* Raw Tag Editor
------------------------------------------------------- */
.tag-list {
padding-top: 10px;
}
-
.tag-row {
width: 100%;
position: relative;
- clear: both;
+}
+.tag-row .inner-wrap {
+ display: flex;
+ flex-flow: row nowrap;
+ width: 100%;
+ position: relative;
+}
+.tag-row .key-wrap,
+.tag-row .value-wrap {
+ flex: 1 1 auto;
}
.tag-row.readonly,
.tag-row.readonly input.key,
.tag-row.readonly input.value,
.tag-row.readonly button.remove {
- color: #777777;
+ color: #777;
background-color: #eee;
cursor: not-allowed;
}
border-radius: 0;
border-bottom: 1px solid #ccc;
border-left: 1px solid #ccc;
+ width: 100%;
}
[dir='rtl'] .tag-row input {
border-left: none;
border-right: 1px solid #ccc;
}
-.tag-row .key-wrap,
-.tag-row .input-wrap-position {
- width: 40%;
- float: left;
- height: 30px;
-}
-[dir='rtl'] .tag-row .key-wrap,
-[dir='rtl'] .tag-row .input-wrap-position {
- float: right;
-}
.tag-row input.key {
font-weight: bold;
.tag-row:first-child input.value {
border-top: 1px solid #ccc;
}
-
.tag-row button {
- position: absolute;
+ flex: 0 0 32px;
height: 31px;
- right: 10%;
+ width: 32px;
border: 1px solid #ccc;
border-top-width: 0;
border-left-width: 0;
}
[dir='rtl'] .tag-row button {
- left: 10%;
border-left-width: 1px;
border-right-width: 0;
}
.tag-row button:hover {
background: #f1f1f1;
}
-
.tag-row button .icon {
opacity: .5;
}
-
.tag-row:first-child button {
border-top-width: 1px;
}
}
.tag-row .tag-reference-button {
- right: 0;
border-radius: 0;
- width: 10%;
- top: 0;
- background: #fafafa;
}
[dir='rtl'] .tag-row .tag-reference-button {
- left: auto;
- right: auto;
- margin-right: 35px;
border-left-width: 1px;
border-right-width: 0;
}
background: rgba(0,0,0,.5);
border-radius: 0 0 4px 4px;
}
-
+.raw-tag-editor .add-tag:focus,
.raw-tag-editor .add-tag:hover {
background: rgba(0,0,0,.8);
}
-
.raw-tag-editor .add-tag .label {
display: none;
}
/* Tag reference */
-button.minor.tag-reference-loading {
+.tag-reference-loading {
background-color: #f5f5f5;
}
-
.tag-reference-loading .icon {
background-image: url(<%= asset_path("iD/img/mini-loader.gif") %>);
background-position: 0 0;
}
.tag-reference-body {
+ flex: 1 1 auto;
+ width: 100%;
overflow: hidden;
- clear: both;
}
-
.tag-reference-body .tag-reference-description {
margin: 10px 5px 0 5px;
}
-
.tag-reference-body a {
display: block;
}
-
.tag-reference-body .tag-reference-description:last-child,
.tag-reference-body a:last-child {
margin-bottom: 15px;
position: relative;
width: 100%;
}
-
.raw-tag-editor .tag-reference-body {
- float: left;
width: 100%;
}
-
.raw-tag-editor .tag-row.readonly .tag-reference-body {
background: #f6f6f6;
color: #333;
}
-
-.raw-tag-editor .tag-row:not(:last-child) .tag-reference-body {
+.raw-tag-editor .tag-row:not(:last-child) .tag-reference-body.expanded {
border-bottom: 1px solid #ccc;
}
-
.raw-tag-editor .tag-row.readonly .tag-reference-body.expanded {
border-top: 1px solid #ccc;
}
-img.tag-reference-wiki-image {
- float: right;
- width: 33.3333%;
- width: -webkit-calc(33.3333% - 10px);
- width: calc(33.3333% - 10px);
- border-radius: 4px;
- max-height: 200px;
- margin: 10px 5px 15px 20px;
-}
-
/* Raw Member / Membership Editor
------------------------------------------------------- */
.raw-membership-editor .member-list li:first-child {
padding-top: 10px;
}
-
-.raw-member-editor .member-row,
-.raw-membership-editor .member-row {
- position: relative;
-}
-
.raw-member-editor .member-row .member-entity-name,
.raw-membership-editor .member-row .member-entity-name {
font-weight: normal;
padding-left: 10px;
}
+.form-field-input-member > input.member-role {
+ border-radius: 0 0 0 4px;
+}
+[dir='rtl'] .form-field-input-member > input.member-role {
+ border-radius: 0 0 4px 0;
+}
+
+.member-incomplete .form-field-input-member > input.member-role,
+[dir='rtl'] .member-incomplete .form-field-input-member > input.member-role {
+ border-radius: 0 0 4px 4px;
+}
+
.member-incomplete .member-delete {
display: none;
}
.member-row-new .member-entity-input {
+ flex: 1 1 100%;
border-radius: 4px 4px 0 0;
- border: 1px solid #cfcfcf;
+ border: 0;
}
.add-relation {
border-radius: 4px;
margin-top: 10px;
}
-
+.add-relation:focus,
.add-relation:hover {
background: rgba(0,0,0,.8);
}
+/* preserve extra space at bottom of inspector to allow for dropdown options - #5280 */
+.raw-membership-editor.inspector-inner {
+ margin-bottom: 150px;
+}
+
/* hidden field to prevent user from tabbing out of the sidebar */
input.key-trap {
height: 0px;
}
+/* Inspector (hover styles)
+------------------------------------------------------- */
+.inspector-hover .form-field-input-wrap .label,
+.inspector-hover .form-field-input-multicombo .chiplist,
+.inspector-hover .form-field-button,
+.inspector-hover .structure-extras-wrap,
+.inspector-hover .comments-container .comment,
+.inspector-hover button,
+.inspector-hover input,
+.inspector-hover textarea,
+.inspector-hover label {
+ background: #ececec;
+}
+.inspector-hover .preset-list-button,
+.inspector-hover .tag-row input {
+ background: #f6f6f6;
+}
+
+.inspector-hover a,
+.inspector-hover .form-field-input-multicombo .chips,
+.inspector-hover .form-field-input-check span {
+ color: #666;
+}
+
+.inspector-hover .form-field-input-multicombo .chips {
+ background: #eee;
+ border: 1px solid #ccc;
+}
+
+/* no scrollbars */
+.inspector-hover div {
+ overflow-x: hidden;
+ overflow-y: hidden;
+}
+
+/* hide and remove from layout */
+.inspector-hidden,
+.inspector-hover .preset-list-button-wrap .tag-reference-button,
+.inspector-hover label input[type="checkbox"],
+.inspector-hover label input[type="radio"],
+.inspector-hover .form-field-input-multicombo .combobox-input,
+.inspector-hover .form-field-input-radio label,
+.inspector-hover .form-field-input-radio label span,
+.inspector-hover .form-field-input-radio label.remove .icon,
+.inspector-hover .inspector-inner .add-tag,
+.inspector-hover .inspector-inner .add-relation {
+ display: none;
+}
+
+/* hide but preserve in layout */
+.inspector-hover .combobox-caret,
+.inspector-hover .header button,
+.inspector-hover .form-field-input-multicombo .chips .remove,
+.inspector-hover .hide-toggle:before,
+.inspector-hover .more-fields,
+.inspector-hover .form-field-label button,
+.inspector-hover .tag-row button,
+.inspector-hover .footer * {
+ opacity: 0;
+}
+
+/* Styles for raw tag inspector on hover */
+.inspector-hover .tag-row .key-wrap,
+.inspector-hover .tag-row .value-wrap {
+ height: 31px;
+}
+
+.inspector-hover .tag-row:first-child input.value {
+ border-top-right-radius: 4px;
+}
+[dir='rtl'] .inspector-hover .tag-row:first-child input.value {
+ border-top-right-radius: 0;
+ border-top-left-radius: 4px;
+}
+
+.inspector-hover .tag-row:last-child input.value {
+ border-bottom-right-radius: 4px;
+}
+[dir='rtl'] .inspector-hover .tag-row:last-child input.value {
+ border-bottom-right-radius: 0;
+ border-bottom-left-radius: 4px;
+}
+
+.inspector-hover .tag-row:last-child input.key {
+ border-bottom-left-radius: 4px;
+}
+[dir='rtl'] .inspector-hover .tag-row:last-child input.key {
+ border-bottom-left-radius: 0;
+ border-bottom-right-radius: 4px;
+}
+
+.inspector-hover .more-fields {
+ max-height: 0;
+ margin-bottom: -10px;
+}
+
+/* Unstyle button fields */
+.inspector-hover .form-field-input-radio label.active,
+.inspector-hover .entity-editor-pane a.hide-toggle {
+ opacity: 1;
+ background-color: transparent;
+ color: #666;
+ padding-left: 0;
+ border-width: 0;
+}
+.inspector-hover .form-field-input-radio button.active {
+ padding-left: 10px;
+}
+
+/* Show placeholder on hover for radio buttons */
+.inspector-hover .form-field-input-radio {
+ border: 1px solid #ccc;
+ border-top: 0;
+ border-radius: 0 0 4px 4px;
+}
+.inspector-hover .form-field-input-radio .placeholder {
+ opacity: 1;
+ color: #666;
+ padding: 5px 10px;
+ line-height: 20px;
+ width: 100%;
+ border: 0;
+}
+.inspector-hover .form-field-input-radio .structure-extras-wrap {
+ border: 0;
+}
+
+
/* OSM Note Editor
------------------------------------------------------- */
.note-header {
display: none;
}
.data-editor.raw-tag-editor .tag-row .key-wrap,
-.data-editor.raw-tag-editor .tag-row .input-wrap-position {
+.data-editor.raw-tag-editor .tag-row .value-wrap {
width: 50%;
}
/* Fullscreen Button (disabled)
------------------------------------------------------- */
div.full-screen {
- float: right;
+ display: inline-block;
width: 40px;
margin-right: 10px;
+ display: none;
}
div.full-screen .tooltip {
top: 60px;
bottom: 30px;
right: 0;
+ width: 33.3333%;
+ max-width: 400px;
padding-bottom: 50px;
overflow: hidden;
z-index: -1;
right: auto !important;
}
+.map-pane.help-wrap {
+ width: 50.0000%;
+ max-width: 600px;
+}
+
.pane-heading {
display: flex;
flex-flow: row nowrap;
text-align: center;
}
+.modal-section.buttons button {
+ min-width: 130px;
+}
+
.modal-section.buttons .action {
display: inline-block;
margin: 0 10px;
}
.modal-shortcuts .tab.active {
color: #7092ff;
+ border-bottom: 2px solid;
}
.modal-shortcuts .tab:hover {
color: #597be7;
.settings-modal textarea {
height: 70px;
}
-.settings-modal .buttons .button.col3 {
- float: none; /* undo float left */
-}
.settings-custom-background .instructions-template {
margin-bottom: 20px;
display: none;
color: #333;
font-size: 12px;
+ white-space: initial;
}
.tooltip.in {
}
/* Move over tooltips that are near the edge of screen */
-.add-point .tooltip {
- left: 33.3333% !important;
-}
-[dir='rtl'] .add-point .tooltip {
- left: inherit !important;
-}
-
-.add-point .tooltip .tooltip-arrow {
- left: 60px;
+button.sidebar-toggle .tooltip .tooltip-arrow {
+ left: 32px;
}
-[dir='rtl'] .add-point .tooltip .tooltip-arrow {
+[dir='rtl'] button.sidebar-toggle .tooltip .tooltip-arrow {
left: auto;
- right: 60px;
+ right: 32px;
}
li:first-of-type .badge .tooltip,
}
-/* Media Queries
-------------------------------------------------------- */
-@media only screen and (max-width: 840px) {
- /* override hide for save button */
- #bar .save .label { display: block;}
-}
-@media screen and (max-width: 1200px) {
- .user-list { display: none !important; }
-}
-@media screen and (max-width: 1000px) {
- #userLink { display: none !important; }
-}
-@media screen and (max-width: 900px) {
- #scale-block { display: none !important; }
-}
-
-
/* Scrollbars
----------------------------------------------------- */
::-webkit-scrollbar {
width: 100px;
color: #7092ff;
}
-
-