/*
    Created on : 07-sep-2014, 9:09:03
    Author     : realor
*/

.service_panel
{
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  height:100%;
  -webkit-user-select: none;
  -moz-user-select: none;
  -khtml-user-select: none;
  -ms-user-select: none;
}

.service_panel .header
{
  flex-grow: 0;
  display: flex;
  flex-direction: row;
  margin:2px;
  margin-bottom: 0;
  align-items: center;
  column-gap: 2px;
}

.service_panel > .header > .image_button
{
  flex-grow: 0;
  width: 20px;
  height: 20px;
  margin: 0px;
  background-repeat: no-repeat;
  background-size: 16px 16px;
  background-position: center center;
  cursor: pointer;
  border-radius: 2px;
  background-color: #f6f6f6;
  border:none;
  box-shadow: none;
}

.service_panel > .header > .image_button.home
{
  left:0;
  background-image: url(images/home.svg);
}

.service_panel > .header > .image_button.back
{
  left:24px;
  background-image: url(images/back.svg);
}

.service_panel >.header > .image_button:hover
{
  background-color: #ffb0b0;
}

.service_panel >.header > .image_button:focus
{
  outline:1px dotted black;
}

.service_panel > .header > .directory
{
  flex-grow: 1;
  font-size:13px;
  font-weight:normal;
  text-align: left;
  line-height: 20px;
  padding:1px;
  padding-left: 2px;
  color: #804040;
  border: 1px solid #c0c0c0;
  overflow:hidden;
}

.service_panel > .path_entries
{
  flex-grow: 1;
  padding-left: 0;
  overflow-y: auto;
  margin:2px;
  -webkit-user-select: none;
  -moz-user-select: none;
  -khtml-user-select: none;
  -ms-user-select: none;
  border:1px solid #c0c0c0;
}

.service_panel > .footer
{
  width:100%;
  flex-grow: 0;
}

.service_panel > .footer > .buttons_panel
{
  text-align: center;
}

.service_panel .entry
{
  list-style-type: none;
  text-align: left;
}

.service_panel .entry > a
{
  display:block;
  text-decoration: none;
  color: #404040;
  cursor:pointer;
  padding: 2px;
  padding-left: 20px;
  font-size:13px;
  background-position: 2px 2px;
  background-repeat: no-repeat;
  background-size: 16px 16px;
  border: 1px solid transparent;
}

.service_panel .entry > a:hover
{
  color:black;
  animation: item_hover 1s;
  background-color: #C0C0C0;
  color: black;
}

.service_panel .entry > a:focus
{
  border: 1px dotted black;
  outline:none;
}

.service_panel .entry.service > a
{
  font-weight:bold;
  background-image: url(images/service.svg);
}

.service_panel .entry.collection > a
{
  background-image: url(images/collection.svg);
}

.service_panel .entry.file > a
{
  color: #606060;
  background-image: url(images/file.svg);
}

.service_panel .entry.selected > a,
.service_panel .entry.selected > a:hover
{
  color:black;
  background-color:#F0A0A0;
  animation: none;
}

.bim_inventory_header
{
  text-align: left;
  margin-bottom: 6px;
}

.bim_inventory_header label
{
  margin-right: 4px;
}

.bim_inventory_tabs
{
  text-align: left;
}

.bim_layout_panel
{
  overflow: auto;
  padding: 0;
  border: none;
}

.bim_inspector_panel .body
{
  padding: 4px;
  display: flex;
  flex-direction: column;
}

.bim_inspector_panel .ifcClass
{
  font-weight: bold;
  text-align: left;
  padding-left: 18px;
  margin-top: 4px;
  margin-bottom: 4px;
  background-image: url(images/inspector/object.svg);
  background-repeat: no-repeat;
  background-size: 16px 16px;
  background-position: left center;
  vertical-align: middle;
  line-height: 18px;
}

