/** Form Anfrage **/
#anfrage .mcontent {
	padding: 0
}
#anfrage .mailform-wrapper {
	padding: 0;
	max-height: none;
	font-size: inherit;
	position: relative;
	z-index: 1;
}
#anfrage form {
	margin: 0;
}
#anfrage .cf7mls_bar_style_navigation_horizontal_squaren.cf7mls_bar_style_text_vertical, 
#anfrage .cf7mls_bar_style_navigation_horizontal_round.cf7mls_bar_style_text_vertical {
	margin: 0 0 1.5em !important;
	padding: 1em 0 0.5em;
	width: 100% !important;
	justify-content: center;
}
#anfrage .cf7mls_number_step_wrap .cf7mls_number, #anfrage .cf7mls_number_step_wrap .cf7mls_step_current {
	font-size: 15px;
	color: rgba(var(--black), 0.85);
	text-align: center;
	margin: 0 !important;
	font-family: "Text", sans-serif;
}

#anfrage .cf7mls_bar_style_navigation_horizontal_squaren.cf7mls_bar_style_text_vertical li.active::before {
	background: rgba(32,179,131) !important;
}
#anfrage .cf7mls_bar_style_navigation_horizontal_squaren.cf7mls_bar_style_text_vertical li.current::before {
	background: rgba(var(--darkblue), 0.8) !important;
}
#anfrage .cf7mls_bar_style_navigation_horizontal_squaren.cf7mls_bar_style_text_vertical li::before, 
#anfrage .cf7mls_bar_style_navigation_horizontal_round.cf7mls_bar_style_text_vertical li::before {
	background: rgba(var(--darkblue), 0.15);
}
#anfrage .cf7mls_progress_bar li .cf7_mls_count_step {
	display: block;
	color: rgba(var(--darkblue), 0.75);
	font-size: 15px;
}
#anfrage .cf7mls_progress_bar li.current .cf7_mls_count_step {
	font-weight: bold;
	color: rgba(var(--white), 1);
}
#anfrage .cf7mls_progress_bar li .cf7mls_progress_bar_title {
	font-family: "Text", sans-serif;
}
#anfrage .cf7mls_number_step_wrap {
	margin: 0.5em auto 0 !important;
}
#anfrage .cf7mls_number_step_wrap .cf7mls_progress_percent {
	height: 8px;
	margin: 7px 0 14px !important;;
	background: rgba(var(--softblue),0.5);
	border-radius: 4px;
}

