.expression-builder .buttons-left {
	float: left;
}
.expression-builder .buttons-right {
	float: right;
}



.expression-builder--group,
.expression-builder--rule {
	position: relative;
	margin: 5px 0;
	padding: 10px 10px 5px;
	background-color: #fff;
	border: 1px solid #ccc;
	border-radius: 2px;
}
.expression-builder--group-head,
.expression-builder--rule-head {
	margin: 0 0 5px;
}
.expression-builder--group-head:after,
.expression-builder--rule-head:after {
	content: ".";
	display: block;
	clear: both;
	font-size: 0;
	height: 0;
	visibility: hidden;
}
.expression-builder--group-body {
	position: relative;
	margin: 0 0 0 15px;
}

.expression-builder--rule {
	margin-top: 10px;
	border-color: #eee;
}
.expression-builder--rule-head {
	float: right;
}
.expression-builder--rule-body {
	position: relative;
	/*max-width: 720px;*/
	margin: 0 36px 0 0;
	overflow: hidden;
}
.expression-builder--rule-operand,
.expression-builder--rule-operator {
	display: block;
	float: left;
	overflow: hidden;
}
.expression-builder--rule-operand {
	width: 45%;
}
.expression-builder--rule-operator {
	width: 10%;
}



.expression-builder--group .expression-builder--group {
	margin-top: 10px;
}
.expression-builder--group .expression-builder--group:before,
.expression-builder--group .expression-builder--rule:before {
	content: "";
	position: absolute;
	top: -10px;
	left: -10px;
	width: 10px;
	height: -webkit-calc(50% + 10px);
	height: calc(50% + 10px);
	border: 0 solid #ccc;
	border-width: 0 0 2px 2px;
}
.expression-builder--group .expression-builder--group:after,
.expression-builder--group .expression-builder--rule:after {
	content: "";
	position: absolute;
	top: 50%;
	left: -10px;
	width: 10px;
	height: -webkit-calc(50% + 2px);
	height: calc(50% + 2px);
	border: 0 solid #ccc;
	border-width: 0 0 0 2px;
}
.expression-builder--group:empty:before,
.expression-builder--rule:empty:before,
.expression-builder--group:empty:after,
.expression-builder--rule:empty:after,
.expression-builder--group .expression-builder--group:last-child:after,
.expression-builder--group .expression-builder--rule:last-child:after {
	display: none;
}



.expression-builder--operator {
	margin: 0 10px;
}
.expression-builder--operator select {
	min-width: 0;
}



.expression-builder--operand {
	overflow: hidden;
}
.expression-builder--operand select {
	float: left;
	min-width: 0;
	width: 120px;
}
.expression-builder--operand-explicit {
	margin-left: 130px;
}



.expression-builder--operand .expression-builder--variable select {
	width: auto;
	max-width: -webkit-calc(100% - 26px);
	max-width: calc(100% - 26px);
}

.expression-builder--math .math-term {
	float: left;
	max-width: -webkit-calc(100% - 26px);
	max-width: calc(100% - 26px);
	text-overflow: ellipsis;
	white-space: nowrap;
	overflow: hidden;
	cursor: default;
}

.expression-builder--operand .expression-builder--tolerance-variable {
	display: inline-block;
	max-width: -webkit-calc(100% - 70px);
	max-width: calc(100% - 70px);
}
.expression-builder--operand .expression-builder--tolerance-variable select {
	width: auto;
}
.expression-builder--operand .expression-builder--tolerance .input-group-btn .btn {
	z-index: 2;
	margin-left: -1px;
}
.expression-builder--operand .expression-builder--tolerance-input {
	position: relative;
	float: right;
	width: 60px;
}
.expression-builder--operand .expression-builder--tolerance input {
	width: 45px;
	min-width: 0;
}
.expression-builder--operand .expression-builder--tolerance input + span {
	position: absolute;
	top: 0;
	right: 0;
	padding-right: 0;
	padding-left: 0;
	border: 0 solid transparent;
	border-width: 1px 0;
}