.bim_inspector_panel .ifcSchema
{
  font-weight: bold;
  text-align: left;
  padding-left: 0px;
  margin-top: 4px;
  margin-bottom: 4px;
}

.bim_inspector_panel .tree li.object > a
{
  color: #202060;
}

.bim_inspector_panel .tree li.object
{
  background-image: url(images/inspector/object.svg);
}

.bim_inspector_panel .tree li.array
{
  background-image: url(images/inspector/array.svg);
}

.bim_inspector_panel .tree li.constant
{
  background-image: url(images/inspector/constant.svg);
}

.bim_inspector_panel .tree li.constant > a
{
  color: #800080;
}

.bim_inspector_panel .tree li.string
{
  background-image: url(images/inspector/string.svg);
}

.bim_inspector_panel .tree li.string > a
{
  color: #404080;
}

.bim_inspector_panel .tree li.number
{
  background-image: url(images/inspector/number.svg);
}

.bim_inspector_panel .tree li.number > a
{
  color: #808080;
}

.bim_inspector_panel .tree li.boolean
{
  background-image: url(images/inspector/boolean.svg);
}

.bim_inspector_panel .tree li.number > a
{
  color: #404000;
}

.bim_inspector_panel .tree li.enumeration
{
  background-image: url(images/inspector/enumeration.svg);
}

.bim_inspector_panel .tree li.select
{
  background-image: url(images/inspector/select.svg);
}

.bim_inspector_panel .tree li.inverse > a
{
  font-style: italic;
  color: #606080;
}

.bim_inspector_panel .tree li > a.previous
{
  background-color: #e0e0e0;
}

.bim_inspector_panel .tree li.previous
{
  background-image: url(images/previous_up.svg);
}

.bim_inspector_panel .tree li.next
{
  background-image: url(images/next_down.svg);
}

.bim_inspector_tabs
{
  height: 100%;
}

.bim_delta_panel .body
{
  padding: 2px;
}

.bim_delta_panel .body .tab_panel > pre
{
  text-align: left;
  user-select: text;
}

.bim_delta_panel .tree li.delta
{
  background-image: url(images/delta.svg);
}

.bim_delta_panel .tree li.changed
{
  background-image: url(images/edit.svg);
}

.bim_delta_panel .tree li.added
{
  background-image: url(images/add.svg);
}

.bim_delta_panel .tree li.removed
{
  background-image: url(images/remove.svg);
}

.bim_delta_panel .tree a.added
{
  color: #000080;
}

.bim_delta_panel .tree a.removed
{
  color: #800000;
}

.report_panel
{
  padding: 2px;
  text-align: left;
}

.report_panel .tree li.ok
{
  background-image: url(images/report/ok.svg);
}

.report_panel .tree li.error
{
  background-image: url(images/report/error.svg);
}

.report_panel .tree li.warn
{
  background-image: url(images/report/warn.svg);
}

.report_panel .tree li.info
{
  background-image: url(images/report/info.svg);
}

.tool_button.cloud_explorer
{
  background-image: url(images/tools/cloud_explorer.svg);
}

.tool_button.opencloud
{
  background-image: url(images/tools/opencloud.svg);
}

.tool_button.savecloud
{
  background-image: url(images/tools/savecloud.svg);
}

.tool_button.openlocal
{
  background-image: url(images/tools/openlocal.svg);
}

.tool_button.savelocal
{
  background-image: url(images/tools/savelocal.svg);
}

.tool_button.orbit
{
  background-image: url(images/tools/orbit.svg);
}

.tool_button.auto_orbit
{
  background-image: url(images/tools/auto_orbit.svg);
}

.tool_button.fly
{
  background-image: url(images/tools/fly.svg);
}

.tool_button.draw
{
  background-image: url(images/tools/draw.svg);
}

.tool_button.select
{
  background-image: url(images/tools/select.svg);
}

.tool_button.rotate
{
  background-image: url(images/tools/rotate.svg);
}

