.protobi.app {
  overflow-y: auto;
  position: relative;
  width: 100%;
}
.protobi {
  font-family: "HelveticaNeue-Light", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
  -webkit-font-smoothing: antialiased;
  font-smoothing: antialiased;
  font-weight: 300;
  font-size: 14px;
  color: #333;
/********************** TOOLBAR ******************************/
/********************** WIDGETS ******************************/
/*============= PRINT LAYOUT TABLES ===================*/
/*============= COMPACT ELEMENT ================*/
}
.protobi .element {
  position: relative;
}
.protobi .page-break-avoid {
  position: relative;
  page-break-inside: avoid;
}
.protobi .stale {
  opacity: 0.4;
  min-height: 24px;
  min-width: 300px;
}
.protobi .checkbox {
  vertical-align: bottom;
}
.protobi .checkbox .input {
  height: 20px;
  width: 20px;
  border: 1px solid #ccc;
  box-shadow: inset 0 1px 3px #ddd;
  border-radius: 4px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  line-height: 20px;
  text-align: center;
  display: inline-block;
  vertical-align: middle !important;
  color: #fff;
}
.protobi .checkbox.fas {
  line-height: 20px;
}
.protobi .checkbox.checked .input {
  background-color: #9b6;
}
.protobi .checkbox.unchecked .input {
  background-color: #39c;
}
.protobi .dragover {
  background-color: #b0c4de;
}
.protobi .dragwaiting {
  background-color: #bcd;
}
.protobi .drop-ready {
  background-color: #fc0;
}
.protobi .arrow-left {
  vertical-align: top;
  width: 0;
  height: 0;
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
  border-right: 5px solid #3e97d1;
  display: inline-block;
  margin-top: 5px;
  margin-left: 2px;
}
.protobi .arrow-right {
  vertical-align: top;
  width: 0;
  height: 0;
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
  border-left: 5px solid #3e97d1;
  display: inline-block;
  margin-top: 5px;
  margin-left: 2px;
}
.protobi .arrow-up {
  vertical-align: top;
  width: 0;
  height: 0;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-bottom: 5px solid #3e97d1;
  display: inline-block;
  margin-top: 5px;
  margin-left: 2px;
}
.protobi .arrow-down {
  vertical-align: top;
  width: 0;
  height: 0;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-top: 5px solid #888;
  display: inline-block;
  margin-top: 5px;
  margin-left: 2px;
}
.protobi .icon-menu {
  cursor: pointer;
}
.protobi .icon-field {
  height: 18px;
  width: 18px;
  cursor: pointer;
  background-color: #4682b4;
  display: inline-block;
  vertical-align: middle;
  margin-right: 4px;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
}
.protobi .icon-field:hover {
  background-color: #8cf !important;
}
.protobi .icon-element {
  border-radius: 9px;
}
.protobi .icon-trigram.icon-menu {
  background-color: transparent;
}
.protobi .icon-trigram:after {
  content: '\2630';
  font-size: 18px;
  font-weight: bold;
  color: #808080;
  line-height: 18px;
  vertical-align: top;
  padding: 0 1px 2px 1px;
  background-color: transparent;
}
.protobi .icon-trigram:hover:after {
  color: #8cf !important;
}
.protobi .icon-trigram:after:hover {
  background-color: transparent !important;
}
.protobi .icon-trigram.icon-field:hover {
  background-color: transparent !important;
}
.protobi .icon-crosstab {
  vertical-align: middle;
  margin-right: 4px;
  width: 20px;
  height: 8px;
  background-color: #4682b4;
  position: relative;
  margin: 0 0 10px 0;
  display: inline-block;
}
.protobi .icon-crosstab:before {
  content: " ";
  position: absolute;
  bottom: -11px;
  left: 0;
  height: 9px;
  width: 9px;
  background-color: #4682b4;
}
.protobi .icon-crosstab:after {
  content: " ";
  position: absolute;
  bottom: -11px;
  right: 0;
  height: 9px;
  width: 9px;
  background-color: #4682b4;
}
.protobi .toolbar {
  padding: 5px;
  white-space: nowrap;
  margin-top: 5px;
}
.protobi .toolbar .flash {
  max-width: 120px;
  float: right;
}
.protobi .toolbar .pbtn {
  vertical-align: top;
  height: 32px;
  line-height: 32px;
  padding-top: 0;
  padding-bottom: 0;
  display: inline-block;
  box-sizing: border-box;
  border: none;
  border-collapse: collapse;
  margin: 1px;
}
.protobi .toolbar .pure-menu-heading {
  background-color: #fff;
}
.protobi .toolbar .pbtn.n {
  border: 1px solid #ccc;
}
.protobi .toolbar #buttons {
  display: inline-block;
}
.protobi .toolbar.vertical {
  position: fixed;
  top: 40px;
  right: 20px;
  z-index: 1;
}
.protobi .toolbar.vertical .pbtn {
  display: block;
  width: 100px;
  min-wdth: 100px;
  padding: 0px;
  margin: 1px;
}
.protobi .toolbar.vertical #buttons>div,
.protobi .toolbar.vertical .toolbar #more-buttons {
  display: block;
}
.protobi .toolbar.vertical #buttons {
  margin: 0;
}
.protobi .toolbar.vertical #weight {
  display: block;
}
.protobi .button-target,
.protobi .weight-button-target,
.protobi .crosstabs-button-target,
.protobi .export-button-target,
.protobi .menu-button-target {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  line-height: 32px;
  height: 32px;
}
.protobi .menu-popup {
  position: absolute;
  top: 0;
  left: 0;
  min-width: 200px;
  max-width: 200px;
  font-size: 14px;
  font-weight: normal;
}
.protobi .menu-popup-left {
  left: auto;
  top: 0;
  right: 0;
  min-width: 240px;
  max-width: 240px;
  max-height: 360px;
  overflow: auto;
}
.protobi .truncate {
  overflow-x: hidden;
  text-wrap: none;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.protobi .menu-popup li.selected {
  background-color: #def;
}
.protobi .menu-popup li a {
  position: relative;
}
.protobi .menu-popup li a .delete {
  display: none;
  position: absolute;
  top: 0;
  right: 0;
  width: 30px;
  height: 100%;
  text-align: center;
}
.protobi .menu-popup li a:hover .delete {
  display: block;
}
.protobi .menu-popup li a:hover .delete:hover {
  background-color: #ddd;
}
.protobi .menu-popup td {
  position: relative;
}
.protobi .menu-popup tr:hover {
  background-color: #eee;
}
.protobi .menu-popup tr .delete {
  display: none;
  position: absolute;
  top: 0;
  right: 0;
  width: 30px;
  height: 100%;
  text-align: center;
}
.protobi .menu-popup tr:hover .delete {
  display: block;
}
.protobi .menu-popup tr:hover .delete:hover {
  background-color: #ddd;
}
.protobi .menu-popup .shortcut {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  display: inline-block;
  padding: 0 4px;
  color: #888;
}
.protobi .constraints {
  padding: 10px;
}
.protobi .constraints li {
  white-space: normal;
}
.protobi .constraints table {
  width: 100%;
  border-top: 1px solid #eee;
}
.protobi .constraints td {
  padding: 5px;
  white-space: normal;
  vertical-align: top;
}
.protobi .constraints tr {
  border-bottom: 1px solid #eee;
}
.protobi .pure-menu-selected {
  background-color: #def;
}
.protobi .pure-menu-selected:hover {
  background-color: #cde;
}
.protobi .notes-icon {
  width: 20px;
  height: 20px;
  border-radius: 20px;
  background-color: #39c;
  line-height: 20px;
  color: #fff;
  text-align: center;
  position: absolute;
  top: 5px;
  right: 5px;
  cursor: pointer;
}
.protobi .notes-icon:after {
  position: absolute;
  bottom: 0;
  height: 0;
  width: 0;
  right: 10px;
  border: 5px solid transparent;
  border-bottom-color: #39c;
  content: "";
}
.protobi .notes-icon.empty {
  display: none;
  background-color: #39c;
  color: #fff;
}
.protobi .notes-icon.empty:after {
  border-bottom-color: #39c;
}
.protobi .heading:hover .notes-icon {
  display: block;
}
.protobi .element.block,
.protobi .crosstab.block {
  display: block;
}
.protobi .element.hidden {
  display: none !important;
}
.protobi .element.selected>.heading>.title {
  background-color: #def;
}
.protobi .element.selected>.heading>.title:hover {
  background-color: #cde;
}
.protobi .element,
.protobi .crosstab {
  display: inline-block;
  vertical-align: top;
  margin: 10px;
  position: relative;
}
.protobi .element .subtitle,
.protobi .crosstab .subtitle {
  font-weight: bold;
}
.protobi .element .heading,
.protobi .crosstab .heading {
  position: relative;
  margin-bottom: 10px;
}
.protobi .element .heading .title,
.protobi .crosstab .heading .title {
  display: inline-block;
  font-weight: bold;
  border-bottom: 5px solid #d3d3d3;
  width: 100%;
  min-height: 32px;
  line-height: 32px;
}
.protobi .element .heading .pill,
.protobi .crosstab .heading .pill {
  line-height: 24px;
  border-radius: 5px;
  display: inline-block;
  text-align: left;
  padding: 0 5px 0 5px;
  cursor: pointer;
  -webkit-user-select: auto;
  margin: 0 2px;
}
.protobi .element .heading .pill.hover,
.protobi .crosstab .heading .pill.hover {
  visibility: hidden;
}
.protobi .element .heading>.title:hover,
.protobi .crosstab .heading>.title:hover {
  background-color: #eee;
}
.protobi .element .heading>.title:hover .pill,
.protobi .crosstab .heading>.title:hover .pill {
  background-color: #8cf;
  -webkit-user-select: auto;
}
.protobi .element .heading>.title:hover .pill.hover,
.protobi .crosstab .heading>.title:hover .pill.hover {
  visibility: visible;
  background-color: transparent;
  border: 1px dashed #808080;
}
.protobi .element .heading.selected>.title,
.protobi .crosstab .heading.selected>.title {
  background-color: #def;
}
.protobi .element .heading.selected>.title:hover,
.protobi .crosstab .heading.selected>.title:hover {
  background-color: #cde;
}
.protobi .element .heading .icon-edit,
.protobi .crosstab .heading .icon-edit {
  position: absolute;
  top: 0;
  right: 0;
  visibility: hidden;
  float: right;
  padding: 2px;
}
.protobi .element .heading .icon-edit svg,
.protobi .crosstab .heading .icon-edit svg {
  width: 20px;
  height: 20px;
}
.protobi .element .heading .headline,
.protobi .crosstab .heading .headline {
  font-weight: bold;
  margin: 10px 0;
}
.protobi .element .heading:hover .icon-edit,
.protobi .crosstab .heading:hover .icon-edit {
  visibility: visible;
}
.protobi .element .heading.transparent,
.protobi .crosstab .heading.transparent {
  visibility: hidden;
}
.protobi .element :hover>.heading.transparent,
.protobi .crosstab :hover>.heading.transparent {
  visibility: visible;
}
.protobi .element .subheading,
.protobi .crosstab .subheading {
  display: block;
  vertical-align: top;
  margin-right: 10px;
  max-width: 100%;
}
.protobi .element .subheading .headline,
.protobi .crosstab .subheading .headline {
  font-weight: bold;
  margin: 10px 0;
}
.protobi .element .content,
.protobi .crosstab .content {
  margin: 10px 0;
  position: relative;
  -webkit-box-sizing: border-box; /* Safari/Chrome, other WebKit */
  -moz-box-sizing: border-box; /* Firefox, other Gecko */
  box-sizing: border-box; /* Opera/IE 8+ */
}
.protobi .element .content .sig,
.protobi .crosstab .content .sig {
  font-weight: normal;
  font-size: 12px;
  font-style: normal;
  color: #39c;
}
.protobi .element .footnote,
.protobi .crosstab .footnote {
  color: #aaa;
  font-style: italic;
  font-size: 12px;
  font-weight: bold;
  max-width: 400px;
}
.protobi .element.resizable>.content>.margin {
  display: none;
}
.protobi .element.horizontal,
.protobi .crosstab.horizontal {
  display: block;
}
.protobi .element.horizontal .content,
.protobi .crosstab.horizontal .content {
  display: inline-block;
  margin-right: 0;
  margin-left: auto;
}
.protobi .element.horizontal .subheading,
.protobi .crosstab.horizontal .subheading {
  display: inline-block;
  vertical-align: top;
  margin: 0px 10px 0 0;
  max-width: 100%;
}
.protobi .element.horizontal .subheading .footer,
.protobi .crosstab.horizontal .subheading .footer {
  margin-top: 20px;
}
.protobi .element.resizable.selected:hover >.content {
  border: 1px dashed #ccc;
}
.protobi .element.resizable.selected:hover >.content >.margin {
  border: 1px dashed #b22222;
  display: block;
  pointer-events: none;
}
.protobi .element.resizable.selected:hover >.content >.margin >.margin-handle {
  border: 5px solid #b22222;
  cursor: move;
  pointer-events: auto;
}
.protobi .element .js-plotly-plot svg .bartext {
  font-weight: bold;
  fill: #fff !important;
}
.protobi .element .js-plotly-plot svg .bartext .bartext-inside {
  font-weight: bold;
  fill: #fff !important;
}
.protobi .element .icon-chart-properties {
  position: absolute;
  top: 4px;
  left: 4px;
  height: 20;
  width: 20;
  display: none;
  color: #444;
  font-size: 14px;
  cursor: pointer;
}
.protobi .element .icon-chart-properties:hover {
  color: #39c;
}
.protobi .element>.content:hover >.icon-chart-properties {
  display: block;
}
.protobi .element>.content>.resize-handle {
  bottom: 0;
  right: 0;
  height: 10px;
  width: 10px;
  position: absolute;
  background-color: #39c;
  opacity: 0;
}
.protobi .element.selected:hover>.content>.resize-handle {
  opacity: 1;
  cursor: move;
}
.protobi .element.resizing {
  -webkit-touch-callout: none; /* iOS Safari */
  -webkit-user-select: none; /* Safari */
  -khtml-user-select: none; /* Konqueror HTML */
  -moz-user-select: none; /* Firefox */
  -ms-user-select: none; /* Internet Explorer/Edge */
  user-select: none; /* Chrome and Opera */
}
.protobi .element.compact {
  display: block;
}
.protobi .element.hide-heading >.heading {
  visibility: hidden;
}
.protobi .element.hide-heading:hover >.heading {
  visibility: visible;
}
.protobi .hover-border:hover {
  border: 1px dashed #aaa;
}
.protobi .element.slide {
  position: relative;
  border: 1px solid #aaa;
/***********  i'd like to hide header when not needed, but also be able to drop crosstabs to it*/
}
.protobi .element.slide >.content {
  position: relative;
}
.protobi .element.slide .headline,
.protobi .element.slide .description,
.protobi .element.slide .footnote {
  max-width: 1200px;
}
.protobi .element.slide >.heading {
  opacity: 0;
}
.protobi .element.slide:hover>.heading,
.protobi .element.slide.selected>.heading,
.protobi .element.slide .heading.drop-ready {
  opacity: 1;
/**********/
}
.protobi div[placeholder]:empty:before {
  content: attr(placeholder);
  pointer-events: none;
  display: block; /* For Firefox */
}
.protobi .description,
.protobi .headline {
  min-height: 2px;
  max-width: 400px;
  border: 1px solid #fff;
}
.protobi .description:hover,
.protobi .headline:hover {
  border: 1px dashed #aaa;
}
.protobi .headline:empty {
  margin: 0px !important;
}
.protobi tr.dist .pill {
  line-height: 21px;
  border-radius: 5px;
  display: inline-block;
  text-align: center;
  padding: 0 5px 0 5px;
  cursor: pointer;
/* for Firefox and IE */
  text-align: left;
  width: 150px;
}
.protobi tr.dist .pill:hover {
  background-color: #8cf;
}
.protobi .image .filter-bar,
.protobi .image .no-image {
  display: none;
}
.protobi .image .filter-bar *,
.protobi .image .no-image * {
  display: none;
}
.protobi .image .heading>.title {
  background-color: transparent !important;
}
.protobi .image .content {
  border: none !important;
}
.protobi .image .margin,
.protobi .image .resize-handle,
.protobi .image .margin-handle {
  display: none !important;
  border: none !important;
}
.protobi span.highlight {
  background-color: #9b6;
}
.protobi .visible-on-hover {
  opacity: 0;
}
.protobi .visible-on-hover:hover {
  opacity: 1;
}
.protobi .element tr.selected {
  background-color: #def;
}
.protobi .element table {
  display: block;
  overflow-y: auto;
  overflow-x: hidden;
  border-spacing: 0px;
  border-collapse: collapse;
  border: none;
  color: #555;
  margin-top: 20px;
  table-layout: fixed;
}
.protobi .element table th.sortable {
  cursor: pointer;
}
.protobi .element table th.sortable:hover {
  background-color: #eee;
}
.protobi .element table tr {
  line-height: 18px;
  height: 20px;
}
.protobi .element table col.value {
  width: 196px;
}
.protobi .element table col.freq {
  width: 80px;
}
.protobi .element table col.bars {
  width: 100px;
  min-width: 100px;
}
.protobi .element th.qty .col-title {
  max-height: 60px;
}
.protobi .element td {
  padding: 0;
}
.protobi .element tr.dist {
  line-height: 18px;
  overflow-y: hidden;
  cursor: pointer;
}
.protobi .element tr.dist:hover {
  background-color: #eee;
}
.protobi .element tr.selected:hover {
  background-color: #cde;
}
.protobi .element td.filterable:hover {
  background-color: #eee;
}
.protobi .element .normal {
  font-weight: 300 !important;
  white-space: normal !important;
}
.protobi .element col.value,
.protobi .element td.value,
.protobi .element th.value {
  width: 196px;
  min-width: 196px;
  max-width: 196px;
  overflow: hidden;
  text-align: left;
  vertical-align: top;
}
.protobi .element col.value img,
.protobi .element td.value img,
.protobi .element th.value img {
  max-height: 20px;
  width: auto !important;
  max-width: 100%;
  vertical-align: top;
}
.protobi .element col.key,
.protobi .element td.key,
.protobi .element th.key {
  text-align: left;
  padding: 0 8px;
  text-wrap: none;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.protobi .element col.qty,
.protobi .element td.qty,
.protobi .element th.qty {
  min-width: 80px;
  max-width: 80px;
  text-align: right;
  padding: 0 4px;
  vertical-align: top;
}
.protobi .element col.stat,
.protobi .element td.stat {
  padding: 0 4px;
  text-align: right;
}
.protobi .element .superscript {
  color: #39c;
  padding: 0 5px;
  text-align: center;
  font-weight: normal;
}
.protobi .element td.bars,
.protobi .element th.bars {
  min-width: 100px;
  max-width: 100px;
  position: relative;
  display: block;
  white-space: nowrap;
  vertical-align: top;
}
.protobi .element .bar {
  height: 18px;
  margin: 0;
  padding: 0;
  border-spacing: 0;
  background-color: #3e97d1;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
}
.protobi .element .bar.both {
  background-color: #16a;
}
.protobi .element .bar.st {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  display: inline-block;
  border-color: #555;
  border-style: solid;
  border-width: 1px 1px 1px 0;
}
.protobi .element .bar.fg {
  background-color: #3e97d1;
  display: inline-block;
}
.protobi .element .bar.bg {
  background-color: transparent;
  border-color: #555;
  border-style: solid;
  border-width: 1px 1px 1px 0;
  position: absolute;
  left: 0;
  top: 0;
}
.protobi .element .bar.df {
  border: none;
  background-color: transparent;
  display: inline-block;
}
.protobi .element .filtered .bar.fg {
  background-color: #fc0;
}
.protobi .element .filtered .bar.both {
  background-color: #fa0;
}
.protobi .element .stat {
  font-style: italic;
}
.protobi .element table.stacked tr.dist td.bars span:hover {
  background-color: #fa0 !important;
}
.protobi .element.nowrap col.value,
.protobi .element.nowrap td.value,
.protobi .element.nowrap th.value,
.protobi .element.nowrap td.dist,
.protobi .element.nowrap tr.dist .pill,
.protobi .element.nowrap label {
  text-wrap: none;
  white-space: nowrap;
  text-overflow: ellipsis;
  vertical-align: top;
  overflow-x: hidden;
}
.protobi .element.wrap col.value,
.protobi .element.wrap td.value,
.protobi .element.wrap th.value {
  padding-bottom: 10px;
}
.protobi .nobase .bar.both,
.protobi .nobase .bar .fg {
  background-color: #3e97d1;
}
.protobi .nobase .bar.bg {
  max-width: 0;
}
.protobi .nobase .selected .bar.fg,
.protobi .nobase .selected .bar.both {
  background-color: #fc0;
}
.protobi .nobase .selected .bar.bg {
  max-width: 0px;
}
.protobi .nobase.paired .bars {
  position: relative;
  vertical-align: top;
}
.protobi .nobase.paired .bar.fg {
  left: 0;
  top: 0;
  vertical-align: top;
}
.protobi .nobase.paired .qty {
  text-align: right;
  padding: 0 4px;
  vertical-align: top;
}
.protobi .nobase.paired th.qty,
.protobi .nobase.paired th.qty .superscript {
  text-align: center;
}
.protobi .element.section {
  display: block;
}
.protobi .element.section .description {
  width: 100%;
  max-width: 720px;
}
.protobi .element.primary .subheading {
  display: block;
  vertical-align: top;
  margin: 10px 10px 0 0;
  max-width: 820px;
  width: 100%;
}
.protobi .element.primary .chart-content {
  margin-top: 0;
  display: inline-block;
  border-collapse: collapse;
  overflow: visible;
}
.protobi .element.primary .chart-content .selectable:hover {
  box-shadow: inset 0 0 0 1000px rgba(0,0,0,0.2);
}
.protobi .element.primary .chart-content td,
.protobi .element.primary .chart-content th {
  box-sizing: border-box;
}
.protobi .element.primary .chart-content td.chart-value.show-bars,
.protobi .element.primary .chart-content th.chart-value.show-bars {
  border: 1px solid #fff;
}
.protobi .element.primary .chart-content td.nil,
.protobi .element.primary .chart-content th.nil {
  border-right: none !important;
  border-left: none !important;
}
.protobi .element.primary .chart-content td.too-small,
.protobi .element.primary .chart-content th.too-small {
  color: rgba(255,255,255,0) !important;
}
.protobi .element.primary .chart-content.show-bars td.first,
.protobi .element.primary .chart-content.show-bars th.first {
  border-left: none !important;
}
.protobi .element.primary .chart-content td.nil {
  color: #f00;
  position: relative;
}
.protobi .element.primary .chart-content tr.chart-row-title td.chart-row-title,
.protobi .element.primary .chart-content tr.chart-row-title th.chart-row-title {
  padding-top: 10px;
  text-align: left;
}
.protobi .element.primary .chart-content tr.chart-row {
  vertical-align: middle;
  white-space: nowrap;
}
.protobi .element.primary .chart-content tr.chart-row .bar-in-cell-inside-bar {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  height: 100%;
}
.protobi .element.primary .chart-content tr.chart-row .bar-in-cell-outside-bar {
  height: 100%;
  display: inline-block;
  vertical-align: middle;
}
.protobi .element.primary .chart-content tr.chart-row .bar-in-cell-inside-text {
  position: absolute;
  top: 0;
  left: 0;
  color: #000;
  padding-left: 4px;
}
.protobi .element.primary .chart-content tr.chart-row .bar-in-cell-outside-text {
  display: inline-block;
  color: #000;
  padding-left: 4px;
  line-height: 20px;
  vertical-align: middle;
}
.protobi .element.primary .chart-content tr.chart-row.inline {
  white-space: nowrap;
  vertical-align: middle;
}
.protobi .element.primary .chart-content tr.chart-row td.chart-row-title {
  white-space: normal;
  vertical-align: middle;
  margin-bottom: 10px;
}
.protobi .element.primary .chart-content tr.chart-row td.chart-row-title.above {
  padding-top: 20px;
}
.protobi .element.primary .chart-content tr.chart-row td.chart-row-title.inline {
  line-height: 18px;
}
.protobi .element.primary .chart-content tr.chart-row td.chart-row-title.stat {
  text-align: center;
}
.protobi .element.primary .chart-content tr.chart-row .stat-label {
  text-align: center;
}
.protobi .element.primary .chart-content tr.chart-row .chart-value {
  display: inline-block;
  height: 22px;
  min-height: 22px;
  line-height: 22px;
  color: #333;
  box-sizing: border-box;
  padding: 0;
  vertical-align: top;
}
.protobi .element.primary .chart-content tr.chart-row .chart-value .chart-value {
  vertical-align: top;
}
.protobi .element.primary .chart-content tr.chart-row .chart-value.inline {
  vertical-align: middle;
}
.protobi .element.primary .chart-content tr.chart-row .chart-value.show-bars {
  color: #fff;
  font-weight: bold;
}
.protobi .element.primary .chart-content tr.chart-row .chart-row-stat {
  vertical-align: top;
}
.protobi .element.primary .chart-content tr.chart-row.stat td.chart-value {
  text-align: left;
}
.protobi .element.primary .chart-content tr.chart-legend-row {
  vertical-align: top;
  text-align: left;
  color: #333;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  text-align: center;
}
.protobi .element.primary .chart-content tr.chart-legend-row .chart-legend-symbol {
  width: 16px;
  height: 16px;
  margin: 0px auto 0;
}
.protobi .element.primary .chart-content tr.chart-legend-row .chart-value,
.protobi .element.primary .chart-content tr.chart-legend-row .legend-label {
  display: inline-block;
  vertical-align: top;
  text-align: center;
  color: #000;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  white-space: normal;
  font-size: 12;
  line-height: 12px;
  height: 100%;
  padding: 4px 0;
}
.protobi .element.primary .chart-content tr.chart-legend-row .legend-label,
.protobi .element.primary .chart-content tr.chart-legend-row .stat-label {
  font-size: 12px;
}
.protobi .element.primary .chart-content .sortable:hover {
  background-color: #def !important;
}
.protobi .element.primary .chart-content.no-bars tr.horizontal {
  border-bottom: 1px solid #ddd;
  border-top: 1px solid #ddd;
}
.protobi .element.primary.nowrap tr.chart-row td.chart-row-title.inline {
  max-width: 100%;
  margin-bottom: 0;
  max-height: 22px;
  height: 22px;
}
.protobi .element.primary.nowrap tr.chart-row .hint--info::after {
  white-space: normal;
}
.protobi .element.primary.nowrap tr.chart-row-title td.chart-row-title.above {
  padding-top: 0 !important;
}
.protobi .element.primary.horizontal .subheading {
  display: inline-block;
  vertical-align: top;
  margin: 0px 10px 0 0;
  max-width: 100%;
}
.protobi .element.compact {
  padding: 0;
  margin: 0;
}
.protobi .element.compact table {
  padding: 0;
  margin: 0 10px 0 10px;
}
.protobi .element.compact table tbody {
  display: block;
}
.protobi .element.compact table .row-toggle.arrow-right {
  vertical-align: top;
  width: 0;
  height: 0;
  border-top: 8px solid transparent;
  border-bottom: 8px solid transparent;
  border-left: 8px solid #3e97d1;
  display: inline-block;
  margin-right: 4px;
}
.protobi .element.compact table .row-toggle.arrow-down {
  vertical-align: top;
  width: 0;
  height: 0;
  border-left: 8px solid transparent;
  border-right: 8px solid transparent;
  border-top: 8px solid #3e97d1;
  display: inline-block;
  margin-right: 4px;
}
.protobi .element.compact table thead td.qty {
  font-weight: normal;
}
.protobi .element.compact table tbody td.value {
  padding-left: 10px;
}
.protobi td.sig-pos {
  background-color: #cdf;
  color: #4682b4;
  position: relative;
}
.protobi td.sig-neg {
  background-color: #eee;
  color: #aaa;
}
/*
  td.sig-pos span:before
    content: '';
    vertical-align: top;
    width: 0;
    height: 0;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-bottom:5px solid #3e97d1;
    display: inline-block;
    margin-top:5px;
    margin-left: 2px;

  td.sig-neg span:before
    content: '';
    vertical-align: top;
    width: 0;
    height: 0;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-top:5px solid #888;
    display:inline-block;
    margin-top:5px;
    margin-left: 2px;
*/
/********************** CROSSTAB ******************************/
.crosstab>.content>table table {
  padding-right: 10px;
}
.crosstab>.content>table tfoot {
  border-top: 1px solid #ccc;
}
.crosstab>.content>table th {
  padding: 0;
  text-align: left;
}
.protobi .element.datagrid .jsgrid td {
  padding: 5px 10px;
}
.protobi .element.datagrid table.jsgrid-table {
  margin-top: 0;
  display: table;
}
.protobi .element.datagrid .jsgrid-pager-page,
.protobi .element.datagrid .jsgrid-pager-nav-button {
  padding: 0 5px;
  margin: 0 2px;
}
.protobi .element.datagrid .jsgrid-pager-page a,
.protobi .element.datagrid .jsgrid-pager-nav-button a,
.protobi .element.datagrid .jsgrid-pager-page a:visited,
.protobi .element.datagrid .jsgrid-pager-nav-button a:visited {
  color: #000;
  text-decoration: none;
}
/********************** FIELDLIST ******************************/
.scrollable {
  padding: 5px;
  max-height: 95%;
  position: static;
  width: 100%;
  overflow-y: auto;
  overflow-x: hidden;
  -webkit-transform: translateZ(0);
}
.fieldlist-drop {
  height: 8px;
}
.fieldlist {
  padding: 10px;
  padding-bottom: 120px;
  max-width: 100%;
  overflow: hidden;
}
.fieldlist .icon {
  position: relative;
  display: inline-block;
}
.fieldlist ul {
  list-style-type: none;
  padding: 0;
  margin: 0;
  width: 100%;
}
.fieldlist li.fieldlist-item {
  text-decoration: none;
  margin: 0;
  line-height: 24px;
}
.fieldlist li.fieldlist-item.hidden>.abc>.label {
  text-decoration: line-through;
  color: #aaa;
}
.fieldlist li.fieldlist-item .abc {
  white-space: nowrap;
  position: relative;
}
.fieldlist li.fieldlist-item .abc .label {
  margin-left: 20px;
  height: 24px;
  text-wrap: none;
  display: inline-block;
  white-space: nowrap;
  text-overflow: ellipsis;
  text-align: left;
  cursor: pointer;
  max-width: 220px;
  width: 100%;
}
.fieldlist li.fieldlist-item .abc .label .pill {
  height: 24px;
  line-height: 24px;
  border-radius: 5px;
  display: inline-block;
  text-align: center;
  padding: 0 5px 0 5px;
  cursor: pointer;
  -webkit-user-select: auto;
  margin: 0 2px;
}
.fieldlist li.fieldlist-item .abc .label .pill:hover {
  background-color: #8cf;
}
.fieldlist li.fieldlist-item .abc .options {
  position: absolute;
  top: 1px;
  bottom: 1px;
  right: 0px;
  width: 30px;
  vertical-align: middle;
  line-height: 20px;
  text-align: center;
  color: #39c;
  visibility: hidden;
  font-weight: bold;
  border-radius: 4px;
  background-color: #fff;
}
.fieldlist li.fieldlist-item ul.list-kids,
.fieldlist li.fieldlist-item ul.item-kids {
  padding-left: 20px;
  box-sizing: border-box;
}
.fieldlist li.fieldlist-item img {
  max-height: 22px;
  width: auto !important;
  max-width: 100%;
  vertical-align: top;
}
.fieldlist .selected.label.drop-ready {
  background-color: #fa0;
}
.fieldlist .selected>.abc {
  background-color: #def;
}
.fieldlist .filter {
  display: none;
}
.fieldlist li.fieldlist-item>.abc:hover {
  background-color: #def;
}
.fieldlist li.fieldlist-item>.abc:hover .options {
  visibility: visible;
}
.fieldlist li.fieldlist-item.selected>.abc:hover>.label {
  background-color: #cde;
}
.fieldlist.filtering .item-kids {
  visibility: visible !important;
}
.placed>li>.label>.key {
  font-weight: 700;
  color: #444;
}
.placed .title {
  font-weight: 300;
}
.spacer {
  height: 360px;
}
.editorOnly .fa.fa-lock {
  font-family: Font Awesome 5 Free;
  font-weight: 900;
  color: #fff;
  line-height: 18px;
  vertical-align: middle;
  text-align: center;
  position: relative;
}
.note-entry {
  border-collapse: collapse;
  border-bottom: 1px solid #808080;
  padding: 10px 0px;
  margin: 0 10px;
  width: 360px;
  position: relative;
  cursor: pointer;
}
.note-entry.section {
  background-color: #eee;
}
.note-entry td {
  padding-top: 5px;
  padding-bottom: 5px;
}
.note-entry .delete {
  position: absolute;
  top: 10px;
  right: 0px;
  height: 20px;
  width: 20px;
  border-radius: 10px;
  content: 'x';
  background-color: #b22222;
  display: none;
  color: #fff;
  line-height: 20px;
  text-align: center;
  cursor: pointer;
}
.note-entry:hover {
  background-color: #def;
}
.note-entry:hover .delete {
  display: block;
}
.note-entry textarea {
  border-radius: 5px;
  border: 1px solid #808080;
  width: 100%;
  font-size: 12px;
}
.note-entry .note-by {
  font-size: 8px;
  font-weight: bold;
}
.note-entry .note-date {
  font-size: 8px;
  color: #808080;
}
.note-entry .note-content {
  font-size: 12px;
  color: #000;
  cursor: pointer;
}
.note-new {
  margin-top: 10px;
}
.element .notes-dialog tr.note-entry {
  padding: 10px 0;
  height: 40px;
  border-top: 1px solid #808080;
  cursor: pointer;
}
.element .notes-dialog thead tr {
  background-color: #e8e8e8;
}
/********************** LAYOUT ******************************/
.twocol-east.element.layout>.content {
  padding-bottom: 360px;
}
.element.layout {
  height: 100%;
  display: block !important;
  margin: 10px 20px;
}
.element.layout .canvas {
  position: relative;
  min-height: 400px;
  padding: 10px;
}
.element.layout .canvas .content {
  position: relative;
  padding: 0;
}
.element.layout .drop-area {
  color: #ccc;
  font-size: 18px;
  font-weight: 700;
  padding: 20px;
}
.element.layout .tabs {
  display: block;
}
.element.layout .tabs.border-top {
  border-top: 1px solid #d3d3d3;
}
.element.layout .tab.header {
  height: 24px;
  line-height: 24px;
  padding: 0px 10px;
  display: inline-block;
  width: auto;
  cursor: pointer;
  background-color: #eee;
  border: 1px solid #d3d3d3;
  border-bottom: 1px solid #d3d3d3;
}
.element.layout .tab.header.active {
  background-color: #fff;
  border-bottom: 1px solid #fff;
}
.element.layout .tab.header.selected {
  background-color: #def !important;
}
.element.layout .tab.header.editorOnly {
  background-color: #444;
  color: #fff;
}
.element.layout .tab.header.editorOnly.active {
  background-color: #808080;
  color: #fff;
}
.element.layout .tab.add {
  min-width: 24px;
  text-align: center;
}
.element.layout .tab.header:hover {
  background-color: #eee;
}
.element.layout .tab.header.active:hover {
  background-color: #eee;
}
.element.layout .tab.header.selected:hover {
  background-color: #cde !important;
}
.element.layout .tab.header.drop-ready {
  background-color: #fc0;
}
/********************** FILTER BARS ******************************/
.filter-bar {
  clear: both;
}
.filter-bar input {
  max-width: 98%;
  width: 180px;
}
.filter-bar-clear {
  display: inline-block;
  color: #a9a9a9;
  position: relative;
  top: -1px;
  left: -36px;
  border-radius: 10px;
  height: 24px;
  width: 28px;
  text-align: center;
  margin-right: -30px;
}
.filter-bar-clear:hover {
  background-color: #eee;
}
.venn-area.hover {
  fill: #fff !important;
  stroke-width: 5px;
  stroke: #000;
  color: #000;
}
.venn-area.hover text {
  stroke-width: 0px;
  stroke: #000;
}
.filterpanel input,
.filterpanel select {
  height: 28px;
  border-radius: 2px;
  width: 160px;
  vertical-align: top;
}
.properties .panel {
  min-width: 400px;
  max-width: 600px;
}
.properties pre {
  outline: 1px solid #ccc;
  padding: 5px;
  margin: 5px;
}
.properties .string {
  color: #9bbb59;
}
.properties .number {
  color: #8e4585;
}
.properties .boolean {
  color: #26a;
}
.properties .null {
  color: #ff8c00;
}
.properties .key {
  color: #26a;
}
.properties .properties-section .properties-section {
  margin-left: 10px;
}
.properties .properties-entry {
  margin: 1px 0;
  vertical-align: bottom;
  line-height: 28px;
}
.properties .properties-attr {
  display: inline-block;
  width: 160px;
}
.properties .properties-input {
  display: inline-block;
  height: 28px;
  border-radius: 2px;
  width: 160px;
}
.properties .properties-section-title {
  padding: 5px;
  margin: 5px 0;
  background-color: #fff;
  font-weight: bold;
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
}
.properties .properties-section-title:hover {
  background-color: #eee;
}
.properties .properties-section-title:before {
  display: inline-block;
  text-align: center;
  margin: 0 4px;
  border: 1px solid #888;
  content: '+';
  line-height: 14px;
  height: 14px;
  width: 14px;
  vertical-align: middle;
}
.properties .properties-section-title.expanded:before {
  content: '–';
}
.properties .entry-remove {
  visibility: hidden;
  cursor: pointer;
  color: #b22222;
  font-weight: bold;
}
.properties .entry-remove,
.properties .entry-add {
  padding: 0 5px;
}
.properties .entry-add {
  color: #9b6;
}
.properties .properties-entry:hover .entry-remove,
.properties .properties-section-title:hover .entry-remove {
  visibility: visible;
}
.properties .properties-entry.new-entry.empty * {
  visibility: hidden;
}
.properties .properties-entry.new-entry.empty:hover.new-entry * {
  visibility: visible;
}
/********* wordcloud *************/
.element.wordcloud span {
  cursor: pointer;
}
.element.wordcloud span:hover {
  background-color: #ddd !important;
}
.dialog.properties .heritable {
  font-size: 10px;
  font-color: #808080;
  font-style: italic;
  padding: 0 5px;
  line-height: 14px;
}
.dialog .dialog-section-title {
  font-size: 12px;
  margin-top: 12px;
}
.dialog .dialog-button {
  font-size: 12px;
  margin: 2px;
}
.dialog .dialog-button.selected {
  background-color: #9b6;
  color: #fff;
}
.dialog .beta {
  font-size: 14px;
  color: #39c;
}
.pure-button.chart {
  width: 64px;
  max-width: 64px;
  height: 64px;
  padding: 0;
  text-align: center;
}
.icon-chart {
  width: 40px;
  max-width: 40px;
  height: 40px;
  display: inline-block;
}
.disabled .icon-chart {
  opacity: 0.2;
}
.icon-chart.core {
  background: url("/images/icons.png") 0 0;
  background-size: 700% 500%;
}
.icon-chart.paired {
  background: url("/images/icons.png") -40px 0;
  background-size: 700% 500%;
}
.icon-chart.tornado {
  background: url("/images/icons.png") -80px 0;
  background-size: 700% 500%;
}
.icon-chart.column {
  background: url("/images/icons.png") 0 -40px;
  background-size: 700% 500%;
}
.icon-chart.bar {
  background: url("/images/icons.png") -40px -40px;
  background-size: 700% 500%;
}
.icon-chart.line {
  background: url("/images/icons.png") -80px -40px;
  background-size: 700% 500%;
}
.icon-chart.pie {
  background: url("/images/icons.png") 0 -80px;
  background-size: 700% 500%;
}
.icon-chart.scatter {
  background: url("/images/icons.png") -40px -80px;
  background-size: 700% 500%;
}
.icon-chart.cumulative {
  background: url("/images/icons.png") -80px -80px;
  background-size: 700% 500%;
}
.icon-chart.sankey {
  background: url("/images/icons.png") -200px -80px;
  background-size: 700% 500%;
}
.icon-chart.venn {
  background: url("/images/icons.png") 0 -120px;
  background-size: 700% 500%;
}
.icon-chart.cloud {
  background: url("/images/icons.png") -40px -120px;
  background-size: 700% 500%;
}
.icon-chart.pmap {
  background: url("/images/icons.png") -80px -120px;
  background-size: 700% 500%;
}
.icon-chart.tabs {
  background: url("/images/icons.png") -200px -120px;
  background-size: 700% 500%;
}
.icon-chart.data {
  background: url("/images/icons.png") 0 -160px;
  background-size: 700% 500%;
}
.icon-chart.primary {
  background: url("/images/icons.png") -40px -160px;
  background-size: 700% 500%;
}
.icon-chart.wrap {
  background: url("/images/icons.png") -80px -160px;
  background-size: 700% 500%;
}
.icon-chart.legend {
  background: url("/images/icons.png") -120px 0px;
  background-size: 700% 500%;
}
.icon-chart.swap {
  background: url("/images/icons.png") -120px -40px;
  background-size: 700% 500%;
}
.icon-chart.stack {
  background: url("/images/icons.png") -120px -80px;
  background-size: 700% 500%;
}
.icon-chart.global {
  background: url("/images/icons.png") -120px -120px;
  background-size: 700% 500%;
}
.icon-chart.legend-top {
  background: url("/images/icons.png") -160px 0px;
  background-size: 700% 500%;
}
.icon-chart.legend-right {
  background: url("/images/icons.png") -160px -40px;
  background-size: 700% 500%;
}
.icon-chart.legend-bottom {
  background: url("/images/icons.png") -160px -80px;
  background-size: 700% 500%;
}
.icon-chart.legend-none {
  background: url("/images/icons.png") -160px -120px;
  background-size: 700% 500%;
}
.icon-chart.legend-top-flat {
  background: url("/images/icons.png") -160px -160px;
  background-size: 700% 500%;
}
.icon-chart.legend-inside {
  background: url("/images/icons.png") -120px -160px;
  background-size: 700% 500%;
}
.icon-chart.reverse-x {
  background: url("/images/icons.png") -200px 0px;
  background-size: 700% 500%;
}
.icon-chart.reverse-y {
  background: url("/images/icons.png") -200px -40px;
  background-size: 700% 500%;
}
.icon-chart.layout-std {
  background: url("/images/icons.png") -240px 0px;
  background-size: 700% 500%;
}
.icon-chart.layout-4-3 {
  background: url("/images/icons.png") -240px -40px;
  background-size: 700% 500%;
}
.icon-chart.layout-16-9 {
  background: url("/images/icons.png") -242px -76px;
  background-size: 700% 500%;
}
/*********** IMPORT *********************/
.import-zone {
  border: 1px solid #808080;
  margin: 5px;
  padding: 5px;
}
.import-zone-drop {
  border: 1px dashed #808080;
  padding: 5px;
  margin: 5px;
}
/**************** MODAL ********************/
/********* PURE BUTTON EXAMPLE **********/
.pure-button {
  -webkit-font-smoothing: auto;
}
.pure-button.pure-button-white {
  background: #fff;
  border: 1px solid #ccc;
}
.pure-button.button-success {
  background-color: #1cb841; /* this is a green */
  color: #fff;
}
.pure-button.button-success.pure-button-disabled {
  background-color: #8edca0; /* this is a green */
  color: #fff;
}
.pure-button.button-error {
  background-color: #ca3c3c; /* this is a maroon */
}
.pure-button.button-warning {
  background-color: #df7514; /* this is an orange */
}
.pure-button.button-secondary {
  background-color: #42b8dd; /* this is a light blue */
}
.pure-menu {
  visibility: hidden;
}
.pure-menu-selected {
  background-color: #ddd;
}
.pure-button-primary {
  background-color: #3e97d1;
}
.pure-button-primary.pure-button-active {
  background-color: #26a;
  font-color: #fff;
}
.pure-button-gold {
  background-color: #fc0;
}
.pure-button-gold:hover {
  background-color: #fa0;
}
.pure-button-primary:hover {
  background-color: #26a;
  font-color: #fff;
}
.pure-button-primary.button-success:hover {
  background-color: #228b22 !important;
  color: #fff;
}
.pure-button-clear {
  background-color: transparent;
  border: 0;
}
/*********** PANEL *********************/
.panel {
  background-color: #fff;
  opacity: 1;
  overflow-y: auto;
  border-radius: 5px;
}
.panel-heading {
  background: #1f8dd6;
  padding: 10px;
}
.panel-title {
  font-weight: 700;
  color: #fff;
  font-size: 16px;
}
.panel-body {
  padding: 10px;
}
.panel-footer {
  padding: 5px;
}
.panel-help {
  display: inline-block;
  height: 20px;
  width: 20px;
  color: #39c;
  background: #fff;
  border-radius: 10px;
  float: right;
  line-height: 20px;
  position: absolute;
  top: 0;
  right: 0;
  margin: 10px;
  text-align: center;
  font-weight: bold;
  text-decoration: none;
}
.simplemodal-container {
  max-height: 90%;
}
#simplemodal-container {
  max-height: 90%;
}
/********** LIQUID TWO COLUMN LAYOUT ***************/
.twocol {
  height: 100%;
  width: 100%;
  position: relative;
  overflow-y: hidden;
  overflow-x: hidden;
}
.twocol-center {
  position: relative;
  width: 100%;
  margin-bottom: 60px;
}
.twocol .twocol-east {
  height: 100%;
  overflow-y: auto;
  position: relative;
  margin-top: 0;
}
.twocol .twocol-west {
  width: 240px;
  float: left;
  padding-bottom: 180px;
  height: 100%;
}
.twocol .twocol-west-handle {
  float: left;
  width: 10px;
  height: 100%;
  background-color: #ccc;
}
.twocol .twocol-west-handle:hover {
  background-color: #fc0;
}
.twocol .twocol-south {
  position: absolute;
  bottom: 0px;
  left: 0;
  width: 260px;
  opacity: 0.8;
  height: 14px;
  color: #888;
  z-index: 1001;
  font-size: 12px;
  background-color: #fff;
}
.twocol .twocol-south a,
.twocol .twocol-south a:visited,
.twocol .twocol-south a:link,
.twocol .twocol-south a:active {
  color: #888;
  text-decoration: none;
}
.twocol .twocol-south a:hover {
  color: #fa0;
}
/***************  LIST AND DASHBOARD INDEPENDENTLY SCROLLABLE  *********************/
.twocol .twocol-center {
  height: 100%;
}
.twocol .twocol-west {
  height: 100%;
}
.dialog-history .timestamp {
  width: 300px;
  font-size: 14px;
  color: #333;
  border-top: 1px solid #808080;
  border-bottom: 1px solid #808080;
  margin-top: -1px;
  padding: 10px 10px;
}
.dialog-history .timestamp:hover {
  background-color: #def;
}
.dialog-history .timestamp.selected {
  background-color: #9b6;
}
/*** COLOR DIALOG ****/
.color-dialog .swatch {
  height: 20px;
  width: 20px;
  display: inline-block;
  margin: 1px;
  vertical-align: middle;
  border: 1px solid #ccc;
}
.color-dialog .selectable:hover {
  opacity: 0.5;
}
.color-dialog .selectable.selected {
  -webkit-box-shadow: 0 0 5px #39c;
  -moz-box-shadow: 0 0 5px #39c;
  box-shadow: 0 0 5px #39c;
}
/******** IMPORT DIALOG ************/
.import {
  background-color: #fff;
}
.import .import-zone {
  border: 1px solid #808080;
  margin: 5px;
  padding: 5px;
}
.import .import-zone-select {
  position: relative;
  overflow: hidden;
  margin: 0px;
  padding: 20px;
  border: 2px dashed #808080;
  color: #808080;
  height: 100px;
  width: 150px;
}
.import .import-zone-select:hover {
  background-color: #eee;
}
.import .import-zone-select.dragover {
  background-color: #b0c4de;
}
.import #import-file-input {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  opacity: 0;
  float: left;
}
.import .progress {
  width: 100%;
}
.import .progress-bar {
  height: 24px;
  width: 0%;
  background-color: #ffa500;
}
.import .progress-pct {
  text-align: center;
  width: 100%;
}
.protobi .pmap .label-brand {
  font-weight: bold;
  font-size: 16px;
  fill: #aaa;
}
.protobi .pmap .label-attr {
  font-size: 12px;
}
.protobi .verbatim {
  max-height: 100%;
  height: 100%;
}
.protobi .verbatim .icon-edit {
  font-size: 18px;
  width: 24px;
  font-weight: bold;
  color: #d3d3d3;
  position: absolute;
  line-height: 34px;
  top: 0;
  left: 4px;
}
.protobi .verbatim .background {
  left: 0px;
  right: 0px;
  top: 0px;
  bottom: 0px;
  position: absolute;
  background-color: #ccc;
  opacity: 0.9;
  display: block;
}
.protobi .verbatim .foreground {
  left: 0px;
  right: 0px;
  top: 0px;
  bottom: 0px;
  position: absolute;
  display: block;
}
.protobi .verbatim .container {
  margin-bottom: 100px;
  display: block;
  overflow-y: auto;
  background-color: #fff;
  padding: 20px;
  position: relative;
  border-radius: 10px;
  max-height: 80%;
  margin: 40px;
}
.protobi .verbatim .column {
  display: inline-block;
  padding-bottom: 100px;
}
.protobi .verbatim .verbatim-search-bar {
  padding: 5px;
  position: relative;
}
.protobi .verbatim .verbatim-search-bar input {
  width: 270px;
}
.protobi .verbatim .verbatim-search-bar button {
  margin-left: 5px;
}
.protobi .verbatim .verbatim-search-bar .popup {
  position: absolute;
  top: 30px;
  left: 30px;
  width: 330px;
  min-width: 300px;
  text-align: left;
  border: 1px solid #bbb;
  display: none;
  background: #fff;
  padding: 10px;
  z-index: 1000;
}
.protobi .verbatim .verbatim-search-bar .popup td {
  padding: 2px 5px;
  border-bottom: 1px solid #eee;
}
.protobi .verbatim .verbatim-search-bar .popup .code {
  font-family: "Courier New", Courier, monospace;
  color: #39c;
  font-weight: bold;
}
.protobi .verbatim .verbatim-codes-list {
  width: 400px;
  display: inline-block;
  vertical-align: top;
  height: 100%;
  max-height: 440px;
  overflow-y: auto;
  padding-bottom: 100px;
}
.protobi .verbatim .verbatim-code {
  display: block;
  margin: 5px;
  border: 1px solid #808080;
  border-radius: 10px 10px 0 0;
}
.protobi .verbatim .verbatim-code-new {
  border-radius: 10px;
  height: 28px;
  line-height: 28px;
}
.protobi .verbatim .verbatim-code-header {
  background: #eee;
  line-height: 24px;
  padding: 5px 5px 5px 30px;
  position: relative;
  border-radius: 10px 10px 0 0;
}
.protobi .verbatim .verbatim-code-contents {
  max-height: 400px;
  overflow-y: auto;
}
.protobi .verbatim .verbatim-code-entry {
  position: relative;
  line-height: 24px;
  border-top: 1px solid #808080;
  padding: 5px;
}
.protobi .verbatim .verbatim-code-entry.selected {
  background-color: #def;
}
.protobi .verbatim .verbatim-code-entry:hover {
  background-color: #eee;
}
.protobi .verbatim .verbatim-code-entry:hover .close,
.protobi .verbatim .verbatim-code-entry:hover .cancel {
  display: block;
}
.protobi .verbatim .verbatim-code-entry.selected:hover {
  background-color: #cde;
}
.protobi .verbatim .verbatim-code-header:hover {
  background-color: #def;
}
.protobi .verbatim .verbatim-code-header:hover .close,
.protobi .verbatim .verbatim-code-header:hover .cancel {
  display: block;
}
.protobi .verbatim .verbatim-grid {
  max-height: 500px;
  max-width: 600px;
  overflow-y: auto;
}
.protobi .verbatim .verbatim-grid table {
  line-height: 24px;
  border-collapse: collapse;
}
.protobi .verbatim .verbatim-grid table td {
  padding: 5px;
  border: 1px solid #ccc;
  vertical-align: top;
}
.protobi .verbatim .dragover {
  background-color: #fc0;
}
.protobi .verbatim .verbatim-code-header.dragover.copy,
.protobi .verbatim .verbatim-code-new.dragover.copy {
  background-color: #9b6;
}
.protobi .verbatim .freq {
  height: 20px;
  width: 20px;
  position: absolute;
  top: 4px;
  right: 4px;
  bottom: 4px;
  text-align: center;
  pointer-events: none;
}
.protobi .verbatim .close {
  width: 24px;
  height: 24px;
  padding: 5px;
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  text-align: center;
  display: none;
  opacity: 1;
}
.protobi .verbatim .close:hover {
  background-color: #ccc;
}
.protobi .verbatim .verbatim-close,
.protobi .verbatim .verbatim-cancel {
  position: absolute;
  color: #000;
  font-size: 24px;
  display: inline-block;
  height: 30px;
  border-radius: 15px;
  line-height: 30px;
  text-align: center;
  padding: 5px 10px;
}
.protobi .verbatim .verbatim-close {
  top: 10px;
  right: 10px;
  background-color: #39c;
  color: #fff;
}
.protobi .verbatim .verbatim-cancel {
  top: 10px;
  right: 100px;
}
.protobi .verbatim .verbatim-close:hover,
.protobi .verbatim .verbatim-cancel:hover {
  background-color: #ccc;
}
.protobi .verbatim .verbatim-hint {
  horizontal-align: right;
  height: 150px;
  width: 150px;
  background-color: #da3;
  color: #fff;
  border-radius: 75px;
  text-align: center;
  vertical-align: middle;
  display: table-cell;
  padding: 10px;
  position: relative;
}
/********* TOOLTIPS *************/
.hint--info:after {
  background-color: #4ae;
  color: #fff;
  font-weight: 300;
  text-shadow: 0 1px 0px #4ae;
  min-width: 100px;
  text-align: left;
}
.hint--info.hint--top:before {
  border-top-color: #4ae;
}
.hint--info.hint--bottom:before {
  border-bottom-color: #4ae;
}
.hint--info.hint--left:before {
  border-left-color: #4ae;
}
.hint--info.hint--right:before {
  border-right-color: #4ae;
}
.hint--right:before {
  left: 90%;
  bottom: 40%;
}
.hint--right:after {
  left: 90%;
  top: -10%;
}
.hint--left:before {
  right: 90%;
  bottom: 40%;
}
.hint--left:after {
  right: 102%;
  top: -10%;
}
.hint--wrap.hint:after,
.hint--wrap[data-hint]:after {
  white-space: normal;
  max-width: 300px;
  min-width: 200px;
}
.hint--scooch-way-left::after {
  margin-left: -100px;
}
.hint--never:after,
.hint--never:before {
  opacity: 0.5;
  display: none !important;
}
/******** d3.tip ************/
.d3-tip {
  line-height: 1;
  font-weight: normal;
  padding: 12px;
  background: rgba(0,0,0,0.7);
  color: #fff;
  border-radius: 2px;
}
.d3-tip td.pct {
  text-align: right;
}
/* Creates a small triangle extender for the tooltip */
.d3-tip:after {
  box-sizing: border-box;
  display: inline;
  font-size: 10px;
  width: 100%;
  line-height: 1;
  color: rgba(0,0,0,0.8);
  content: "\25BC";
  position: absolute;
  text-align: center;
}
/* Style northward tooltips differently */
.d3-tip.n:after {
  margin: -1px 0 0 0;
  top: 100%;
  left: 0;
}
.d3-tip .tip-interval td {
  font-size: 12px;
}
.d3-tip .tip-interval h3 {
  font-size: 14px;
}
.pure-button-active,
.pure-button:active {
  box-shadow: 0 0 4px #fff inset;
}
.pure-button-active,
.pure-button:active {
  box-shadow: 0 0 4px #fff inset;
}
/*http://stackoverflow.com/questions/7855590/how-can-i-prevent-scroll-bars-from-being-hidden-for-os-x-trackpad-users-in-webki*/
.protobi .element table::-webkit-scrollbar {
  -webkit-appearance: none;
}
.protobi .element table::-webkit-scrollbar:vertical {
  width: 11px;
}
.protobi .element table::-webkit-scrollbar-thumb {
  border-radius: 8px;
  border: 2px solid #fff; /* should match background, cannot be transparent */
  background-color: rgba(0,0,0,0.5);
}
.protobi .element table::-webkit-scrollbar-track {
  background-color: #fff;
  border-radius: 8px;
}
/* http://stackoverflow.com/questions/7059039/prevent-accidental-select-drag-highlight */
.unselectable {
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}
/************************ PALETTE COLOR PICKER ***************************/
.palette-color-picker-button {
  position: relative;
  display: inline-block;
  width: 28px;
  height: 28px;
  margin-right: 8px;
  background: url("data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path fill="#f5c86c" d="M2 2h8v8H2z"/><path fill="#f56c6c" d="M12 2h8v8h-8z"/><path fill="#f46ac6" d="M22 2h8v8h-8z"/><path fill="#c3f167" d="M2 12h8v8H2z"/><path fill="#f3f3f3" d="M12 12h8v8h-8z"/><path fill="#c76cf5" d="M22 12h8v8h-8z"/><path fill="#69e369" d="M2 22h8v8H2z"/><path fill="#6bc6f4" d="M12 22h8v8h-8z"/><path fill="#6b6bf5" d="M22 22h8v8h-8z"/><path d="M9 3v6H3V3h6m1-1H2v8h8V2zm9 1v6h-6V3h6m1-1h-8v8h8V2zm9 1v6h-6V3h6m1-1h-8v8h8V2zM9 13v6H3v-6h6m1-1H2v8h8v-8zm9 1v6h-6v-6h6m1-1h-8v8h8v-8zm9 1v6h-6v-6h6m1-1h-8v8h8v-8zM9 23v6H3v-6h6m1-1H2v8h8v-8zm9 1v6h-6v-6h6m1-1h-8v8h8v-8zm9 1v6h-6v-6h6m1-1h-8v8h8v-8z" opacity=".25"/></svg>") center center no-repeat;
  background-size: cover;
  cursor: pointer;
  box-shadow: 0 0 0 1px #bbb;
  border: 2px solid #fff;
}
.palette-color-picker-bubble {
  display: none;
  margin: 12px 0;
  position: absolute;
  bottom: 100%;
  width: 220px;
  padding: 10px 8px 8px 8px;
  border: 1px solid #bbb;
  border-radius: 3px;
  background-color: #fff;
}
.palette-color-picker-bubble:after,
.palette-color-picker-bubble:before {
  top: 100%;
  left: 14px;
  border: solid transparent;
  content: ' ';
  height: 0;
  width: 0;
  position: absolute;
  pointer-events: none;
}
.palette-color-picker-bubble:after {
  border-color: transparent;
  border-top-color: #fff;
  border-width: 8px;
  margin-left: -8px;
}
.palette-color-picker-bubble:before {
  border-color: transparent;
  border-top-color: #bbb;
  border-width: 9px;
  margin-left: -9px;
}
.palette-color-picker-bubble.downside {
  bottom: auto;
  top: 100%;
}
.palette-color-picker-bubble.downside:after,
.palette-color-picker-bubble.downside:before {
  top: auto;
  bottom: 100%;
}
.palette-color-picker-bubble.downside:after {
  border-top-color: transparent;
  border-bottom-color: #fff;
}
.palette-color-picker-bubble.downside:before {
  border-top-color: transparent;
  border-bottom-color: #bbb;
}
.palette-color-picker-bubble .swatch {
  position: relative;
  display: inline-block;
  font: 0/0 a;
  width: 12.66%;
  padding-top: 11%;
  margin: 1% 2%;
  outline: 1px solid #bbb;
  border: 2px solid #fff;
  border-radius: 3px;
  cursor: pointer;
  overflow: hidden;
}
.palette-color-picker-bubble .swatch.active {
  outline-color: #000;
  -webkit-box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.75);
  -moz-box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.75);
  box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.75);
}
.palette-color-picker-bubble .swatch.clear {
  background-color: #fff;
}
.palette-color-picker-bubble .swatch.clear:before {
  position: absolute;
  content: '';
  display: block;
  top: -1px;
  left: 0;
  width: 100px;
  height: 2px;
  background-color: #e00;
  transform-origin: 0 0;
  transform: rotate(45deg);
}
.palette-color-picker-bubble.double .swatch {
  width: 29.3%;
  padding-top: 11%;
  margin: 1% 2%;
}
.palette-color-picker-bubble.double .swatch.clear:before {
  transform: rotate(22.5deg);
}
.palette-color-picker-bubble.wide .swatch {
  width: 96.2%;
  padding-top: 11%;
  margin: 1% 2%;
}
.palette-color-picker-bubble.wide .swatch.clear {
  width: 12.66%;
}
.palette-color-picker-bubble.force-left {
  left: -178px;
}
.palette-color-picker-bubble.force-left:after,
.palette-color-picker-bubble.force-left:before {
  left: 188px;
}
/********************** SQUAIRE ***********************/
.squaire-tooltip,
.squaire-toolbox {
  font-size: 12px;
}
.squaire-tooltip h1,
.squaire-tooltip h2,
.squaire-tooltip h3,
.squaire-tooltip h4,
.squaire-tooltip h5,
.squaire-tooltip h6,
.squaire-toolbox h1,
.squaire-toolbox h2,
.squaire-toolbox h3,
.squaire-toolbox h4,
.squaire-toolbox h5,
.squaire-toolbox h6 {
  margin: 0;
}
.squaire-tooltip h6,
.squaire-toolbox h6 {
  font-size: 14px;
  margin-bottom: 3px;
}
.squaire-tooltip p,
.squaire-toolbox p {
  margin: 3px 0;
}
.squaire-tooltip .tooltip-note,
.squaire-toolbox .tooltip-note {
  padding: 6px 0 0;
  border-top: 1px solid #ddd;
}
.squaire-tooltip table.table,
.squaire-toolbox table.table {
  margin: 0;
  font-size: 12px;
  width: 100%;
  max-width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
}
.squaire-tooltip table.table td,
.squaire-tooltip table.table th,
.squaire-toolbox table.table td,
.squaire-toolbox table.table th {
  padding: 3px;
  border-top: 1px solid #ddd;
}
.squaire-tooltip table.table td:first-child,
.squaire-tooltip table.table th:first-child,
.squaire-toolbox table.table td:first-child,
.squaire-toolbox table.table th:first-child {
  padding-left: 0;
}
.squaire-tooltip table.table td:last-child,
.squaire-tooltip table.table th:last-child,
.squaire-toolbox table.table td:last-child,
.squaire-toolbox table.table th:last-child {
  padding-right: 0;
}
.squaire-tooltip table.table-bar td:last-child,
.squaire-toolbox table.table-bar td:last-child {
  width: 100%;
}
.squaire-tooltip .table > tbody > tr > td,
.squaire-tooltip .table > tbody > tr > th,
.squaire-tooltip .table > tfoot > tr > td,
.squaire-tooltip .table > tfoot > tr > th,
.squaire-tooltip .table > thead > tr > td,
.squaire-tooltip .table > thead > tr > th,
.squaire-toolbox .table > tbody > tr > td,
.squaire-toolbox .table > tbody > tr > th,
.squaire-toolbox .table > tfoot > tr > td,
.squaire-toolbox .table > tfoot > tr > th,
.squaire-toolbox .table > thead > tr > td,
.squaire-toolbox .table > thead > tr > th {
  line-height: 1.42857143;
  vertical-align: top;
}
.squaire-tooltip th,
.squaire-toolbox th {
  text-transform: uppercase;
  font-size: 10px;
  font-weight: 500;
  color: #999;
  text-align: left;
}
.squaire-tooltip table.table td:last-child,
.squaire-tooltip table.table th:last-child,
.squaire-toolbox table.table td:last-child,
.squaire-toolbox table.table th:last-child {
  text-align: right;
}
.squaire-tooltip {
  background-color: rgba(255,255,255,0.95);
  box-shadow: 0;
  border: 1px solid #a8a7a5;
  padding: 8px;
  max-width: 200px;
}
.squaire-tooltip:after,
.squaire-tooltip:before {
  top: 100%;
  left: 50%;
  border: solid transparent;
  content: " ";
  height: 0;
  width: 0;
  position: absolute;
  pointer-events: none;
}
.squaire-tooltip:after {
  border-color: rgba(255,255,255,0);
  border-top-color: rgba(255,255,255,0.95);
  border-width: 8px;
  margin-left: -8px;
}
.squaire-tooltip:before {
  border-color: rgba(168,167,165,0);
  border-top-color: #696866;
  border-width: 9px;
  margin-left: -9px;
}
.squaire-tooltip.w:after,
.squaire-tooltip.w:before {
  top: 50%;
  left: 100%;
}
.squaire-tooltip.w:after {
  border-color: rgba(255,255,255,0);
  margin: 0px;
  border-left-color: rgba(255,255,255,0.95);
  margin-top: -7px;
}
.squaire-tooltip.w:before {
  border-color: rgba(168,167,165,0);
  margin: 0px;
  border-left-color: #696866;
  margin-top: -8px;
}
.squaire-tooltip.e:after,
.squaire-tooltip.e:before {
  top: 50%;
  left: 0%;
}
.squaire-tooltip.e:after {
  border-color: rgba(255,255,255,0);
  border-right-color: rgba(255,255,255,0.95);
  margin-left: -16px;
  margin-top: -7px;
}
.squaire-tooltip.e:before {
  border-color: rgba(168,167,165,0);
  border-right-color: #696866;
  margin-left: -18px;
  margin-top: -8px;
}
.squaire-tooltip.s:after,
.squaire-tooltip.s:before {
  top: 0%;
}
.squaire-tooltip.s:after {
  border-color: rgba(255,255,255,0);
  border-bottom-color: rgba(255,255,255,0.95);
  margin-top: -16px;
}
.squaire-tooltip.s:before {
  border-color: rgba(168,167,165,0);
  border-bottom-color: #696866;
  margin-top: -18px;
}
.squaire rect {
  stroke-width: 2;
  stroke: #fff;
  fill: #eee;
}
.squaire text {
  alignment-baseline: central;
  text-anchor: middle;
  fill: #333;
  font-size: 14px;
  pointer-events: none;
}
.squaire text.freq {
  font-size: 12px;
}
.squaire[data-breakpoint="medium"] text {
  font-size: 13px;
}
.squaire[data-breakpoint="small"] text {
  font-size: 12px;
}
.squaire[data-breakpoint="small-xsmall"] text {
  font-size: 10px;
}
.squaire[data-breakpoint="small-thumbnail"] text {
  display: none;
}
.squaire[data-breakpoint="medium"] text.freq {
  font-size: 12px;
}
.squaire[data-breakpoint="small"] text.freq {
  font-size: 10px;
}
.squaire[data-breakpoint="small-xsmall"] text.freq {
  display: none;
}
.squaire[data-breakpoint="small-thumbnail"] text.freq {
  display: none;
}
/************************ DEBUG ***************************/
.debug div {
  border: 1px dashed #808080;
}
.debug td,
.debug th {
  border: 1px dashed #f00 !important;
}
/************************ BACKGRID ***************************/
.backgrid-container {
  position: relative;
  display: block;
  width: 100%;
  height: 465px;
  padding: 0;
  overflow: auto;
  border: 0;
}
.backgrid {
  width: 100%;
  max-width: 100%;
  background-color: transparent;
  border-collapse: collapse;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
}
.backgrid th,
.backgrid td {
  display: none;
  height: 20px;
  max-width: 250px;
  padding: 4px 5px;
  overflow: hidden;
  line-height: 20px;
  text-align: left;
  text-overflow: ellipsis;
  white-space: nowrap;
  vertical-align: middle;
  border-bottom: 1px solid #ddd;
}
.backgrid th.renderable,
.backgrid td.renderable {
  display: table-cell;
}
.backgrid th {
  font-weight: bold;
  text-align: center;
}
.backgrid th.sortable a {
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
}
.backgrid thead th {
  vertical-align: bottom;
  background-color: #f9f9f9;
}
.backgrid thead th button {
  display: block;
  padding: 0;
  background: none;
  border: none;
}
.backgrid.backgrid-striped tbody tr:nth-child(even) {
  background-color: #f9f9f9;
}
.backgrid tbody tr.empty {
  font-style: italic;
  color: #808080;
}
.backgrid tbody tr.empty td {
  display: table-cell;
  text-align: center;
}
.backgrid td.editor {
  padding: 0;
}
.backgrid td.editor,
.backgrid tbody tr:nth-child(odd) td.editor {
  background-color: rgba(82,168,236,0.1);
  outline: 1px solid rgba(82,168,236,0.8);
  outline-offset: -1px;
}
.backgrid td.editor input[type=text]::-ms-clear {
  display: none;
}
.backgrid td.error,
.backgrid tbody tr:nth-child(odd) td.error {
  background-color: rgba(255,210,77,0.1);
  outline: 1px solid #ffd24d;
}
.backgrid td.editor :focus,
.backgrid th.editor :focus {
  outline: 0;
}
.backgrid .sort-caret {
  display: inline-block;
  width: 0;
  height: 0;
  margin-left: 0.3em;
  border: 0;
  content: "";
}
.backgrid .ascending .sort-caret {
  vertical-align: baseline;
  border-top: none;
  border-right: 4px solid transparent;
  border-bottom: 4px solid #000;
  border-left: 4px solid transparent;
}
.backgrid .descending .sort-caret {
  vertical-align: super;
  border-top: 4px solid #000;
  border-right: 4px solid transparent;
  border-bottom: none;
  border-left: 4px solid transparent;
}
.backgrid .string-cell,
.backgrid .uri-cell,
.backgrid .email-cell,
.backgrid .string-cell.editor input[type=text],
.backgrid .uri-cell.editor input[type=text],
.backgrid .email-cell.editor input[type=text] {
  text-align: left;
}
.backgrid .date-cell,
.backgrid .time-cell,
.backgrid .datetime-cell,
.backgrid .number-cell,
.backgrid .integer-cell,
.backgrid .percent-cell,
.backgrid .date-cell.editor input[type=text],
.backgrid .time-cell.editor input[type=text],
.backgrid .datetime-cell.editor input[type=text],
.backgrid .number-cell.editor input[type=text],
.backgrid .integer-cell.editor input[type=text],
.backgrid .percent-cell.editor input[type=text] {
  text-align: right;
}
.backgrid .boolean-cell,
.backgrid .boolean-cell.editor input[type=checkbox] {
  text-align: center;
}
.backgrid .select-cell {
  text-align: center;
}
.backgrid .select-cell.editor {
  padding: 0;
}
.backgrid .select-cell.editor select {
  display: block;
  width: 100%;
  height: 28px;
  padding: 4px 5px;
  margin: 0;
  line-height: 28px;
  vertical-align: middle;
  background-color: #fff;
  border: 0;
  outline: 0;
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
.backgrid .select-cell.editor select[multiple] {
  height: auto;
}
.backgrid .select-cell.editor :focus {
  border: 0;
  outline: 0;
}
.backgrid .select-cell.editor select::-moz-focus-inner,
.backgrid .select-cell.editor optgroup::-moz-focus-inner,
.backgrid .select-cell.editor option::-moz-focus-inner,
.backgrid .select-cell.editor select::-o-focus-inner,
.backgrid .select-cell.editor optgroup::-o-focus-inner,
.backgrid .select-cell.editor option::-o-focus-inner {
  border: 0;
}
/*************** worksheet *********************/
.worksheet td {
  width: 80px;
}
.worksheet td.ref {
  width: 30px;
}
.worksheet td input {
  border: none;
  width: 100%;
  padding: 2px 4px 2px 4px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
.worksheet input:hover {
  background-color: #eee;
}
.worksheet input:focus {
  background-color: #ccf;
}
.worksheet input:not(:focus) {
  text-align: right;
}
.worksheet table {
  border-collapse: collapse;
}
.worksheet td {
  border: 1px solid #eee;
  padding: 0;
}
.worksheet tr:first-child td,
.worksheet td:first-child {
  background-color: #ddd;
  padding: 1px 3px;
  text-align: center;
  font-size: 12px;
}
/************************ RESPONSIVE ***************************/
@media print {
  body {
    width: 100%;
    height: 100%;
    zoom: 75%;
  }
  .protobi .collection {
    display: table !important;
  }
  .protobi .toolbar {
    display: none;
  }
  .protobi .twocol .twocol-east.layout>.heading {
    display: none !important;
  }
  .protobi .twocol .twocol-west,
  .protobi .twocol .twocol-west-handle {
    display: none;
  }
  .protobi .twocol .twocol-center {
    display: table !important;
  }
  .protobi .canvas {
    display: table !important;
  }
  .protobi .drop-area {
    display: none;
  }
  .protobi .twocol-east {
    margin: 0;
  }
  .protobi .error {
    display: none;
  }
  .protobi table tfoot {
    font-weight: 500;
  }
  .protobi .element.layout {
    margin: 10px;
    display: table !important;
  }
  .protobi .element.layout .canvas {
    min-height: 20px;
    padding-bottom: 10px;
    display: table !important;
  }
  .protobi .element {
    position: relative;
  }
  .protobi .element .heading {
    position: relative;
    page-break-inside: avoid;
  }
  .protobi .element .content table {
    position: relative;
    page-break-inside: avoid !important;
  }
  .protobi .element.selected>.heading>.title {
    background-color: inherit !important;
  }
  .protobi .element.selected>.heading>.title >.content {
    border: inherit !important;
  }
  .protobi .margin,
  .protobi .margin-handle,
  .protobi .resize,
  .protobi .resize-handle {
    display: none !important;
  }
  @page {
    size: auto; /* auto is the initial value */
    margin: 0mm; /* this affects the margin in the printer settings */
  }
}
