.df-form-container {
	display: flex;
	align-items: flex-start;

	gap: 3.125rem;
}

.df-form-sidebar {
	display: flex;
	flex: 0 0 31.25rem;
	flex-direction: column;

	position: sticky;
	top: 6.875rem;

	gap: 2.5rem;
}

.df-step-indicator {
	display: flex;
	align-items: center;

	opacity: .3;

	transition: opacity .4s ease;

	gap: 1rem;
}

.df-step-indicator.active {
	opacity: 1;
}

.df-step-indicator.active svg {
	filter: brightness(0) invert(1);
}

.df-icon-box {
	display: flex;
	align-items: center;
	justify-content: center;

	width: 4rem;
	height: 4rem;

	color: #3F646C;

	border-radius: 6.25rem;
	background: #F9F9F9;
}

.df-step-indicator.active .df-icon-box {
	color: #FFF;

	background: #709097;
}

.df-indicator-info {
	display: flex;
	flex-direction: column;
}

.df-indicator-label {
	font-size: 1.125rem;
	font-weight: 500;
	color: #585E6A;
}

.df-indicator-name {
	display: block;

	padding-top: .625rem;

	margin-top: .5rem;

	font-size: 1.125rem;
	font-weight: 600;
	color: #242424;
}

.df-form-main {
	flex: 1;

	position: relative;
}

.df-form-main::before {
	content: '';

	width: .0625rem;
	height: 100%;

	position: absolute;
	z-index: 0;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	left: -5rem;

	background: #000;
	opacity: .3;
}

.df-step-section {
	display: none;

	animation: dfStepFade .4s ease-in-out;
}

.df-step-section.active {
	display: block;
}

@keyframes dfStepFade {
	from {
		transform: translateY(.625rem);

		opacity: 0;
	}
	to {
		transform: translateY(0);

		opacity: 1;
	}
}

.df-step-counter {
	margin-bottom: .5rem;

	font-weight: 700;
	color: #709097;
}

.df-main-title {
	margin-bottom: 1.875rem !important;

	font-size: 2rem;
	font-weight: 600;
}

.wpcf7-radio,
.wpcf7-checkbox,
.wpcf7-acceptance {
	display: block;
}

.wpcf7-radio .wpcf7-list-item,
.wpcf7-checkbox .wpcf7-list-item,
.wpcf7-acceptance .wpcf7-list-item {
	display: block;

	margin: 0 !important;
}

.wpcf7-radio .wpcf7-list-item-label,
.wpcf7-checkbox .wpcf7-list-item-label,
.wpcf7-acceptance .wpcf7-list-item-label {
	margin-left: .3125rem;

	font-size: 1rem;
}

.wpcf7-radio .wpcf7-list-item label,
.wpcf7-checkbox .wpcf7-list-item label,
.wpcf7-acceptance .wpcf7-list-item label {
	display: flex;
	align-items: flex-start;
	align-items: center;

	margin: 0;

	gap: .625rem;
}

.wpcf7-radio .wpcf7-list-item label input,
.wpcf7-checkbox .wpcf7-list-item label input,
.wpcf7-acceptance .wpcf7-list-item label input {
	width: 1.375rem;
	height: 1.375rem;
	min-width: 1.375rem;

	margin-top: .125rem;

	border-color: #000000;
}

.wpcf7-not-valid-tip {
	margin-top: .625rem;

	font-size: .875rem;
	color: #FF0000;
}

.wpcf7-radio .wpcf7-list-item-label span,
.wpcf7-checkbox .wpcf7-list-item-label span,
.wpcf7-acceptance .wpcf7-list-item-label span {
	color: #FF0000;
}

.wpcf7-acceptance {
	margin-bottom: .9375rem !important;
}

.wpcf7 .hidden-fields-container,
.wpcf7 .screen-reader-response {
	display: none;
}

.wpcf7-response-output {
	margin: .625rem 0;

	font-size: 1rem;
}