.tool_button.move
{
  background-image: url(images/tools/move.svg);
}

.tool_button.scale
{
  background-image: url(images/tools/scale.svg);
}

.tool_button.place
{
  background-image: url(images/tools/place.svg);
}

.tool_button.draw
{
  background-image: url(images/tools/draw.svg);
}

.tool_button.options
{
  background-image: url(images/tools/options.svg);
}

.tool_button.bim_inventory
{
  background-image: url(images/tools/bim_inventory.svg);
}

.tool_button.rebuild
{
  background-image: url(images/tools/rebuild.svg);
}

.tool_button.script
{
  background-image: url(images/tools/script.svg);
}

.tool_button.report
{
  background-image: url(images/tools/report.svg);
}

.tool_button.measure_length
{
  background-image: url(images/tools/measure_length.svg);
}

.tool_button.print
{
  background-image: url(images/tools/print.svg);
}

.tool_button.svg_exporter
{
  background-image: url(images/tools/svg_exporter.svg);
}

.tool_button.zoom_all
{
  background-image: url(images/tools/zoom_all.svg);
}

.tool_button.show
{
  background-image: url(images/tools/show.svg);
}

.tool_button.hide
{
  background-image: url(images/tools/hide.svg);
}

.tool_button.paint
{
  background-image: url(images/tools/paint.svg);
}

.tool_button.center_selection
{
  background-image: url(images/tools/center_selection.svg);
}

.tool_button.focus_selection
{
  background-image: url(images/tools/focus_selection.svg);
}

.tool_button.bim_layout
{
  background-image: url(images/tools/bim_layout.svg);
}

.tool_button.new_scene
{
  background-image: url(images/tools/new_scene.svg);
}

.tool_button.chatgpt
{
  background-image: url(images/tools/openai.svg);
}

.tool_button.outliner
{
  background-image: url(images/tools/outliner.svg);
}

.tool_button.inspector
{
  background-image: url(images/tools/inspector.svg);
}

.tool_button.statistics
{
  background-image: url(images/tools/statistics.svg);
}

.tool_button.section
{
  background-image: url(images/tools/section.svg);
}

.tool_button.select_by_qrcode
{
  background-image: url(images/tools/select_by_qrcode.svg);
}

div.row
{
  margin-top:2px;
  margin-bottom:2px;
  padding: 3px;
}

div.row > label
{
  margin-right: 2px;
}

div.option_block
{
  margin-top:3px;
  margin-bottom:3px;
  border-bottom: 1px solid #d0d0d0;
  padding: 4px;
}

div.option_block label,
div.option_block input[type=checkbox]
{
  vertical-align: middle;
}

div.option_block.inline label
{
  margin-right: 4px;
}

div.option_block.stack label
{
  display: block;
  margin-bottom: 2px;
}

div.option_block input.back_color
{
  vertical-align: middle;
  margin-left: 4px;
  padding: 0px;
}

div.option_block input[name=decimals]
{
  width: 60px;
}

div.field_flex
{
  display:flex;
  flex-direction: row;
  align-items: center;
}

div.field_flex > label
{
  flex-grow: 0;
  margin-right: 2px;
}

div.field_flex > input,
div.field_flex > select
{
  flex-grow: 1;
  min-width: 10px;
}

.panel_section > .body > div
{
  margin-top: 6px;
}

.panel_section input[name=section_color]
{
  margin-left: 4px;
  vertical-align: middle;
}

.panel_section input[name=section_offset]
{
  margin-left: 4px;
  width: 80px;
}

.panel_move > .body > div
{
  margin-top: 6px;
}

.panel_move input[name=move_offset]
{
  margin-left: 4px;
  width: 150px;
}

.panel_rotate > .body > div
{
  margin-top: 6px;
}

.panel_rotate input[name=rotate_angle]
{
  margin-left: 4px;
  width: 80px;
}

.panel_scale > .body > div
{
  margin-top: 6px;
}

