.elastic-builder-group {
  padding: 10px 20px;
  border: 1px solid #ccc;
  background: #fff;
  position: relative;
}
.elastic-builder-rule.elastic-builder-rule-group {
  display: block;
}
.elastic-filter {
  border-left: 1px solid #ccc;
  position: relative;
}
.elastic-filter-item {
  margin: 20px 0;
}

.elastic-builder-rule .rule-text {
  background: #fff;
  padding: 5px 5px;
}

.elastic-builder-rule .multi-rule {
  position: relative;
}

.elastic-builder-rule {
  display: inline-block;
  position: relative;
  white-space: nowrap;
}
.elastic-builder-rule:before {
  content: '';
  height: 1px;
  background: #ccc;
  width: 100%;
  display: block;
  position: absolute;
  top: 50%;
}

.elastic-builder-rule .rule-text,
.elastic-builder-rule select,
.elastic-builder-rule input,
.elastic-builder-rule > .btn,
.elastic-builder-rule .multi-rule .multiselect-wrapper {
  position: relative;
  margin: 0 5px;
}
.elastic-builder-rule > *:first-child {
  margin-left: 20px;
}
.elastic-builder-rule > *:last-child {
  margin-right: 0;
}
.elastic-filter-item:first-child > .elastic-builder-rule-wrapper > .elastic-builder-rule:after,
.elastic-filter-item:last-child > .elastic-builder-rule-wrapper > .elastic-builder-rule:after {
  content: '';
  position: absolute;
  width: 1px;
  height: 50%;
  background: #fff;
  left: -1px;
  top: 0;
}

.elastic-filter-item:last-child > .elastic-builder-rule-wrapper > .elastic-builder-rule:after {
  top: auto;
  bottom: 0;
}

.elastic-filter-item:only-child > .elastic-builder-rule-wrapper > .elastic-builder-rule:before {
  display: none;
}
.elastic-filter-item:only-child > .elastic-builder-rule-wrapper > .elastic-builder-rule:after {
  top: 0;
  bottom: 0;
  height: 100%;
  border-color: #fff;
}

.elastic-builder-rule .multi-rule .multiselect-wrapper {
  display: inline-block;
}

.elastic-builder-rule .multi-rule .multiselect-wrapper .dropdown-multiselect {
  float: none;
}