#anfrage .cf7mls_progress_bar {
	position: relative;
	overflow: visible;
}
#anfrage .cf7mls_progress_bar >li {
	max-width: 12em
}
#anfrage .cf7mls_progress_bar::before {
	content:'';
	position: absolute;
	inset: -2em -4em 0;
	background-color: rgba(var(--blue), 0.05)
}
#anfrage .mailform-wrapper form fieldset {
	font-size: 1em;
	color: rgb(var(--black));
	padding: 0em calc(1em + 2vw) 0;
	background: none;
	border: none;
}
#anfrage .small {
	font-size:0.8em
}
#anfrage form label > span:first-child {
	font-size: 0.9em;
	font-weight: 500;
	padding-bottom: 0.25em;
	display: inline-block;
}
#anfrage .wpcf7-radio {
	display: flex;
	flex-direction: column;
	gap: 0.75em;
	padding-left: 2.25em;
	line-height: 1.1;
	position: relative;
}
#anfrage .wpcf7-form-control-wrap:has(.wpcf7-radio) {
	display: inline-block;
	margin: 0.5em 0 0;
}
#anfrage form input[type="checkbox"] + span.wpcf7-list-item-label,
#anfrage form input[type="radio"] + span.wpcf7-list-item-label {
	font-size: 1.1em;
	font-weight: 500;
}
#anfrage form .datenschutz input[type="checkbox"] + span.wpcf7-list-item-label {
	font-size: 0.9em
}
#anfrage input, #anfrage textarea {
	font-weight: 400;
}
#anfrage input::placeholder {
    color: rgba(var(--darkblue));
}
#anfrage form .button {
	overflow: visible;
}
#anfrage form .submit-button {
	overflow: visible;
	margin:0 !important;
}
#anfrage form .submit-button p {
	overflow: visible;
	display: flex;
	gap:0.5em;
	align-items: center;
}
#anfrage form div.back-button {
	overflow: visible;
	float: left;
	margin-top:0 !important;
	order:-1;
}
#anfrage form input[type="submit"] {
	cursor: pointer;
	box-shadow: 0 0 0.5em rgba(0,0,0,0.2);
	margin: 0;
	padding: 0.75em 3em !important;
	font-weight: 600 !important;
	border-radius: 3px;
	width: max-content;
}
#anfrage form input[type="submit"]:is(:hover, :focus, :active), 
#anfrage form .cf7mls_btn:is(:hover, :focus, :active) {
	background: rgb(var(--darkblue));
	color: rgb(255,255,255);
	box-shadow: 0 0 0.5em rgb(255,255,255);
	opacity: 0.8;
}
#anfrage .wpcf7-spinner {
	background-color: rgba(var(--blue));
	opacity: 0.5;
	width: 2em;
	height: 2em;
	margin: 0;
	order: -1;
}
#anfrage .wpcf7-spinner::before {
	background-color: rgba(var(--white));
	top: 0.25em;
	left: 0.25em;
	width: 0.5em;
	height: 0.5em;
	transform-origin: 0.5em 0.5em;
}
#anfrage .cf7mls-btns {
	clear: both;
	float:left;
	display: flex;
	width: 100%;
	justify-content: space-between;
	margin: 2em auto 1em !important;
}
#anfrage .cf7mls-btns p {
	display: none;
}
#anfrage .col {
	margin-top: 0 !important;
	padding: 0.25em 0;
	flex-grow: 1;
}
#anfrage .col >:not(.col) {
	width: 100%
}
#anfrage .col:has(.col) {
	display: flex;
	gap: 1em
}
#anfrage .kontaktdaten .col {
	padding: 0.125em 0;
}
#anfrage .col h3 {
	font-size: 1.75em;
	color: rgba(var(--darkblue));
	margin-bottom: 0.25em;
}
#anfrage .question {
	font-size: 1.25em;
	color: rgba(var(--darkblue))
}
#anfrage .form-footer {
	margin-top: 1em !important;
	margin-bottom: 0.75em;
	float: left;
	width: 100%;
	display: flex;
	justify-content: space-between
}
#anfrage #form_2 .form-footer {
	margin-top: 2.5em !important;
}
#anfrage form h3 + p {
	display:block;
	margin-top: 0 !important
}
#anfrage textarea {
	height: 8em;
	min-width: 100%;
}
#anfrage p:has([id*="wrapper"]),
#anfrag p:empty {
	display: none;
}
@media(max-width: 1299px){
	#anfrage form input {
		font-size: 17px
	}
}
@media(max-width: 767px){
	#anfrage form input {
		font-size: 16px
	}
	#anfrage form .kontaktdaten input:not([type="checkbox"],[type="radio"]),
	#anfrage form .kontaktdaten textarea {
		font-size: 18px
	}
	#anfrage .span1-3 {
		width: 33.333% !important;
	}
	#anfrage .span2-3 {
		width: 66.666% !important;
	}
	#anfrage .question {
		font-size: 1.125em;
	}
	#anfrage .form-footer,
	#anfrage .cf7mls-btns.cf7mls-btns-last-step {
		flex-direction: column;
		flex-wrap: wrap;
		gap: 1em;
		justify-content: left;
	}
	#anfrage #form_2 .form-footer {
		margin-top: 1.5em !important;
	}
	#anfrage .form-footer .back-button,
	#anfrage .cf7mls-btns.cf7mls-btns-last-step .cf7mls_back {
		order: 3;
	}
	#anfrage form input[type="submit"] {
		padding-left: calc(1em + 5vw) !important;
		padding-right: calc(1em + 5vw) !important;
	}
	#anfrage .wpcf7-spinner {
		order: 2;
	}
}
@media(max-width: 600px){
	#anfrage .col {
		padding: 0.25em 0;
		width: 100% !important;
	}
	#anfrage #form_2 .col {
		padding: 0.5em 0;
	}
	#anfrage .col:has(.col){
		gap: 0.125em;
		flex-direction: column;
		flex-wrap: wrap;
	}
	#anfrage .wpcf7-form-control-wrap:has(.wpcf7-radio) {
		display: inline-block;
		margin: 0.5em 0;
	}
	#anfrage .cf7mls-btns {
		margin-top: 1.5em !important;
	}
	#anfrage form .kontaktdaten textarea {
		height: 2.5em;
	}
}