.panel_scale input[name=scale_factor]
{
  margin-left: 4px;
  width: 80px;
}

.panel_scale input[name=scale_length]
{
  margin-left: 4px;
  width: 80px;
}

.panel_scale div > input[type=checkbox],
.panel_scale div > label
{
  vertical-align: middle;
}

.panel_place > .body > div
{
  margin-top: 6px;
}

.panel_place select[name=place_mode]
{
  margin-left: 4px;
}

.panel_extrude > .body > div
{
  margin-top: 6px;
}

.panel_extrude input[name=extrude_depth]
{
  margin-left: 4px;
  width: 100px;
}

.panel_revolve > .body > div
{
  margin-top: 6px;
}

.panel_revolve input[name=revolve_angle]
{
  margin-left: 4px;
  width: 100px;
}

.panel_draw > .body > div
{
  margin-top: 6px;
}

.panel_draw input[name=draw_offset]
{
  margin-left: 4px;
  width: 100px;
}

.script_box textarea
{
  font-family: monospace;
  font-size: 14px;
  color: #404040;
  box-sizing:border-box;
  width: 100%;
  height: 300px;
}

.controller_dialog
{
  display: flex;
  flex-direction: column;
  height: 100px;
}

.controller_dialog > div
{
  flex-grow: 0;
}

.controller_dialog > ul
{
  flex-grow: 1;
  overflow: auto;
  padding: 4px;
  margin:0;
  margin-top: 4px;
  border: 1px solid #c0c0c0;
}

.controller_dialog > ul li
{
  list-style-type: none;
  margin:6px 3px 6px 3px;
}

.controller_dialog > ul li label
{
  display: block;
  vertical-align: middle;
}

.controller_dialog > ul li input
{
  display: inline-block;
  vertical-align: text-bottom;
}

.controller_dialog > ul li span
{
  display: inline-block;
  vertical-align: middle;
}

.controller_dialog > ul li span.type
{
  color: #606080;
  margin-right: 4px;
}

.builder_dialog > ul
{
  flex-grow: 1;
  overflow: auto;
  padding: 4px;
  margin:0;
  margin-top: 4px;
}

.builder_dialog > ul li
{
  list-style-type: none;
  margin:6px 3px 6px 3px;
}

.builder_dialog > ul li label
{
  display: block;
  vertical-align: middle;
}

.builder_dialog > ul li input
{
  display: inline-block;
  vertical-align: text-bottom;
}

.dialog .body div.script_name > label
{
  display: inline-block;
  width: 80px;
}

.dialog .body div.script_name > input[type=text]
{
  display: inline-block;
  width: calc(100% - 80px);
}

.dialog .body div.report_name
{
  display: flex;
  align-items: center;
}

.dialog .body div.report_name > label
{
  flex-grow: 0;
  white-space: nowrap;
  margin-right: 4px;
}

.dialog .body div.report_name > input[type=text]
{
  flex-grow: 1;
}

.dialog .body div.acl_directory > input[type=text]
{
  color: #804040;
}

.dialog .footer button
{
  min-width: 40px;
}

div.script_code
{
  position: absolute;
  top: 30px;
  left: 4px;
  right: 4px;
  bottom: 4px;
  border: 1px solid gray;
  overflow: auto;
  font-size: 14px;
}

.fly_panel
{
  display: flex;
  justify-content: center;
  align-items: center;
}

.fly_panel .keypad
{
  position: relative;
  --button_size: 16px;
  --button_margin: 4px;
  --cell_size: calc(var(--button_size) + 2 * var(--button_margin));
  --side_margin: 10px;

  width: 100%;
  height: calc( 3 * var(--cell_size));
}

.fly_panel .keypad .leftWheel
{
  position: absolute;
  left: var(--side_margin);
  top: 0;
  width: calc(3 * var(--cell_size));
  height: calc(3 * var(--cell_size));
  border: 1px solid black;
  border-radius: calc(3 * var(--cell_size));
}

