/* photo viewer div */ .photoviewer { position: relative; flex-shrink: 0; margin-bottom: 10px; width: 330px; height: 250px; padding: 5px; background-color: #fff; } .ideditor[dir='ltr'] .photoviewer { margin-left: 10px; margin-right: 2px; } .ideditor[dir='rtl'] .photoviewer { margin-right: 10px; margin-left: 2px; } @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 { width: 100%; height: 100%; overflow: hidden; } .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: none; } .ideditor.mode-browse .viewfield-group, .ideditor.mode-select .viewfield-group, .ideditor.mode-select-data .viewfield-group, .ideditor.mode-select-error .viewfield-group, .ideditor.mode-select-note .viewfield-group { pointer-events: visible; cursor: pointer; } .viewfield-group.currentView * { 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.currentView 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.currentView .viewfield { stroke-width: 1; fill-opacity: 0.9; } .viewfield-group.currentView .viewfield-scale { transform: scale(2,2); } .sequence { fill: none; stroke-width: 2; stroke-opacity: 0.4; } .sequence.highlighted, .sequence.currentView { 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 */ } /* Vegbilder Image Layer */ .layer-vegbilder { pointer-events: none; } .layer-vegbilder .viewfield-group * { fill: #ed9300; } .layer-vegbilder .sequence { stroke: #ed9300; stroke-opacity: 0.85; /* bump opacity - only one per road */ } /* Mapillary Image Layer */ .layer-mapillary { pointer-events: none; } .layer-mapillary .viewfield-group * { fill: #55ff22; } .layer-mapillary .sequence { stroke: #55ff22; } /* Mapillary Traffic Signs and Map Features Layers */ .layer-mapillary-detections { pointer-events: none; } .layer-mapillary-detections .icon-detected { outline: 2px solid transparent; pointer-events: visible; cursor: pointer; opacity: 0.75; } .layer-mapillary-detections .icon-detected rect { fill: none; } .layer-mapillary-detections .icon-detected:active { opacity: 1; } .layer-mapillary-detections .icon-detected:active rect { outline: 3px solid rgba(255, 238, 0, 0.6); } @media (hover: hover) { .layer-mapillary-detections .icon-detected:hover { opacity: 1; } .layer-mapillary-detections .icon-detected:hover rect { outline: 3px solid rgba(255, 238, 0, 0.6); } } .layer-mapillary-detections .icon-detected.currentView { opacity: 1; } .layer-mapillary-detections .icon-detected.currentView rect { outline: 3px solid rgba(255, 238, 0, 1); } /* KartaView Image Layer */ .layer-kartaview { pointer-events: none; } .layer-kartaview .viewfield-group * { fill: #20c4ff; } .layer-kartaview .sequence { stroke: #20c4ff; } /* Mapilio Image Layer */ .layer-mapilio { pointer-events: none; } .layer-mapilio .viewfield-group * { fill: #0056f1; stroke: #ffffff; stroke-opacity: .6; fill-opacity: .6; } .layer-mapilio .sequence { stroke: #0056f1; } .photo-controls-mapilio { display: flex; align-items: center; justify-content: center; gap: 4px; } .photo-controls-mapilio button { padding:0 6px; pointer-events: initial; } .ideditor .mapilio-wrapper { position: relative; background-color: #000; background-image: url(img/loader-black.gif); background-position: center; background-repeat: no-repeat; } #ideditor-viewer-mapilio-simple-wrap { height: 100%; } #ideditor-viewer-mapilio-simple { width: 100%; height: 100%; transform-origin: 0 0; } /* 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 { color: #0fffc4; } @media (hover: hover) { .ms-wrapper .photo-attribution a:hover { color: #0fffc4; } } .ms-wrapper .pnlm-compass.pnlm-control, .vegbilder-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; } .pnlm-zoom-controls { margin-top: 6px; } /* Mapillary viewer */ #ideditor-mly .domRenderer .TagSymbol { font-size: 10px; background-color: rgba(0,0,0,0.4); padding: 0 4px; border-radius: 4px; top: -25px; } .mly-wrapper .mapillary-attribution-container { display: flex; align-items: center; } .mly-wrapper .mapillary-attribution-container .mapillary-attribution-icon-container { display: flex; align-items: center; } .mly-wrapper .mapillary-attribution-container .mapillary-attribution-username { display: none; } .mly-wrapper .mapillary-attribution-container .mapillary-attribution-date { margin-right: 6px; } /* KartaView viewer */ .kartaview-wrapper { position: relative; background-color: #000; background-image: url(img/loader-black.gif); background-position: center; background-repeat: no-repeat; } .kartaview-wrapper img { width: 100%; height: 100%; overflow: hidden; object-fit: cover; } .kartaview-wrapper .photo-attribution a:active { color: #20c4ff; } @media (hover: hover) { .kartaview-wrapper .photo-attribution a:hover { color: #20c4ff; } } .kartaview-image-wrap { width: 100%; height: 100%; transform-origin: 0 0; } .photo-wrapper { position: relative; background-color: #000; } .photoviewer .plane-frame { display: block; overflow: hidden; height: 100%; width: 100%; background-image: url(img/loader-black.gif); background-position: center; background-repeat: no-repeat; } .photoviewer .plane-frame > img.plane-photo{ width: auto; height: 100%; transform-origin: 0 0; } /* photo-controls (step forward, back, rotate) */ .photo-controls-wrap { text-align: center; position: absolute; top: 10px; width: 100%; z-index: 10; pointer-events: none; } .photo-controls { display: inline-block; z-index: 10; pointer-events: initial; } .photo-controls button, .photo-controls button:focus { height: 18px; width: 18px; line-height: 18px; background: rgba(0,0,0,0.65); color: #eee; border-radius: 0; } .photo-controls button:first-of-type { border-radius: 3px 0 0 3px; } .photo-controls button:last-of-type { border-radius: 0 3px 3px 0; } .photo-controls button:active { background: rgba(0,0,0,0.85); color: #fff; } @media (hover: hover) { .photo-controls button:hover { background: rgba(0,0,0,0.85); color: #fff; } } /* local georeferenced photos */ .layer-local-photos { pointer-events: none; } .layer-local-photos .viewfield-group * { fill: #ed00d9; } .local-photos { display: flex; } .local-photos > div { width: 50%; } .local-photos > div:first-child { margin-right: 20px; } .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; } .list-local-photos::-webkit-scrollbar { border-left: none; } .list-local-photos li { list-style: none; display: flex; justify-content: space-between; height: 30px; } .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; } .list-local-photos li:first-child span.filename { border-top: 1px solid #ccc; border-top-left-radius: 4px; } .list-local-photos li:first-child button { border-top: 1px solid #ccc; } .list-local-photos li:first-child button.remove { border-top-right-radius: 4px; } .list-local-photos li:last-child span.filename { border-bottom-left-radius: 4px; } .list-local-photos li:last-child button.remove { border-bottom-right-radius: 4px; } .list-local-photos li.invalid span.filename { color: #ccc; } .list-local-photos li.invalid button.zoom-to-data { display: none; } .list-local-photos li button.no-geolocation { display: none; } .list-local-photos li.invalid button.no-geolocation { display: block; } .list-local-photos .placeholder div { display: block; height: 40px; width: 40px; background-position: center; background-size: cover; background-repeat: no-repeat; background-image: url(img/loader-black.gif); filter: invert(1); } .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; }