+.mode-select .area,
+.mode-browse .area {
+ cursor: pointer; /* Opera */
+ cursor: url(<%= asset_path("iD/img/cursor-select-area.png") %>), pointer; /* FF */
+}
+
+.mode-select .midpoint,
+.mode-browse .midpoint {
+ cursor: pointer; /* Opera */
+ cursor: url(<%= asset_path("iD/img/cursor-select-split.png") %>), pointer; /* FF */
+}
+
+.mode-select .behavior-multiselect .point,
+.mode-select .behavior-multiselect .vertex,
+.mode-select .behavior-multiselect .line,
+.mode-select .behavior-multiselect .area {
+ cursor: pointer; /* Opera */
+ cursor: url(<%= asset_path("iD/img/cursor-select-add.png") %>), pointer; /* FF */
+}
+
+.mode-select .behavior-multiselect .selected {
+ cursor: pointer; /* Opera */
+ cursor: url(<%= asset_path("iD/img/cursor-select-remove.png") %>), pointer; /* FF */
+}
+
+.mode-draw-line #map,
+.mode-draw-area #map,
+.mode-add-line #map,
+.mode-add-area #map,
+.mode-drag-node #map,
+.mode-drag-note #map {
+ cursor: crosshair; /* Opera */
+ cursor: url(<%= asset_path("iD/img/cursor-draw.png") %>) 9 9, crosshair; /* FF */
+}
+
+.mode-draw-line .way.target,
+.mode-draw-area .way.target,
+.mode-add-line .way.target,
+.mode-add-area .way.target,
+.mode-drag-node .way.target {
+ cursor: crosshair; /* Opera */
+ cursor: url(<%= asset_path("iD/img/cursor-draw-connect-line.png") %>) 9 9, crosshair; /* FF */
+}
+
+.mode-draw-line .vertex.target,
+.mode-draw-area .vertex.target,
+.mode-add-line .vertex.target,
+.mode-add-area .vertex.target,
+.mode-drag-node .vertex.target {
+ cursor: crosshair; /* Opera */
+ cursor: url(<%= asset_path("iD/img/cursor-draw-connect-vertex.png") %>) 9 9, crosshair; /* FF */
+}
+
+.mode-add-point #map,
+.mode-add-note #map,
+.mode-browse.lasso #map,
+.mode-browse.lasso .way,
+.mode-browse.lasso .vertex,
+.mode-browse.lasso .midpoint,
+.mode-select.lasso #map,
+.mode-select.lasso .way,
+.mode-select.lasso .vertex,
+.mode-select.lasso .midpoint {
+ cursor: crosshair; /* Opera */
+ cursor: url(<%= asset_path("iD/img/cursor-draw.png") %>) 9 9, crosshair; /* FF */
+}
+
+.turn rect,
+.turn circle {
+ cursor: pointer;
+}
+/* photo viewer div */
+#photoviewer {
+ position: absolute;
+ bottom: 30px;
+ width: 330px;
+ height: 250px;
+ padding: 5px;
+ background-color: #fff;
+}
+
+@media screen and (min-width: 1600px) {
+ #photoviewer {
+ width: 490px;
+ height: 370px;
+ }
+}
+
+#photoviewer button.thumb-hide {
+ border-radius: 0;
+ padding: 5px;
+ position: absolute;
+ right: 5px;
+ top: 5px;
+ z-index: 50;
+}
+
+#photoviewer button.resize-handle-xy {
+ border-radius: 0;
+ position: absolute;
+ top: 0;
+ right: 0;
+ z-index: 49;
+ cursor: nesw-resize;
+ height: 25px;
+ width: 25px;
+}
+
+#photoviewer button.resize-handle-x {
+ border-radius: 0;
+ position: absolute;
+ top: 0;
+ right: 0;
+ bottom: 0;
+ z-index: 48;
+ cursor: ew-resize;
+ height: auto;
+ width: 6px;
+}
+
+#photoviewer button.resize-handle-y {
+ border-radius: 0;
+ position: absolute;
+ top: 0;
+ right: 0;
+ z-index: 48;
+ cursor: ns-resize;
+ height: 6px;
+ width: 100%;
+}
+
+
+.photo-wrapper,
+.photo-wrapper img {
+ width: 100%;
+ height: 100%;
+ overflow: hidden;
+ object-fit: cover;
+}
+
+.photo-wrapper .photo-attribution {
+ position: absolute;
+ bottom: 0;
+ right: 0;
+ width: 100%;
+ font-size: 10px;
+ text-align: right;
+ line-height: 1.1em;
+ padding: 4px 2px;
+ z-index: 10;
+}
+
+.photo-attribution a,
+.photo-attribution a:visited,
+.photo-attribution span {
+ padding: 4px 2px;
+ color: #fff;
+}
+
+/* markers and sequences */
+.viewfield-group {
+ pointer-events: visible;
+ cursor: pointer;
+}
+
+.viewfield-group.selected * {
+ fill: #ffee00 !important;
+}
+.viewfield-group.hovered * {
+ fill: #eebb00 !important;
+}
+
+.viewfield-group circle {
+ stroke: #555;
+ stroke-width: 1;
+ stroke-opacity: 0.4;
+ fill-opacity: 0.4;
+}
+.viewfield-group.highlighted circle {
+ stroke: #222;
+ stroke-opacity: 0.9;
+ fill-opacity: 0.9;
+}
+.viewfield-group.highlighted.hovered circle {
+ stroke: #222;
+ stroke-width: 2;
+ stroke-opacity: 0.9;
+ fill-opacity: 0.9;
+}
+.viewfield-group.highlighted.selected circle {
+ stroke: #222;
+ stroke-width: 2;
+ stroke-opacity: 1;
+ fill-opacity: 1;
+}
+
+.viewfield-group .viewfield {
+ stroke-width: 0;
+ stroke: #222;
+ fill-opacity: 0.4;
+}
+.viewfield-group.highlighted .viewfield {
+ stroke-width: 1;
+ fill-opacity: 0.8;
+}
+.viewfield-group.highlighted.hovered .viewfield {
+ stroke-width: 1;
+ fill-opacity: 0.8;
+}
+.viewfield-group.highlighted.selected .viewfield {
+ stroke-width: 1;
+ fill-opacity: 0.9;
+}
+
+.viewfield-group.selected .viewfield-scale {
+ transform: scale(2,2);
+}
+
+.sequence {
+ fill: none;
+ stroke-width: 2;
+ stroke-opacity: 0.4;
+}
+.sequence.highlighted,
+.sequence.selected {
+ stroke-width: 4;
+ stroke-opacity: 1;
+}
+
+
+/* Streetside Image Layer */
+.layer-streetside-images {
+ pointer-events: none;
+}
+.layer-streetside-images .viewfield-group * {
+ fill: #0fffc4;
+}
+.layer-streetside-images .sequence {
+ stroke: #0fffc4;
+ stroke-opacity: 0.85; /* bump opacity - only one per road */
+}
+
+
+/* Mapillary Image Layer */
+.layer-mapillary-images {
+ pointer-events: none;
+}
+.layer-mapillary-images .viewfield-group * {
+ fill: #55ff22;
+}
+.layer-mapillary-images .sequence {
+ stroke: #55ff22;
+}
+
+
+/* Mapillary Sign Layer */
+.layer-mapillary-signs {
+ pointer-events: none;
+}
+.layer-mapillary-signs .icon-sign {
+ outline: 2px solid transparent;
+ pointer-events: visible;
+ cursor: pointer;
+}
+.layer-mapillary-signs .icon-sign:hover {
+ outline: 5px solid #eebb00;
+ background-color: #eebb00;
+}
+.layer-mapillary-signs .icon-sign.selected {
+ outline: 5px solid #ffee00;
+ background-color: #ffee00;
+}
+
+
+/* OpenStreetCam Image Layer */
+.layer-openstreetcam-images {
+ pointer-events: none;
+}
+.layer-openstreetcam-images .viewfield-group * {
+ fill: #20c4ff;
+}
+.layer-openstreetcam-images .sequence {
+ stroke: #20c4ff;
+}
+
+
+/* Streetside Viewer (pannellum) */
+.ms-wrapper .photo-attribution .image-link {
+ display: block;
+}
+.ms-wrapper .photo-attribution .attribution-row {
+ display: flex;
+ flex-flow: row nowrap;
+ justify-content: space-between;
+ align-items: center;
+ padding: 0 5px;
+}
+.ms-wrapper .photo-attribution .image-view-link {
+ text-align: left;
+ margin: 0 5px;
+}
+.ms-wrapper .photo-attribution .image-report-link {
+ text-align: right;
+}
+
+.ms-wrapper .photo-attribution a:active,
+.ms-wrapper .photo-attribution a:hover {
+ color: #0fffc4;
+}
+
+.ms-wrapper .pnlm-compass.pnlm-control {
+ width: 26px;
+ height: 26px;
+ left: 4px;
+ top: 60px;
+ background-size: contain;
+ background-repeat: no-repeat no-repeat;
+}
+
+label.streetside-hires {
+ cursor: pointer;
+}
+.streetside-hires span {
+ margin-top: 2px;
+}
+.streetside-hires input[type="checkbox"] {
+ float: left;
+ width: 12px;
+ height: 12px;
+ margin: 0 5px;
+}
+
+
+/* Mapillary viewer */
+#mly .domRenderer .TagSymbol {
+ font-size: 10px;
+ background-color: rgba(0,0,0,0.4);
+ padding: 0 4px;
+ border-radius: 4px;
+ top: -25px;
+}
+#mly .domRenderer .Attribution {
+ /* we will roll our own to avoid async update issues like #4526 */
+ display: none;
+}
+
+.mly-wrapper .photo-attribution a:active,
+.mly-wrapper .photo-attribution a:hover {
+ color: #35af6d;