.fly_panel .keypad .pitchPanel
{
  left: calc(50% - var(--cell_size) / 2);
  top: var(--cell_size);
  position: absolute;
  width: calc(1 * var(--cell_size));
  height: calc(2 * var(--cell_size));
  border: 1px solid black;
  border-radius: calc(var(--cell_size));
}

.fly_panel .keypad .rightWheel
{
  right: var(--side_margin);
  top: 0;
  position: absolute;
  width: calc(3 * var(--cell_size));
  height: calc(3 * var(--cell_size));
  border: 1px solid black;
  border-radius: calc(3 * var(--cell_size));
}

.fly_panel button
{
  position: absolute;
  width: var(--button_size);
  height: var(--button_size);
  border: 1px solid #808080;
  border-radius: var(--button_size);
  font-size: 9px;
  background-color: white;
  color: black;
  margin:0;
  padding: 0;
  background-repeat: no-repeat;
  background-size: 80% 80%;
  background-position: center center;
}

.fly_panel .keypad .stick
{
  --stick_size: 24px;
  width: var(--stick_size);
  height: var(--stick_size);
  border-radius: var(--stick_size);
  position: absolute;
  background-color: #e0e0e0;
  background-size: 80% 80%;
  background-position: center center;
  background-repeat: no-repeat;
  border : 1px solid transparent;
  box-sizing: border-box;
  touch-action: none;
}

.fly_panel .keypad .leftWheel .stick
{
  top: calc(50% - 0.5 * var(--stick_size));
  left: calc(50% - 0.5 * var(--stick_size));
  background-image: url(images/tools/fly_drone_front.svg);
  touch-action: none;
}

.fly_panel .keypad .rightWheel .stick
{
  top: calc(50% - 0.5 * var(--stick_size));
  left: calc(50% - 0.5 * var(--stick_size));
  background-image: url(images/tools/fly_drone_top.svg);
  touch-action: none;
}

.fly_panel.stick .leftWheel button,
.fly_panel.stick .rightWheel button
{
  display: none;
}

.fly_panel.stick .stick
{
  border-color : #404040;
}

.fly_panel button:active,
.fly_panel button.pressed
{
  background-color: #FF8080;
}

.fly_panel button.forward
{
  left: calc(1 * var(--cell_size) + var(--button_margin));
  top : calc(0 * var(--cell_size) + var(--button_margin));
  background-image: url(images/tools/fly_forward.svg);
}

.fly_panel button.backward
{
  left: calc(1 * var(--cell_size) + var(--button_margin));
  top : calc(2 * var(--cell_size) + var(--button_margin));
  background-image: url(images/tools/fly_backward.svg);
}

.fly_panel button.rotateLeft
{
  left: calc(0 * var(--cell_size) + var(--button_margin));
  top : calc(1 * var(--cell_size) + var(--button_margin));
  background-image: url(images/tools/fly_left.svg);
}

.fly_panel button.rotateRight
{
  left: calc(2 * var(--cell_size) + var(--button_margin));
  top : calc(1 * var(--cell_size) + var(--button_margin));
  background-image: url(images/tools/fly_right.svg);
}

.fly_panel button.ascend
{
  left: calc(1 * var(--cell_size) + var(--button_margin));
  top : calc(0 * var(--cell_size) + var(--button_margin));
}

.fly_panel button.descend
{
  left: calc(1 * var(--cell_size) + var(--button_margin));
  top : calc(2 * var(--cell_size) + var(--button_margin));
}

.fly_panel button.moveLeft
{
  left: calc(0 * var(--cell_size) + var(--button_margin));
  top : calc(1 * var(--cell_size) + var(--button_margin));
}

.fly_panel button.moveRight
{
  left: calc(2 * var(--cell_size) + var(--button_margin));
  top : calc(1 * var(--cell_size) + var(--button_margin));
}