#anfrage .wpcf7-not-valid-tip {
	font-size: 0.75em;
	font-weight: 500;
	margin-bottom: -1em;
	position: absolute;
	width: max-content;
	right: 0;
	top:50%;
	transform: translateY(-50%);
}
#anfrage .wpcf7-radio + .wpcf7-not-valid-tip {
	left: 0;
	right: auto;
	top:0;
	transform: translateY(-120%);
}
#anfrage input:has(+.wpcf7-not-valid-tip):not(:focus) {
	border-color: rgb(187, 51, 42, 1);
	box-shadow: 0 0 0 0.125em rgb(187, 51, 42, 0.75);
}
#anfrage .wpcf7-form-control-wrap:has(input[type="checkbox"]) {
	position: relative;
	display: inline-block;
	width: 100%;
}
#anfrage .wpcf7-checkbox + .wpcf7-not-valid-tip {
	position: absolute;
	display: inline;
	padding: inherit;
	white-space: nowrap;
	left: 0;
	top: 0;
	text-indent: -100em;
	border: solid 0.25em rgb(187, 51, 42, 1);
	background: transparent;
	width: 2.75em;
	z-index: 0;
	height: 2.75em;
	transform: translate(-0.325em, -0.325em);
	opacity: 0.75;
	border-radius: 0.5em;
	z-index:-1
}
#anfrage div.wpcf7-response-output {
	position: fixed;
	top: 50%;
	left: 50%;
	padding: 1em 1em;
	font-size: 1em;
	background: rgb(255,255,255);
	color: rgb(0,0,0);
	margin: 0;
	box-shadow: 0 0 0.25em rgba(var(--darkblue), 0.75), 0 0 0 5em rgba(var(--white), 0.5);
	border-width: 0em;
	border-radius: 0.5em;
	transform: translate(-50%, -50%);
	text-align: center;
	z-index: 1000;
	animation: "response-output";
	animation-duration: 1s;
	animation-name: show-response-output;
	animation-delay: 3s;
	animation-fill-mode: forwards;
	width: 90%;
	max-width: 45rem;
	z-index: 1000 !important;	
}
@keyframes show-response-output {
	0%{
		opacity:1;
		/*transform: translateX(0%);*/
		transform: translate(-50%,-50%) scale(1);
	}
	99%{
		opacity:0;
	}
	100%{
		opacity:0;
		/*transform: translateX(150%);*/
		transform: translate(-50%,-50%) scale(0);
	}
}
#anfrage .wpcf7 form.invalid .wpcf7-response-output, 
#anfrage .wpcf7 form.unaccepted .wpcf7-response-output, 
#anfrage .wpcf7 form[novalidate="novalidate"] .wpcf7-response-output{
	border-color: transparent;
	background-color: rgb(187, 51, 42, 1);
	color: rgb(var(--white))
}
#anfrage .wpcf7-icon-wraning,
#anfrage .wpcf7-not-valid-tip + .wpcf7-not-valid-tip {
	display: none !important;
}

#anfrage .cf7mls-btns .cf7mls_next.action-button, #anfrage .cf7mls-btns .cf7mls_back.action-button {
	margin: 0 !important;
	font-weight: 500 !important;
	min-width:0;
	width: max-content;
}
#anfrage .cf7mls_next.action-button {
	background-color: rgb(var(--darkblue), 1)
}
#anfrage .cf7mls-btns .cf7mls_next.action-button {
	margin-left: auto !important;
}
#anfrage .cf7mls_back.action-button,
#anfrage .back-button button {
	background-color: rgb(var(--grey), 0.75);
	color: rgb(var(--black));
	border-radius: 3px;
}
#anfrage .back-button button:is(:hover) {
	opacity: 0.8;
}
#anfrage .cf7mls_next.action-button img {
	width: 1em;
	position: absolute;
	margin-left: 5px;
	right: 1em;
	vertical-align: middle;
}

#anfrage .success-wrapper {
	position: absolute;
	top:0;
	width:100%;
	opacity:0;
	transform-origin: center center;
	transform: scale(0);
}
#anfrage .success-wrapper.sent {
	position: relative;
	top:0;
	width:100%;
	opacity:1;
	transform: scale(1);
	transition: all 300ms ease-in 0ms;
	padding: calc(1em + 1vw);
}

#anfrage .success-wrapper .info {
	background-color: rgba(var(--softblue), 0.25);
	padding: 2em 1em;
	margin: 1em auto;
	max-width: 45em;
}
#anfrage .success-wrapper h2 {
	margin-bottom: 0.5em !important;
	text-transform: uppercase;
	margin-left:-1.5em;
	color: rgb(20, 175, 110);
}
#anfrage.success-wrapper h2::before {
	margin-right:0.75em;
}
#anfrage .success-wrapper .message {
	color: rgb(var(--black));
	font-size: 1.1em;
	font-weight: 500;
}
#anfrage .success-wrapper h3 {
	margin-bottom: -0.5em !important;
}
#anfrage .success-wrapper .info a {
	text-decoration: underline;
}
