
.dcs-module * {
	box-sizing: border-box;
}

.dcs-module .wpcf7 form {
	position: relative;
}

.dcs-module .wpcf7 form .dp-col > label, .dcs-module .wpcf7 form > label {
	display: block;
}

.dcs-module .wpcf7 .wpcf7-form .wpcf7-submit {
	display: block !important;
}

.dcs-module .wpcf7 .wpcf7-control-wrap {
	width: 100%;
	display: block;
}

.dcs-module .wpcf7 input:not([type=submit]):focus, .dcs-module .wpcf7 input[type=file] {
	border-color: #eaeaea;
	outline: 0;
	box-shadow: none;
}

.dcs-module .wpcf7 input:not([type=submit]):not([type=checkbox]):not([type=radio]) {
	width: 100%;
	max-width: 100%;
	padding: .75em;
	border-style: solid;
}

.dcs-module .wpcf7 input[type=file] {
	color: #666;
	height: auto;
	border-width: 1px;
	border-style: solid;
	border-color: #eaeaea;
	background: #fafafa;
	box-shadow: none;
	transition: all .2s linear;
	border-radius: 2px;
	box-sizing: border-box;
}

.dcs-module .wpcf7 input[type=range] {
	background: 0 0 !important;
	border: none !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

.dcs-module .wpcf7 input[type=submit] {
	font-size: 16px;
	letter-spacing: .6px;
	width: auto;
	padding: 10px 22px;
	border-radius: 3px;
	border-style: solid;
	border-color: #2ea3f2;
	color: #fff;
	background-color: #2ea3f2;
	-webkit-appearance: button;
	-moz-appearance: button;
	appearance: button;
	cursor: pointer;
}

.dcs-module .wpcf7 input[type=submit][disabled] {
	cursor: not-allowed;
}

.dcs-module .wpcf7 select, .dcs-module .wpcf7 textarea {
	width: 100%;
	max-width: 100%;
	padding: .75em;
	border-style: solid;
}

.dcs-module .wpcf7 select:focus, .dcs-module .wpcf7 textarea:focus {
	border-color: #eaeaea;
	outline: 0;
	box-shadow: none;
}

.dcs-module .wpcf7 div.wpcf7-response-output {
	margin: 0;
}

.dcs-module.dcs-module-cr .wpcf7 input[type=checkbox], .dcs-module.dcs-module-cr .wpcf7 input[type=radio] {
	display: inline-block;
	position: relative;
	visibility: hidden;
	clear: none;
	cursor: pointer;
	line-height: 0;
	height: 1.2em;
	margin: -3px 4px 0 0;
	outline: 0;
	padding: 0;
	border-radius: .2em;
	text-align: center;
	vertical-align: middle;
	width: 1.4em;
	min-width: 1.4em;
	transition: all .2s linear;
}

.dcs-module.dcs-module-cr .wpcf7 .wpcf7-acceptance input[type=checkbox], .dcs-module.dcs-module-cr .wpcf7 .wpcf7-acceptance input[type=radio], .dcs-module.dcs-module-cr .wpcf7 .wpcf7-checkbox input[type=checkbox], .dcs-module.dcs-module-cr .wpcf7 .wpcf7-checkbox input[type=radio], .dcs-module.dcs-module-cr .wpcf7 .wpcf7-radio input[type=checkbox], .dcs-module.dcs-module-cr .wpcf7 .wpcf7-radio input[type=radio] {
	display: none;
}

.dcs-module.dcs-module-cr .wpcf7 .wpcf7-acceptance input[type=checkbox] + span:before, .dcs-module.dcs-module-cr .wpcf7 .wpcf7-acceptance input[type=radio] + span:before, .dcs-module.dcs-module-cr .wpcf7 .wpcf7-checkbox input[type=checkbox] + span:before, .dcs-module.dcs-module-cr .wpcf7 .wpcf7-checkbox input[type=radio] + span:before, .dcs-module.dcs-module-cr .wpcf7 .wpcf7-radio input[type=checkbox] + span:before, .dcs-module.dcs-module-cr .wpcf7 .wpcf7-radio input[type=radio] + span:before {
	content: "";
	display: inline-block;
	vertical-align: middle;
	margin-right: 10px;
	text-align: center;
	border-width: 1px;
	border-style: solid;
	border-color: #d1d8de;
	width: 14px;
	height: 14px;
	box-sizing: content-box;
}

.dcs-module.dcs-module-cr .wpcf7 .wpcf7-checkbox input[type=checkbox] + span:before, .dcs-module.dcs-module-cr .wpcf7 .wpcf7-acceptance input[type=checkbox] + span:before {
	background-color: #fff;
}

.dcs-module.dcs-module-cr .wpcf7 .wpcf7-checkbox input[type=checkbox]:checked + span:before, .dcs-module.dcs-module-cr .wpcf7 .wpcf7-acceptance input[type=checkbox]:checked + span:before {
	content: "✔";
	line-height: 1.2;
}

.dcs-module.dcs-module-cr .wpcf7 .wpcf7-radio input[type=radio] + span:before {
	border-radius: 100%;
	background-color: #d1d8de;
}

.dcs-module.dcs-module-cr .wpcf7 .wpcf7-radio input[type=radio]:not(:checked) + span:before {
	background-color: #fff;
}

.dcs-module.dcs-module-cr .wpcf7 .wpcf7-radio input[type=radio]:checked + span:before {
	box-shadow: inset 0px 0px 0px 4px #fff;
}

.dcs-module-button-center input.wpcf7-form-control.wpcf7-submit, .dcs-module-button-justify input.wpcf7-form-control.wpcf7-submit, .dcs-module-button-left input.wpcf7-form-control.wpcf7-submit, .dcs-module-button-right input.wpcf7-form-control.wpcf7-submit {
	display: flex;
	width: auto;
}

.dcs-module-button-center .wpcf7-form input[type=submit], .dcs-module-button-center .wpcf7-form button.wpcf7-submit {
	margin-left: auto !important;
	margin-right: auto !important;
}

.dcs-module-button-right .wpcf7-form input[type=submit], .dcs-module-button-right .wpcf7-form button.wpcf7-submit {
	margin-left: auto !important;
}

.dcs-module-button-left .wpcf7-form input[type=submit], .dcs-module-button-left .wpcf7-form button.wpcf7-submit {
	margin-right: auto !important;
}

@media only screen and (min-width: 769px) {
	.dvppl-cf7-col, .dcs-module-col {
		display: flex;
	}
	
	.dvppl-cf7-col label, .dvppl-cf7-col > span, .dvppl-cf7-col > p, .dcs-module-col label, .dcs-module-col > span, .dcs-module-col > p {
		flex-grow: 1;
		padding: 0 10px;
	}
}

.dcs-row {
	display: flex;
	flex-wrap: wrap;
	margin: 0 -15px;
}

.dcs-flex-col {
	display: flex;
	align-items: center;
	flex-direction: column;
	gap: 10px;
}

.dcs-flex-row {
	display: flex;
	align-items: center;
	gap: 10px;
}

.dcs-col {
	padding: 0 15px;
	flex: 1;
	width: 100%;
}

.dcs-col-1 {
	flex: 0 0 8.333%;
	max-width: 8.333%;
}

.dcs-col-2 {
	flex: 0 0 16.666%;
	max-width: 16.666%;
}

.dcs-col-3 {
	flex: 0 0 25%;
	max-width: 25%;
}

.dcs-col-4 {
	flex: 0 0 33.333%;
	max-width: 33.333%;
}

.dcs-col-6 {
	flex: 0 0 50%;
	max-width: 50%;
}

.dcs-col-8 {
	flex: 0 0 66.666%;
	max-width: 66.666%;
}

.dcs-col-9 {
	flex: 0 0 75%;
	max-width: 75%;
}

.dcs-col-12 {
	flex: 0 0 100%;
	max-width: 100%;
}

@media (min-width: 576px) {
	.dcs-col-sm-6 {
		flex: 0 0 50%;
		max-width: 50%;
	}
	
	.dcs-col-sm-12 {
		flex: 0 0 100%;
		max-width: 100%;
	}
}

@media (min-width: 768px) {
	.dcs-col-md-4 {
		flex: 0 0 33.333%;
		max-width: 33.333%;
	}
	
	.dcs-col-md-6 {
		flex: 0 0 50%;
		max-width: 50%;
	}
	
	.dcs-col-md-8 {
		flex: 0 0 66.666%;
		max-width: 66.666%;
	}
}

@media (min-width: 981px) {
	.dcs-col-lg-3 {
		flex: 0 0 25%;
		max-width: 25%;
	}
	
	.dcs-col-lg-4 {
		flex: 0 0 33.333%;
		max-width: 33.333%;
	}
	
	.dcs-col-lg-6 {
		flex: 0 0 50%;
		max-width: 50%;
	}
}
