+ height: 0;
+ margin-left: 50%;
+ margin-left: calc(50% - 10px);
+}
+
+
+/* Quick links
+------------------------------------------------------- */
+.ideditor .quick-links {
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-orient: horizontal;
+ -webkit-box-direction: normal;
+ -ms-flex-flow: row wrap;
+ flex-flow: row wrap;
+ -webkit-box-pack: end;
+ -ms-flex-pack: end;
+ justify-content: flex-end;
+ padding: 5px 0 0 0;
+}
+.ideditor .quick-link {
+ margin: 0 5px;
+}
+
+
+/* Entity/Preset Editor
+------------------------------------------------------- */
+.ideditor .section .grouped-items-area {
+ padding: 10px;
+ margin: 0 -10px 10px -10px;
+ border-radius: 8px;
+ background: #ececec;
+}
+.ideditor .section .grouped-items-area:empty {
+ display: none;
+}
+
+/*
+ The parts of a field:
+ - `.form-field` is a `div` wraps the entire thing
+ - `.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 | <- .field-label |
+ +------------------+ |
+ | Starbucks | + | <- .form-field-input-wrap > .form-field
+ '------------------' |
+ tag reference <- .tag-reference-body |
+ -
+*/
+
+.ideditor .form-field {
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-orient: horizontal;
+ -webkit-box-direction: normal;
+ -ms-flex-flow: row wrap;
+ flex-flow: row wrap;
+ margin-bottom: 10px;
+ width: 100%;
+ -webkit-transition: margin-bottom 200ms;
+ -o-transition: margin-bottom 200ms;
+ transition: margin-bottom 200ms;
+}
+
+.ideditor .form-field.nowrap,
+.ideditor .wrap-form-field:last-child .form-field {
+ margin-bottom: 0;
+}
+
+/* A `label` element that wraps the top section */
+.ideditor .field-label {
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-orient: horizontal;
+ -webkit-box-direction: normal;
+ -ms-flex-flow: row nowrap;
+ flex-flow: row nowrap;
+ -webkit-box-flex: 1;
+ -ms-flex: 1 1 100%;
+ flex: 1 1 100%;
+ position: relative;
+ font-weight: bold;
+ color: #333;
+ background: #f6f6f6;
+ border: 1px solid #ccc;
+ border-radius: 4px 4px 0 0;
+ overflow: hidden;
+}
+.ideditor .field-label .label-text {
+ overflow: hidden;
+ -o-text-overflow: ellipsis;
+ text-overflow: ellipsis;
+ -webkit-box-flex: 1;
+ -ms-flex: 1 1 auto;
+ flex: 1 1 auto;
+ padding: 5px 0 4px 10px;
+}
+.ideditor[dir='rtl'] .field-label .label-text {
+ padding: 5px 10px 4px 0;
+}
+.ideditor .field-label .label-text span {
+ white-space: nowrap;
+}
+
+.ideditor .label-text .label-textannotation svg.icon {
+ margin: 0 8px;
+ color: #333;
+ opacity: 0.5;
+ width: 14px;
+ height: 14px;
+ vertical-align: text-top;
+}
+
+.ideditor .field-label button {
+ -webkit-box-flex: 0;
+ -ms-flex: 0 0 auto;
+ flex: 0 0 auto;
+ border-left: 1px solid #ccc;
+ width: 32px;
+ border-radius: 0;
+}
+.ideditor[dir='rtl'] .field-label button {
+ border-left: none;
+ border-right: 1px solid #ccc;
+}
+.ideditor .field-label button:not(:hover):not(:active):not(:focus) {
+ background: none;
+}
+.ideditor .field-label .icon {
+ opacity: .5;
+
+}
+
+.ideditor .field-label .modified-icon,
+.ideditor .field-label .remove-icon,
+.ideditor .field-label .remove-icon-multilingual {
+ display: none;
+}
+.ideditor .modified:not(.locked) .field-label .modified-icon,
+.ideditor .present:not(.locked) .field-label .remove-icon,
+.ideditor .present:not(.locked) .field-label .remove-icon-multilingual {
+ display: inline-block;
+}
+
+/* A `div` element that wraps the bottom section */
+.ideditor .form-field-input-wrap {
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-orient: horizontal;
+ -webkit-box-direction: normal;
+ -ms-flex-flow: row nowrap;
+ flex-flow: row nowrap;
+ width: 100%;
+ -webkit-box-flex: 1;
+ -ms-flex: 1 1 auto;
+ flex: 1 1 auto;
+ border-top: 0;
+ border-radius: 0 0 4px 4px;
+}
+.ideditor .nowrap .form-field-input-wrap {
+ border-radius: 0;
+}
+
+
+.ideditor .form-field-input-wrap > input,
+.ideditor .form-field-input-wrap > label,
+.ideditor .form-field-input-wrap > textarea,
+.ideditor .form-field-input-wrap > ul.chiplist {
+ -webkit-box-flex: 1;
+ -ms-flex: 1 1 auto;
+ flex: 1 1 auto;
+ border: 1px solid #ccc;
+ border-top: 0;
+ border-radius: 0;
+ position: relative;
+}
+.ideditor .form-field-input-wrap > textarea {
+ height: 65px;
+ border-radius: 0 0 4px 4px;
+}
+
+/* Buttons inside fields */
+.ideditor .form-field-button {
+ -webkit-box-flex: 0;
+ -ms-flex: 0 0 auto;
+ flex: 0 0 auto;
+ 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;
+}
+.ideditor[dir='rtl'] .form-field-button {
+ border-left-width: 1px;
+ border-right-width: 0;
+}
+.ideditor .form-field-button:active,
+.ideditor .form-field-button:focus {
+ background-color: #f1f1f1;
+}
+@media (hover: hover) {
+ .ideditor .form-field-button:hover {
+ background-color: #f1f1f1;
+ }
+}
+.ideditor .form-field-button .icon {
+ fill: #333;
+ opacity: .5;
+}
+.ideditor .form-field-button.colour-preview {
+ border-radius: 0 0 4px 0;
+}
+.ideditor .form-field-button.colour-preview > div.colour-box {
+ border: 3px solid #fff;
+ height: 100%;
+ border-radius: 8px;
+ cursor: pointer;
+ text-align: center;
+ line-height: 20px;
+ padding: 1px 0 0 1px;
+}
+.ideditor .inspector-hover .form-field-button.colour-preview > div.colour-box {
+ border-color: #ececec;
+}
+.ideditor .form-field-button.colour-preview:active > div.colour-box,
+.ideditor .form-field-button.colour-preview:focus > div.colour-box {
+ border-color: #f1f1f1;
+}
+@media (hover: hover) {
+ .ideditor .form-field-button.colour-preview:hover > div.colour-box {
+ border-color: #f1f1f1;
+ }
+}
+.ideditor .form-field-button.colour-selector {
+ visibility: hidden;
+ position: absolute;
+}
+
+
+/* round corners of first/last child elements */
+.ideditor .form-field-input-wrap > button:last-of-type {
+ border-bottom-right-radius: 4px;
+}
+.ideditor[dir='rtl'] .form-field-input-wrap > button:last-of-type {
+ border-bottom-left-radius: 4px;
+}
+
+
+/* Field - Access, Cycleway
+------------------------------------------------------- */
+.ideditor .form-field-input-access,
+.ideditor .form-field-input-cycleway {
+ -webkit-box-flex: 1;
+ -ms-flex: 1 1 auto;
+ flex: 1 1 auto;
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-orient: horizontal;
+ -webkit-box-direction: normal;
+ -ms-flex-flow: row wrap;
+ flex-flow: row wrap;
+}
+
+/* Field - lists with labeled input items
+------------------------------------------------------- */
+.ideditor .form-field ul.rows {
+ -webkit-box-flex: 1;
+ -ms-flex: 1 1 auto;
+ flex: 1 1 auto;
+ border: 1px solid #ccc;
+ border-top: 0;
+ border-radius: 0 0 4px 4px;
+ overflow: hidden;
+ width: 100%;
+}
+.ideditor .form-field ul.rows li {
+ border-top: 1px solid #ccc;
+}
+.ideditor .form-field ul.rows li:first-child {
+ border-top: 0;
+}
+.ideditor .form-field ul.rows li {
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-orient: horizontal;
+ -webkit-box-direction: normal;
+ -ms-flex-flow: row nowrap;
+ flex-flow: row nowrap;
+}
+.ideditor .form-field ul.rows li.labeled-input > span,
+.ideditor .form-field ul.rows li.labeled-input > div {
+ -webkit-box-flex: 1;
+ -ms-flex: 1 1 auto;
+ flex: 1 1 auto;
+ width: 100%;
+ border-radius: 0;
+}
+.ideditor .form-field ul.rows li input {
+ border-radius: 0;
+ border-width: 0;
+ width: 100%;
+}
+.ideditor .form-field ul.rows li button {
+ border-width: 0;
+}
+.ideditor[dir='ltr'] .form-field ul.rows li.labeled-input input,
+.ideditor[dir='ltr'] .form-field ul.rows li button {
+ border-left-width: 1px;
+}
+.ideditor[dir='rtl'] .form-field ul.rows li.labeled-input input,
+.ideditor[dir='rtl'] .form-field ul.rows li button {
+ border-right-width: 1px;
+}
+
+
+/* Field - Structure
+------------------------------------------------------- */
+.ideditor .structure-extras-wrap {
+ width: 100%;
+ padding: 10px 10px;
+ background: #fff;
+ border: 1px solid #ccc;
+ border-top: 0px;
+ border-radius: 0 0 4px 4px;
+}
+.ideditor .structure-extras-wrap > ul.rows {
+ border: 1px solid #ccc;
+ border-radius: 4px;
+}
+
+
+/* Field - Combo / Multicombo
+------------------------------------------------------- */
+.ideditor .form-field-input-combo > input:only-of-type {
+ border-radius: 0 0 4px 4px;
+ width: 100%;
+}
+.ideditor .form-field-input-combo.empty-combobox input,
+.ideditor .form-field-input-multicombo .empty-combobox input {
+ padding-right: 10px;
+ padding-left: 10px;
+}
+.ideditor .form-field-input-combo.empty-combobox .combobox-caret,
+.ideditor .form-field-input-multicombo .empty-combobox .combobox-caret {
+ display: none;
+}
+
+.ideditor .form-field-input-combo input.raw-value {
+ font-family: monospace;
+}
+.ideditor .form-field-input-combo input.known-value {
+ color: #7092ff;
+}
+
+.ideditor .form-field-input-multicombo ul.chiplist {
+ padding: 5px 8px 5px 8px;
+ background: #fff;
+ display: block;
+ border-radius: 0 0 4px 4px;
+ width: 100%;
+}
+
+.ideditor .form-field-input-multicombo li {
+ display: -webkit-inline-box;
+ display: -ms-inline-flexbox;
+ display: inline-flex;
+ -webkit-box-orient: horizontal;
+ -webkit-box-direction: normal;
+ -ms-flex-flow: row nowrap;
+ flex-flow: row nowrap;
+ -webkit-box-align: center;
+ -ms-flex-align: center;
+ align-items: center;
+ margin-bottom: 3px;
+ margin-top: 3px;
+ border-radius: 4px;
+}
+.ideditor[dir='ltr'] .form-field-input-multicombo li {
+ margin-right: 6px;
+}
+.ideditor[dir='rtl'] .form-field-input-multicombo li {
+ margin-left: 6px;
+}
+
+.ideditor .form-field-input-multicombo li.chip {
+ background-color: #eff2f7;
+ border: 1px solid #ccd5e3;
+ max-width: 100%;
+ color: #7092ff;
+}
+.ideditor[dir='ltr'] .form-field-input-multicombo li.chip {
+ padding: 2px 0px 2px 5px;
+}
+.ideditor[dir='rtl'] .form-field-input-multicombo li.chip {
+ padding: 2px 5px 2px 0px;
+}
+.ideditor .form-field-input-multicombo li.chip.draggable {
+ cursor: -webkit-grab;
+ cursor: grab;
+}
+.ideditor .form-field-input-multicombo li.chip.dragging {
+ opacity: 0.75;
+ z-index: 3000;
+ cursor: -webkit-grabbing;
+ cursor: grabbing;
+}
+.ideditor .form-field-input-multicombo li.chip.raw-value {
+ font-family: monospace;
+ color: #333;
+}
+.ideditor .form-field-input-multicombo li.mixed {
+ border-color: #eff2f7;
+ color: #888;
+ font-style: italic;
+}
+
+.ideditor .form-field-input-multicombo li.chip span {
+ display: block;
+ -webkit-box-flex: 1;
+ -ms-flex: 1 1 auto;
+ flex: 1 1 auto;
+ overflow: hidden;
+ word-wrap: break-word;
+}
+
+.ideditor .form-field-input-multicombo a {
+ font-family: Arial, Helvetica, sans-serif !important;
+ font-size: 16px !important;
+ padding: 0px 5px 0px 5px;
+ margin: 0;
+ cursor: pointer;
+ color: #a6b4ce;
+ display: block;
+ text-align: center;
+ -webkit-box-flex: 0;
+ -ms-flex: 0 0 auto;
+ flex: 0 0 auto;
+}
+
+.ideditor .form-field-input-multicombo .input-wrap {
+ border: 1px solid #ddd;
+ width: 100px;
+}
+.ideditor .form-field-input-multicombo input {
+ border: none;
+ width: 100%;
+}
+
+.ideditor .form-field-input-multicombo input:focus {
+ border-radius: 4px !important;
+}
+
+.ideditor .form-field-input-multicombo .full-line-chips li.chip {
+ width: 100%;
+}
+.ideditor .form-field-input-multicombo .full-line-chips .input-wrap {
+ width: auto;
+}
+
+.ideditor .form-field-input-combo .tag-value-icon {
+ display: inline-block;
+ position: relative;
+ height: 24px;
+ width: 30px;
+ margin-right: -30px;
+ -ms-flex-item-align: center;
+ align-self: center;
+ vertical-align: middle;
+ z-index: 1;
+ padding-left: 11px;
+}
+.ideditor[dir='rtl'] .form-field-input-combo .tag-value-icon {
+ margin-right: 0;
+ margin-left: -30px;
+ padding-left: 0;
+ padding-right: 11px;
+}
+.ideditor .tag-value-icon .icon {
+ width: 11px;
+ height: 17px;
+ margin: auto;
+}
+.ideditor[dir='ltr'] .form-field-input-combo .tag-value-icon + input {
+ padding-left: 30px;
+}
+.ideditor[dir='rtl'] .form-field-input-combo .tag-value-icon + input {
+ padding-right: 30px;
+}
+.ideditor .combobox-option .tag-value-icon {
+ display: inline-block;
+ width: 18px;
+}
+
+
+/* Field - Text / Numeric
+------------------------------------------------------- */
+.ideditor .form-field-input-text > input:only-child,
+.ideditor .form-field-input-tel > input:only-of-type,
+.ideditor .form-field-input-email > input:only-of-type,
+.ideditor .form-field-input-url > input:only-child {
+ border-radius: 0 0 4px 4px;
+}
+.ideditor .form-field-input-text > input:not(:only-child),
+.ideditor .form-field-input-url > input:not(:only-child) {
+ border-radius: 0 0 0 4px;
+}
+.ideditor .form-field-input-number > input:only-of-type {
+ border-radius: 0 0 0 4px;
+}
+.ideditor[dir='rtl'] .form-field-input-number > input:only-of-type {
+ border-radius: 0 0 4px 0;
+}
+.ideditor .form-field-input-number > button:last-of-type {
+ border-radius: 0 0 4px 0;
+}
+.ideditor[dir='rtl'] .form-field-input-number > button:last-of-type {
+ border-radius: 0 0 0 4px;
+}
+
+.ideditor[dir='ltr'] .form-field-input-identifier > input:last-child,
+.ideditor[dir='rtl'] .form-field-input-identifier > input:first-child,
+.ideditor[dir='ltr'] .form-field-input-identifier > button {
+ border-bottom-right-radius: 4px;
+}
+.ideditor[dir='ltr'] .form-field-input-identifier > input:first-child,
+.ideditor[dir='rtl'] .form-field-input-identifier > input:last-child,
+.ideditor[dir='rtl'] .form-field-input-identifier > button {
+ border-bottom-left-radius: 4px;
+}
+
+/* draw the up/down on the buttons */
+.ideditor .form-field-input-number button.decrement::after,
+.ideditor .form-field-input-number button.increment::after {
+ content: "";
+ height: 0; width: 0;
+ position: absolute;
+ left: 0; right: 0; bottom: 0; top: 0;
+ margin: auto;
+}
+.ideditor .form-field-input-number button.decrement::after {
+ border-top: 5px solid #ccc;
+ border-left: 5px solid transparent;
+ border-right: 5px solid transparent;
+}
+.ideditor .form-field-input-number button.increment::after {
+ border-bottom: 5px solid #ccc;
+ border-left: 5px solid transparent;
+ border-right: 5px solid transparent;
+}
+
+
+/* Field - Checkbox
+------------------------------------------------------- */
+.ideditor .form-field-input-check {
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-align: center;
+ -ms-flex-align: center;
+ align-items: center;
+ background: #fff;
+ padding: 5px 10px;
+ color: #7092ff;
+ border: 1px solid #ccc;
+ border-top: 0;
+ cursor: pointer;
+}
+.ideditor .form-field-input-check > input[type="checkbox"] {
+ -webkit-box-flex: 0;
+ -ms-flex: 0 1 auto;
+ flex: 0 1 auto;
+ margin-top: 0;
+}
+.ideditor .form-field-input-check > span {
+ -webkit-box-flex: 1;
+ -ms-flex: 1 1 auto;
+ flex: 1 1 auto;
+}
+.ideditor .form-field-input-check > span.mixed {
+ font-style: italic;
+}
+.ideditor .form-field-input-check > .reverser {
+ -webkit-box-flex: 0;
+ -ms-flex: 0 1 auto;
+ flex: 0 1 auto;
+ background-color: #eff2f7;
+ border: 1px solid #ccd5e3;
+ border-radius: 2px;
+ padding: 0px 8px;
+ color: inherit;
+}
+.ideditor[dir='ltr'] .form-field-input-check > .reverser {
+ padding-right: 2px;
+}
+.ideditor[dir='rtl'] .form-field-input-check > .reverser {
+ padding-left: 2px;
+}
+.ideditor .form-field-input-check > .reverser:active,
+.ideditor .form-field-input-check > .reverser:focus {
+ background: #e3e8ef;
+}
+@media (hover: hover) {
+ .ideditor .form-field-input-check > .reverser:hover {
+ background: #e3e8ef;
+ }
+}
+.ideditor .form-field-input-check > .reverser.hide {
+ display: none;
+}
+.ideditor .form-field-input-check:active,
+.ideditor .form-field-input-check:focus {
+ background: #f1f1f1;
+}
+@media (hover: hover) {
+ .ideditor .form-field-input-check:hover {
+ background: #f1f1f1;
+ }
+}
+.ideditor .form-field-input-check .set {
+ color: inherit;
+}
+.ideditor .form-field-input-check label:not(.set) input[type="checkbox"] {
+ opacity: .5;
+}
+
+
+/* Field - Radio button
+------------------------------------------------------- */
+.ideditor .form-field-input-radio {
+ -webkit-box-flex: 1;
+ -ms-flex: 1 1 auto;
+ flex: 1 1 auto;
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-orient: horizontal;
+ -webkit-box-direction: normal;
+ -ms-flex-flow: row wrap;
+ flex-flow: row wrap;
+}
+.ideditor .form-field-input-radio > label {
+ -webkit-box-flex: 1;
+ -ms-flex: 1 1 auto;
+ flex: 1 1 auto;
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-orient: horizontal;
+ -webkit-box-direction: normal;
+ -ms-flex-flow: row nowrap;
+ flex-flow: row nowrap;
+ -webkit-box-align: center;
+ -ms-flex-align: center;
+ align-items: center;
+ width: 100%;
+ padding: 5px 10px;
+ background-color: #fff;
+ color: #7092ff;
+ cursor: pointer;
+}
+.ideditor .form-field-input-radio > label.mixed {
+ font-style: italic;
+}
+.ideditor .form-field-input-radio > label:last-child {
+ border-radius: 0 0 4px 4px;
+}
+.ideditor .form-field-input-radio > label:active,
+.ideditor .form-field-input-radio > label:focus {
+ background-color: #ececec;
+}
+@media (hover: hover) {
+ .ideditor .form-field-input-radio > label:hover {
+ background-color: #ececec;
+ }
+}
+.ideditor .form-field-input-radio > label.active {
+ background-color: #e8ebff;
+}
+.ideditor .form-field-input-radio > label:not(:last-of-type) {
+ border-bottom: 1px solid #ccc;
+}
+.ideditor .form-field-input-radio > label > input[type="radio"] {
+ -webkit-box-flex: 0;
+ -ms-flex: 0 1 auto;
+ flex: 0 1 auto;
+}
+.ideditor .form-field-input-radio > label > span {
+ -webkit-box-flex: 1;
+ -ms-flex: 1 1 auto;
+ flex: 1 1 auto;