.wpcf7 input[type=email],
.wpcf7 input[type=tel],
.wpcf7 input[type=text],
.wpcf7 input[type=date],
.wpcf7 select,
.wpcf7 textarea {
	width: 100% !important;
	padding: .9375rem .5rem !important;

	font-size: 1.25rem !important;

	border-width: 0 0 .0625rem !important;
	border-color: #242424 !important;
	border-radius: 0 !important;
	background: transparent !important;
}

.df-field-wrap {
	margin-bottom: 1.5rem;
}

.df-field-wrap.file-upload-wrap {
	padding: 1.25rem 1.875rem;

	margin-bottom: .3125rem;

	border: .0625rem dotted #242424;
	background: #ECF3F5;
}

.df-field-wrap.file-upload-wrap label {
	margin-bottom: .9375rem;
	margin-left: 0;
}


.df-field-wrap label {
	display: block;

	font-size: 1.125rem;
	font-weight: 600;
	color: #4A4A4A;

	opacity: .8;
}

.df-table-wrapper {
	margin: 1.5rem 0;

	overflow-x: auto;
}

.df-config-table {
	width: 100%;
	min-width: 46rem;

	border-collapse: collapse;
	background: #FFF;
}

.df-config-table th,
.df-config-table td {
	padding: .75rem;

	text-align: center;

	border: .0625rem solid #242424;
}

.df-config-table th {
	font-weight: 700;

	background: #F5F5F5;
}

.df-config-table td:first-child {
	width: 12.5rem;

	font-weight: 700;
	text-align: left;

	background: #F9F9F9;
}

.df-config-table .wpcf7-list-item-label {
	display: none;
}

.df-config-table input[type=checkbox] {
	transform: scale(1.4);

	cursor: pointer;
}

.df-navigation {
	display: flex;

	margin-top: 2rem;

	gap: .625rem;
}

.df-navigation p {
	display: flex;
	align-items: center;
	justify-content: space-between;

	width: 100%;
}

.df-btn-next,
.df-submit-btn {
	padding: 1rem 2rem !important;

	font-size: 1rem !important;
	font-weight: 700 !important;
	color: #FFF !important;
	text-transform: uppercase !important;

	border: none !important;
	background: #709097 !important;
	cursor: pointer !important;
}

.df-form-container .wpcf7-spinner {
	display: inline-block;

	width: 1.5rem;
	height: 1.5rem;
	padding: 0;

	position: absolute;
	right: 15.625rem;
	margin: 0 1.5rem;

	border: none;
	border-radius: 100%;
	background-color: #23282D;
	opacity: .75;
	visibility: hidden;
}

.df-btn-prev {
	padding: 1rem 2rem !important;

	font-size: 1rem !important;
	font-weight: 700 !important;
	color: #FFF !important;
	text-transform: uppercase;

	border: none;
	background: #585E6A !important;
	cursor: pointer;
}

.df-sumbit-description {
	padding: 1.25rem;

	margin: 1.25rem 0;

	border-left: .3125rem solid #709097;
	background: #F4F7F8;
}

.th-label-radio-2:hover input[type=radio]:checked + span:after,
input[type=radio]:checked + span:after {
	display: none;
}

input[type=radio]:checked + span {
	background-color: unset !important;
}

.df-form-row {
	display: flex;
	flex-wrap: wrap;

	margin-bottom: .5rem;

	gap: 1.5rem;
}

.df-col-1-2 {
	flex: 1;

	min-width: calc(50% - .75rem);
}

.df-full-width {
	min-width: 100%;
}

fieldset.hidden-fields-container {
	display: none;
}

@media (max-width: 60.6875rem) {
	.df-form-container {
		flex-direction: column;
	}

	.df-col-1-2 {
		flex: 0 0 100%;
	}
	.df-form-row {
		gap: 0;
	}

	.df-form-sidebar {
		flex-direction: column;

		width: 100%;
		padding-bottom: 1rem;

		position: relative;
		top: 0;

		overflow-x: auto;
	}
}