.fly_panel button.lookUp
{
  left: calc(0 * var(--cell_size) + var(--button_margin));
  top : calc(0 * var(--cell_size) + var(--button_margin));
}

.fly_panel button.lookDown
{
  left: calc(0 * var(--cell_size) + var(--button_margin));
  top : calc(1 * var(--cell_size) + var(--button_margin));
}

.fly_panel button.options
{
  --options_button_size : 20px;
  left: calc(50% - var(--options_button_size) / 2 + 1px);
  top: 0;
  width: var(--options_button_size);
  height: var(--options_button_size);
  background-image: url(images/tools/fly_options.svg);
  border: none;
}

.fly_options input[name=ground]
{
  margin-left: 4px;
  margin-right: 4px;
  width: 60px;
}

.inspect_geometry ul.tree .selected
{
  background-color: #FFA0A0;
  color: black;
}

.inspect_geometry ul.tree li.face
{
  background-image: url(images/geometry/loop.svg);
}

.inspect_geometry ul.tree li.face.holes
{
  background-image: url(images/geometry/face.svg);
}

.inspect_geometry ul.tree li.loop
{
  background-image: url(images/geometry/loop.svg);
}

.inspect_geometry ul.tree li.hole
{
  background-image: url(images/geometry/hole.svg);
}

.inspect_geometry ul.tree li.vertex
{
  background-image: url(images/geometry/vertex.svg);
}

.inspect_geometry ul.tree li.normal
{
  background-image: url(images/geometry/normal.svg);
}

.inspect_geometry ul.summary
{
  text-align: left;
  padding-left: 4px;
  margin-bottom: 0;
}

.inspect_geometry ul.summary li
{
  text-align: left;
  list-style-type: none;
}

.inspect_geometry table.data a
{
  text-decoration: none;
  padding: 0 5px 0 5px;
  border-radius: 2px;
  color: blue;
}

.inspect_geometry table.data a:hover
{
  background-color: #e0e0e0;
}

.property_selector
{
  display: flex;
  flex-direction: column;
  height: calc(100% - 8px);
  row-gap: 4px;
}

.property_selector .label
{
  flex-grow: 0;
}

.property_selector .scroll
{
  flex-grow: 1;
  overflow: auto;
  border: 1px solid #c0c0c0;
  border-radius: 2px;
  padding: 4px;
  height: 50%;
}

.property_selector .property_toolbar
{
  flex-grow: 0;
  text-align: center;
}

.property_selector .property_toolbar button
{
  min-width: 24px;
}

.property_selector .tree .selected
{
  flex-grow: 1;
  background-color: #F0A0A0;
  color: black;
}

.property_selector .tree li.property_set
{
  background-image: url(images/collection.svg);
}

.property_selector .tree li.string
{
  background-image: url(images/inspector/string.svg);
  color: blue;
}

.property_selector .tree li.boolean
{
  background-image: url(images/inspector/boolean.svg);
  color: #008000;
}

.property_selector .tree li.number
{
  background-image: url(images/inspector/number.svg);
}

.property_selector .tree li.string a
{
  color: #0000ff;
}

.property_selector .tree li.boolean a
{
  color: #008080;
}

.property_selector .tree li.number a
{
  color: #404040;
}

.property_selector .code_editor
{
  flex-grow: 1;
}

.panel_chatgpt .body
{
  display: flex;
  flex-direction: column;
  padding: 4px;
}

.panel_chatgpt .body .conversation
{
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  justify-content:flex-end;
  overflow-y: auto;
}

.panel_chatgpt .body .conversation .scroll
{
  display: block;
  overflow-y: auto;
}

.panel_chatgpt .body .conversation .scroll .input
{
  text-align: left;
  margin-top: 12px;
  margin-bottom: 4px;
  color: #606060;
  user-select: text;
}

