Files
iD/css/app.css
2013-01-10 23:18:11 -05:00

1050 lines
19 KiB
CSS

/* Basics
------------------------------------------------------- */
body {
font:normal 12px/1.6666 'Helvetica Neue', Arial, sans-serif;
margin:0;
padding:0;
color:#222;
/* text-rendering: optimizeLegibility; */
-webkit-font-smoothing: subpixel-antialiased;
}
#iD {
height: 100%;
width: 100%;
position: fixed;
}
div, textarea, input, span, ul, li, ol, a, button {
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
box-sizing: border-box;
}
/* Mobile Tweaks
------------------------------------------------------- */
a, button, input, textarea {
-webkit-tap-highlight-color:rgba(0,0,0,0);
-webkit-touch-callout:none;
}
h2 {
font-size: 25px;
line-height: 1.6;
font-weight: bold;
margin-bottom: 10px;
}
h3:last-child,
h2:last-child,
h4:last-child { margin-bottom: 0;}
h3 {
font-size: 18px;
line-height: 1.3333;
font-weight: bold;
margin-bottom: 10px;
}
h4 {
font-size: 12px;
font-weight: normal;
font-style: italic;
padding-bottom: 10px;
}
h5 {
font-size: 12px;
font-weight: bold;
padding-bottom: 10px;
}
:focus {
outline-color: transparent;
outline-style: none;
}
p {
margin:0;
padding:0;
}
em {
font-style: italic;
}
strong {
font-style: bold;
}
a:visited, a {
color: #7092ff;
}
a:hover {
color:#154dff;
}
textarea,
input[type=text] {
background-color: white;
border:1px solid #ccc;
padding:10px;
}
input[type=text] {
padding:4px 10px;
height:30px;
}
textarea:focus,
input[type=text]:focus {
background-color: #ececec;
}
/* tables */
table {
background-color: white;
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;
}
/* UI Lists
------------------------------------------------------- */
ul li { list-style: none;}
ul.toggle-list li a {
font-weight: bold;
padding: 10px;
border-top: 1px solid #CCC;
display:block;
}
ul.toggle-list li a:hover {
background: #ececec;
}
ul.toggle-list .icon {
float: left;
margin-right: 5px;
}
a.selected {
color:#222;
}
ul.link-list li {
float: left;
display: inline-block;
margin-left: 10px;
padding-left: 10px;
border-left: 1px solid white;
}
ul.link-list li:first-child {
border-left: 0;
margin-left: 0;
padding-left: 0;
}
/* Utility Classes
------------------------------------------------------- */
.fillL { background-color: white;}
.fillL2 { background: #f7f7f7 url(../img/background-pattern-1.png) repeat;}
.fillD {
background-color: #222222;
background-color: rgba(0,0,0,.8);
color: white;
}
.fl { float: left;}
.fr { float: right;}
div.hide,
form.hide {
display:none;
}
.content {
background-color:#fff;
border-radius: 4px;
border: 1px solid #ccc;
}
.pad1 {padding: 10px;}
.pad2 {padding: 20px;}
.margin1 {margin: 10px;}
.margin2 {margin: 20px;}
/* Buttons */
button {
line-height:20px;
border:1px solid #aaa;
box-shadow: inset 0 0 0px 1px #fff;
color:#222;
background: white;
font-weight:bold;
font-size:14px;
display: inline-block;
height:40px;
cursor:url(../img/cursor-pointer.png) 6 1, auto;
}
button:hover {
background-color: #ececec;
}
button.active {
box-shadow: inset 0 0 0px 1px #fff, inset 0 0 6px 1px rgba(0,0,0,.35);
cursor:url(../img/cursor-pointing.png) 6 1, auto;
}
button.active:not([disabled]) {
background-color: #ececec;
box-shadow: inset 0 0 0px 1px #fff, inset 0 0 6px 1px rgba(0,0,0,.25);
}
button.wide,
button.narrow {
border-radius:4px;
}
button.wide {
margin: 10px;
width: 100px;
}
button.add-button {
width: 80px;
}
button.narrow,
button.Browse {
width:40px;
}
button.minor {
border-radius:4px;
height: 20px;
width: 20px;
margin: 5px;
border: 0;
box-shadow: none;
background-color: transparent;
}
button.minor:hover {
background: white;
}
button.centered {
display: block;
margin-left: auto;
margin-right: auto;
}
.buttons-joined {
display: inline-block;
margin:10px;
}
.buttons-joined button {
border-right-width: 0;
border-radius:0;
margin: 0;
}
.buttons-joined button:first-child {
border-radius:4px 0 0 4px;
}
.buttons-joined button:last-child {
border-right-width: 1px;
border-radius:0 4px 4px 0;
}
button.action {
background-color: #7092ff;
}
button.action:hover {
background-color: #6282ee;
}
button.delete {
background-color: #ff7070;
}
button.delete:hover {
background-color: #ef5454;
}
button.save {
background-color: #6bc641;
min-width: 120px;
width: auto;
position: relative;
}
button.save.has-count {
padding: 9px;
}
button.save .count {
display: none;
}
button.save.has-count .count {
display: block;
color: #6bc641;
background: #fff;
border-radius: 0 3px 3px 0;
padding: 9px;
float: right;
margin-left: 10px;
margin-top: -9px;
margin-right: -8px;
}
button.save:hover {
background-color: #59ac33;
}
button.close {
position: absolute;
top: 10px;
right: 10px;
}
button .label {
margin-right: 3px;
}
button.action .label {
color: white;
text-shadow: 0 -1px 0 rgba(0,0,0,.25);
}
button[disabled] {
cursor:auto;
background: white;
pointer-events:none;
}
button[disabled] .label {
color:#ccc;
text-shadow: none;
}
button[disabled]:hover {
background: white;
}
/* Icons */
.icon {
display:inline-block;
vertical-align:top;
width:20px;
height:20px;
background:transparent url(../img/sprite.png) no-repeat 0px 0px;
text-indent:-9999px;
overflow:hidden;
}
.icon.big {
width: 40px;
height: 40px;
}
.icon.icon-pre-text {
margin-right: 3px;
}
/* Definitions for every icon */
.icon.browse { background-position: 0px 0px;}
.icon.add-point { background-position: -20px 0px;}
.icon.add-line { background-position: -40px 0px;}
.icon.add-area { background-position: -60px 0px;}
.icon.undo { background-position: -80px 0px;}
.icon.redo { background-position: -100px 0px;}
.icon.apply { background-position: -120px 0px;}
.icon.save { background-position: -140px 0px;}
.icon.close { background-position: -160px 0px;}
.icon.delete { background-position: -180px 0px;}
.icon.remove { background-position: -200px 0px;}
.icon.inspect { background-position: -220px 0px;}
.icon.zoom-in { background-position: -240px 0px;}
.icon.zoom-out { background-position: -260px 0px;}
.icon.geocode { background-position: -280px 0px;}
.icon.layers { background-position: -300px 0px;}
.icon.avatar { background-position: -320px 0px;}
.icon.nearby { background-position: -340px 0px;}
.fillD .icon.browse { background-position: 0px -20px;}
.fillD .icon.add-point { background-position: -20px -20px;}
.fillD .icon.add-line { background-position: -40px -20px;}
.fillD .icon.add-area { background-position: -60px -20px;}
.fillD .icon.undo { background-position: -80px -20px;}
.fillD .icon.redo { background-position: -100px -20px;}
.fillD .icon.apply { background-position: -120px -20px;}
.fillD .icon.save { background-position: -140px -20px;}
.fillD .icon.close { background-position: -160px -20px;}
.fillD .icon.delete { background-position: -180px -20px;}
.fillD .icon.remove { background-position: -200px -20px;}
.fillD .icon.inspect { background-position: -220px -20px;}
.fillD .icon.zoom-in { background-position: -240px -20px;}
.fillD .icon.zoom-out { background-position: -260px -20px;}
.fillD .icon.geocode { background-position: -280px -20px;}
.fillD .icon.layers { background-position: -300px -20px;}
.fillD .icon.avatar { background-position: -320px -20px;}
.fillD .icon.nearby { background-position: -340px -20px;}
button[disabled] .icon.browse { background-position: 0px -40px;}
button[disabled] .icon.add-point { background-position: -20px -40px;}
button[disabled] .icon.add-line { background-position: -40px -40px;}
button[disabled] .icon.add-area { background-position: -60px -40px;}
button[disabled] .icon.undo { background-position: -80px -40px;}
button[disabled] .icon.redo { background-position: -100px -40px;}
button[disabled] .apply.icon { background-position: -120px -40px;}
button[disabled] .save.icon { background-position: -140px -40px;}
button[disabled] .close.icon { background-position: -160px -40px;}
button[disabled] .delete.icon { background-position: -180px -40px;}
button[disabled] .icon.remove { background-position: -200px -40px;}
button[disabled] .icon.inspect { background-position: -220px -40px;}
button[disabled] .icon.zoom-in { background-position: -240px -40px;}
button[disabled] .icon.zoom-out { background-position: -260px -40px;}
button[disabled] .icon.geocode { background-position: -280px -40px;}
button[disabled] .icon.layers { background-position: -300px -40px;}
button[disabled] .icon.avatar { background-position: -320px -40px;}
button[disabled] .icon.nearby { background-position: -340px -40px;}
.icon.big-line { background-position: 0px -80px;}
.icon.big-point { background-position: -40px -80px;}
.icon.big-area { background-position: -80px -80px;}
.icon.big-vertex { background-position: -120px -80px;}
.icon.big-inspect { background-position: -160px -80px;}
/* Toggle Icon is special */
.toggle.icon { background-position: 0px -180px;}
a:hover .toggle.icon { background-position: -20px -180px;}
.selected .toggle.icon,
a.selected:hover .toggle.icon { background-position: -40px -180px;}
/* ToolBar / Persistent UI Elements
------------------------------------------------------- */
#bar {
border-bottom:1px solid #ccc;
position:absolute;
left:0px;
top:0px;
right:0;
height:60px;
}
/* Special rules for toolbar icons */
button.Browse .label {
display: none;
}
/* Status box */
.messages {
display:none;
}
/* Inspector */
.inspector-wrap {
position:absolute;
right: 0;
border-left: 1px solid #ccc;
border-bottom: 1px solid #ccc;
min-height: 60px;
opacity:0;
display:none;
}
.inspector-inner {
padding: 10px;
min-width:400px;
}
.inspector-inner.head {
border-bottom: 1px solid #ccc;
background:#fff;
z-index:1;
position:relative;
}
.inspector-inner.head a {
text-decoration:none;
margin-right: 10px;
display: inline-block
}
.inspector-inner.tag-wrap {
max-height: 200px;
overflow: auto;
}
.inspector-toggle {
color:#fff;
width: 100%;
display: block;
background:#7092ff;
border: 0;
}
.inspector-body {
position:relative;
}
.tag-row {
width: 100%;
padding-right: 70px;
position: relative;
height: 30px;
}
.input-wrap {
position: relative;
margin-top: -1px;
}
.tag-row input {
width: 50%;
border-left: 0;
}
.tag-row input.key {
font-weight: bold;
}
.tag-row:first-child input {
border-top: 1px solid #ccc;
}
.tag-row input.key {
border-left: 1px solid #ccc;
}
.input-wrap::after {
content: '';
position: absolute;
right: 9px;
top: 14px;
height: 0;
width: 0;
border-top: 5px solid #ccc;
border-left: 5px solid transparent;
border-right: 5px solid transparent;
}
.tag-row button {
position: absolute;
top: 0;
right: 0;
}
.tag-row button.tag-help {
right: 30px;
}
.inspector-buttons {
border-top: 1px solid #ccc;
}
.inspector-inner .add-tag-row {
width: 100%;
padding-right: 70px;
}
.inspector-inner .add-tag {
width: 50%;
height: 30px;
font-size: 100%;
border: 1px solid #ccc;
border-top: 0;
}
/* Map Controls */
.map-control {
left:10px;
position:absolute;
}
.map-overlay {
width: 150px;
position:absolute;
left:50px;
top:0;
display: block;
}
/* Zoomer */
.zoombuttons {
top:70px;
width: 40px;
}
.zoombuttons button.zoom-in {
border-radius:4px 4px 0 0;
}
.zoombuttons button.zoom-out {
border-top:0;
border-radius:0 0 4px 4px;
}
/* Layer Switcher */
.layerswitcher-control {
top:210px;
}
.layerswitcher-control .adjustments {
padding:5px;
opacity:0.2;
}
.layerswitcher-control .adjustments:hover {
opacity:1;
}
.layerswitcher-control .adjustments .reset {
height:20px;
font-size:10px;
font-weight:normal;
padding:0 5px;
}
.layerswitcher-control .nudge {
height:20px;
width:20px;
font-size:10px;
margin-right:2px;
font-weight:normal;
}
.opacity-options-wrapper {
padding: 10px 10px 0 10px;
}
.opacity-options {
border:1px solid #b0b0b0;
background: url(../img/background-pattern-opacity.png) 0 0 repeat;
height:20px;
width:62px;
position: absolute;
right: 10px;
top: 10px;
}
.opacity-options li {
height: 100%;
display: block;
float: left;
cursor: pointer;
}
.opacity-options li .select-box{
position: absolute;
width:20px;
height:18px;
z-index: 9999;
}
.layerswitcher-control li:hover .select-box,
.layerswitcher-control li.selected .select-box {
border: 2px solid #4672ff;
background: rgba(70, 114, 255, .5);
opacity: .5;
}
.layerswitcher-control li.selected:hover .select-box,
.layerswitcher-control li.selected .select-box {
opacity: 1;
}
.layerswitcher-control .opacity {
background:#222;
display:inline-block;
width:20px;
height:18px;
}
/* Geocoder */
.geocode-control {
top:160px;
}
.geocode-control input {
width: 140px;
border: 1px solid #ccc;
margin: 4px;
}
.geolocate-control {
top:260px;
}
/* Map
------------------------------------------------------- */
#map {
display:block;
position:absolute;
overflow:hidden;
top:60px;
left:0;
right:0;
bottom:0;
background:#fff;
}
img.tile {
position:absolute;
transform-origin:0 0;
-ms-transform-origin:0 0;
-webkit-transform-origin:0 0;
-moz-transform-origin:0 0;
-o-transform-origin:0 0;
}
#tile-g {
position:absolute;
top:0;
}
/* About Section
------------------------------------------------------- */
.about-block {
float: right;
height: 40px;
}
#about {
border-radius:3px 0 0 0;
}
#attrib-container {
position: absolute;
right:0px;
bottom:0px;
}
#user-list {
margin-right: 8px;
border-radius:3px 3px 0 0;
max-width: 400px;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
#user-list a:not(:last-child):after {
content: ', ';
}
/* Account Information */
.user-container {
position:absolute;
left:0px;
bottom:0px;
border-radius:0 3px 0 0;
}
.user-container .logout {
margin-left:10px;
border-left: 1px solid white;
padding-left: 10px;
}
/* typeahead dropdowns
------------------------------------------------------- */
div.typeahead {
width:155px;
z-index: 9999;
display: none;
box-shadow: 0 5px 10px 0 rgba(0,0,0,.2);
margin-top: -1px;
background: white;
max-height: 180px;
overflow: hidden;
border: 1px solid #ccc;
}
div.typeahead a {
height: 30px;
line-height: 30px;
cursor: pointer;
display: block;
border-top:1px solid #ccc;
background-color: #fff;
padding:1px 4px;
white-space: nowrap;
}
div.typeahead a:hover,
div.typeahead a.selected {
background: #e1e8ff;
color: #154dff;
}
div.typeahead a:first-child {
border-top: 0;
}
/* Modals
------------------------------------------------------- */
.modal {
display: inline-block;
position:absolute;
width: 50%;
left: 25%;
top:80px;
z-index: 3;
}
.modal .loader { margin-bottom: 10px;}
.modal .content {
margin-bottom: 40px;
}
.modal .description {
text-align: center;
}
.modal button { margin-bottom: 0;}
.modal button:first-child { margin-left: 0;}
.modal button.close-modal {
float:right;
margin-right:10px;
margin-top:10px;
border:0;
}
.shaded {
z-index: 2;
position: relative;
}
.shaded:before {
content:'';
background:rgba(0,0,0,0.5);
position:fixed;
left:0px; right:0px; top:0px; bottom:0px;
}
.commit-modal h3 small.count {
margin-right: 10px;
text-align: center;
float: left;
height: 24px;
min-width: 24px;
font-size:12px;
border-radius:24px;
padding:5px;
background:#7092ff;
color:#fff;
}
.commit-modal .changeset-list {
overflow: auto;
border:1px solid #ccc;
background:#fff;
max-height: 160px;
}
.commit-modal .user-details {
float: right;
}
.user-icon {
max-width: 50px;
max-height: 50px;
}
.modal-section {
padding: 20px;
border-bottom: 1px solid #ccc;
}
.modal-section:last-child { border-bottom: 0;}
.modal-section img.wiki-image {
max-width: 400px;
max-height: 300px;
padding: 10px;
display: block;
}
.changeset-list li {
border-top:1px solid #ccc;
padding:5px 10px;
}
.changeset-list li span.count {
font-size:10px;
color:#555;
}
.changeset-list li span.count:before { content: '('; }
.changeset-list li span.count:after { content: ')'; }
.changeset-list li:first-child { border-top: 0;}
.commit-modal .changeset-comment {
height: 60px;
width:100%;
/* firefox uses monospace in textareas */
font:normal 12px/20px 'Helvetica Neue', Arial, sans-serif;
}
.loading-modal {
text-align: center;
}
/* Notices
------------------------------------------------------- */
.notice {
position:absolute;
top:11px;
left:11px;
width:278px;
text-align: center;
height:38px;
padding:10px 20px;
background:#fff;
font-weight: normal;
line-height: 21px;
border-radius:5px;
opacity: 0.9;
}
/* Tooltips
------------------------------------------------------- */
.tooltip {
white-space: normal;
position: absolute;
z-index: -1000;
height: 0;
padding: 5px;
opacity: 0;
display: block;
filter: alpha(opacity=0);
visibility: visible;
}
.tooltip.in {
opacity: 0.8;
filter: alpha(opacity=80);
z-index: 1030;
height: auto;
}
.tooltip.top {
margin-top: -5px;
}
.tooltip.right {
margin-left: 5px;
}
.tooltip.bottom {
margin-top: 5px;
}
.tooltip.left {
margin-left: -5px;
}
.tooltip-inner {
max-width: 200px;
min-width: 100px;
font-size: 11px;
font-weight: bold;
line-height: 20px;
padding: 5px 10px;
color: #ffffff;
text-align: center;
text-decoration: none;
background-color: #000000;
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
border-radius: 4px;
}
.tooltip-arrow {
position: absolute;
width: 0;
height: 0;
border-color: transparent;
border-style: solid;
}
.tooltip.top .tooltip-arrow {
bottom: 0;
left: 50%;
margin-left: -5px;
border-top-color: #000000;
border-width: 5px 5px 0;
}
.tooltip.right .tooltip-arrow {
top: 50%;
left: 0;
margin-top: -5px;
border-right-color: #000000;
border-width: 5px 5px 5px 0;
}
.tooltip.left .tooltip-arrow {
top: 50%;
right: 0;
margin-top: -5px;
border-left-color: #000000;
border-width: 5px 0 5px 5px;
}
.tooltip.bottom .tooltip-arrow {
top: 0;
left: 50%;
margin-left: -5px;
border-bottom-color: #000000;
border-width: 0 5px 5px;
}
.Browse .tooltip .tooltip-arrow {
left: 30px;
}