/* 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;
}

* {
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

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;
}

/* 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;
    white-space:nowrap;
    font-size:14px;
    display: inline-block;
    height:40px;
    cursor:url(../img/cursor-pointer.png) 9 9, 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) 9 9, 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[disabled] {
    color:#ccc;
    cursor:auto;
}
button[disabled]:hover {
    background: white;
}
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;
}

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);
}

/* 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-inspect { background-position: -120px -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-wrap a.permalink {
    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-right: 0;
}

.tag-row input.key {
    font-weight: bold;
}

.tag-row:first-child input {
    border-top: 1px solid #ccc;
}

.tag-row input.value {
    position: relative;
    border-right: 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;
}

.tag-row-empty button {
    display: none;
}

/* 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;
}

.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;
}

/* 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 {
    position:absolute;
    bottom:0px;
}

#about {
    bottom:0px;
    right:0px;
    border-radius:3px 0 0 0;
}

#user-list {
    border-radius:3px 3px 0 0;
    right: 330px;
    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;
    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: 120px;
    overflow: auto;
    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;
}

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;}

.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;
}

.modal-section {
    padding: 20px;
    border-bottom: 1px solid #ccc;
}
.modal-section:last-child { border-bottom: 0;}

.changeset-list li {
    border-top:1px solid #ccc;
    padding:5px 10px;
}

.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:0px;
    left:70px;
    width:250px;
    height:50px;
    background:#fff;
    font-size: 20px;
    font-weight: bold;
    line-height:30px;
}

/* 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;
    }

/* Mobile Tweaks
------------------------------------------------------- */
* {
    -webkit-tap-highlight-color:rgba(0,0,0,0);
    -webkit-touch-callout:none;
}
