.cpb-field input.novalid,
.cpb-field textarea.novalid,
.cpb-field select.novalid {
	border-color: red;
}

/** Columns **/
.cpb-columns-field {
	margin-left: -15px;
	margin-right: -15px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
}

.cpb-columns-field:before,
.cpb-columns-field:after {
	content: "";
	display: table;
}

.cpb-columns-field:after {
	clear: both;
}

.cpb-columns-field .cpb-column {
	padding-left: 15px;
	padding-right: 15px;
	-webkit-box-flex: 1;
	-webkit-flex: 1;
	    -ms-flex: 1;
	        flex: 1;
}

@media (max-width: 991px) {
	.cpb-columns-field {
		flex-direction: column;
	}
}

/** Radio **/
.cpb-radio-field ul,
.cpb-checklist-field ul {
	list-style: none;
	padding-left: 0;
}

.cpb-radio-buttons {
	list-style: none;
	overflow: hidden;
	margin-left: -5px;
	margin-right: -5px
}

.cpb-radio-buttons li {
	width: 50%;
	float: left;
	padding: 5px;
}

.cpb-radio-buttons li label {
	display: block;
	margin: 0;
	cursor: pointer;
}

.cpb-radio-buttons li input {
	display: none;
}

.cpb-radio-buttons li label > span {
	border-radius: 5px;
	padding: 5px;
	display: block;
	background: #eeee;
}

.cpb-radio-buttons li input:checked + span {
	color: #fff;
	background: #2770BD;
}

/** Range slider */
.cpb-range-field .cpb-input-wrap {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	    -ms-flex-align: center;
	        align-items: center;
}

.cpb-range-field .cpb-input-wrap input[type=range] {
	-webkit-box-flex: 1;
	-webkit-flex: 1;
	    -ms-flex: 1;
	        flex: 1;
	margin-right: 10px;
}

.cpb-range-field .cpb-input-wrap input[type=number] {
	width: auto;
	max-width: 15%;
}

.cpb-range-field input[type=range] {
	-webkit-appearance: none;
	margin: 0.7px 0;
	border: 0;
	padding: 0;
}
.cpb-range-field input[type=range]:focus {
	outline: none;
}
.cpb-range-field input[type=range]::-webkit-slider-runnable-track {
	border-radius: 2.5px;
	width: 100%;
	height: 5px;
	cursor: pointer;
	background: #ddd;
}
.cpb-range-field input[type=range]::-webkit-slider-thumb {
	box-shadow: 0 0 0 1px #2770BD;
	border: 5px solid #fff;
	height: 16px;
	width: 16px;
	border-radius: 50%;
	background: #2770BD;
	cursor: pointer;
	-webkit-appearance: none;
	margin-top: -5px;
}
.cpb-range-field input[type=range]:focus::-webkit-slider-runnable-track {
	background: #ccc;
}
.cpb-range-field input[type=range]::-moz-range-track {
	border-radius: 2.5px;
	width: 100%;
	height: 5px;
	cursor: pointer;
	background: #ddd;
}
.cpb-range-field input[type=range]::-moz-range-thumb {
	box-shadow: 0 0 0 1px #2770BD;
	border: 5px solid #fff;
	height: 8px;
	width: 8px;
	border-radius: 50%;
	background: #2770BD;
	cursor: pointer;
	-webkit-appearance: none;
	margin-top: -5px;
}
.cpb-range-field input[type=range]::-ms-track {
	border-radius: 2.5px;
	width: 100%;
	height: 5px;
	cursor: pointer;
	background: #ddd;
	margin: 15px 0;
}
.cpb-range-field input[type=range]::-ms-thumb {
	box-shadow: 0 0 0 1px #2770BD;
	border: 5px solid #fff;
	height: 8px;
	width: 8px;
	border-radius: 50%;
	background: #2770BD;
	cursor: pointer;
	-webkit-appearance: none;
	margin-top: 0;
}
.cpb-range-field input[type=range]::-ms-fill-lower {
	background: #ddd;
	border-radius: 2.5px;
}
.cpb-range-field input[type=range]::-ms-fill-upper {
	background: #ddd;
	border-radius: 2.5px;
}
.cpb-range-field input[type=range]:focus::-ms-fill-lower {
	background: #ccc;
}
.cpb-range-field input[type=range]:focus::-ms-fill-upper {
	background: #ccc;
}

/** Estimate */
.cpb-estimate-field .estimate-price-input {
	display: none;
}

/** Pricing table */
.cpb-pricing_table-field .pricing-table-name-input {
	display: none;
}

/** Message */
.cpb-form-message {
	display: block;
	padding: 10px;
	background: #eee;
	border: 1px solid #ddd;
	margin-bottom: 20px;
}

.cpb-form-message > :first-child {
	margin-top: 0;
}

.cpb-form-message > :last-child {
	margin-bottom: 0;
}

.cpb-form-message.success {
	border-color: #8EC78B;
	background: #E8F5EB;
}

/** Dialog */
.cpb-dialog {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 999;
	display: none;
}

.cpb-backdrop {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0.5);
	cursor: pointer;
}

.cpb-dialog-content {
	transform: translate(-50%, -50%);
	width: 600px;
	max-width: 90%;
	padding: 30px;
	position: absolute;
	top: 50%;
	left: 50%;
	background: #fff;
}

.cpb-dialog .cpb-dialog-content > * {
	display: none;
}

.cpb-dialog.open-summary .cpb-dialog-summary,
.cpb-dialog.open-fields .cpb-dialog-fields,
.cpb-dialog.loading .cpb-dialog-loading,
.cpb-dialog.success .cpb-dialog-success,
.cpb-dialog.failed .cpb-dialog-failed,
.cpb-dialog.error .cpb-dialog-error {
	display: block;
}

.cpb-dialog .cpb-linked-form-id-input {
	display: none;
}