.panel_chatgpt .body .conversation .scroll .output
{
  text-align: left;
  margin-top: 4px;
  margin-bottom: 4px;
  color: #404080;
  user-select: text;
}

.panel_chatgpt .body .conversation .scroll .output.error
{
  color: #c00000;
}

.panel_chatgpt .body .prompt
{
  height: 100px;
  min-height: 40px;
  flex-grow: 0;
  resize: none;
}

.panel_chatgpt .body .footer
{
  flex-grow: 0;
}

.panel_histogram .body
{
  padding: 4px;
  text-align: left;
}

.panel_histogram .body select
{
  display: block;
  width: 100%;
  margin-bottom: 4px;
}

.panel_histogram .body .buttons_bar
{
  text-align: center;
}

.panel_histogram .body ul
{
  padding-left: 0px;
}

.panel_histogram .body li
{
  padding-top: 0px;
  padding-bottom: 6px;
  list-style: none;
  display: flex;
  flex-direction: row;
  align-items: stretch;
}

.panel_histogram .body li .item_bullet
{
  display: inline-block;
  border: 1px solid #c0c0c0;
  width: 16px;
  min-width: 16px;
  flex-grow: 0;
}

.panel_histogram .body li .item_cnt
{
  display: inline-block;
  vertical-align: middle;
  padding-left: 2px;
  flex-grow: 1;
}

.panel_histogram .body li .item_cnt a
{
  text-decoration: none;
  color: #606060;
}

.panel_histogram .body li .item_cnt a .undefined
{
  font-style: italic;
  color: #404040;
}

.panel_histogram .body li .item_cnt a .string
{
  color: #404080;
}

.panel_histogram .body li .item_cnt a .number
{
  color: #505050;
}

.panel_histogram .body li .item_cnt a .boolean
{
  color: #707030;
}

.panel_histogram .body li .item_cnt .bar
{
  height: 8px;
  background: white;
  border: 1px solid #c0c0c0;
  padding-right: 2px;
}

.panel_histogram .body li .bar div
{
  background-color: #008000;
  height: 100%;
}

.panel_search .body
{
  padding: 4px;
  text-align: left;
}

.panel_search .body input[type=text]
{
  display: block;
  width: 100%;
  margin-bottom: 4px;
  box-sizing: border-box;
}

.panel_search .body .buttons_bar
{
  text-align: center;
  margin-bottom: 2px;
}

.panel_search .body .matchings
{
  margin-top: 4px;
  overflow: auto;
  border: 1px solid #c0c0c0;
}

.panel_search .body .tree a > div
{
  display: inline;
}

.panel_search .body .tree .match
{
  background-color: #ffff00;
}

.panel_search .body ul.tree li.value
{
  background-image: url(images/inspector/default.svg);
}

.panel_search .body ul.tree li.object
{
  background-image: url(images/inspector/object.svg);
}

.panel_search .body ul.tree li.string
{
  background-image: url(images/inspector/string.svg);
}

.panel_search .body ul.tree li.number
{
  background-image: url(images/inspector/number.svg);
}

.panel_search .body ul.tree li.boolean
{
  background-image: url(images/inspector/boolean.svg);
}


.panel_link .body
{
  padding: 4px;
  text-align: left;
}

.panel_link .body input[type=text]
{
  display: block;
  width: 100%;
  margin-bottom: 4px;
  box-sizing: border-box;
}

.panel_link .body .buttons_bar
{
  text-align: center;
  margin-bottom: 2px;
}

.panel_solar_sim canvas
{
  touch-action: pan-y;
}

.ellipsis_loading
{
  padding: 0;
  text-align: left;
}

.ellipsis_loading:after
{
  overflow: hidden;
  display: inline-block;
  vertical-align: bottom;
  animation: ellipsis steps(4, end) 1000ms infinite;
  content: "\2026"; /* ascii code for the ellipsis character */
  width: 0px;
}

@keyframes ellipsis
{
  to { width: 24px; }
}

