.c2-widerrufsbutton,
.c2-widerrufsformular button.c2-widerruf-submit {
	display: inline-block;
	padding: .675rem .75rem;
	border: 1px solid transparent;
	border-radius: 0;
	background: #f0ab05;
	color: #fff;
	cursor: pointer;
	font-family: inherit;
	font-weight: 700;
	line-height: 1.5;
	text-decoration: none;
	text-transform: uppercase;
	transition: all .3s cubic-bezier(.165, .84, .44, 1);
}

.c2-widerrufsbutton:hover,
.c2-widerrufsbutton:focus,
.c2-widerrufsformular button.c2-widerruf-submit:hover,
.c2-widerrufsformular button.c2-widerruf-submit:focus {
	background: #e29f00;
	border-color: #e29f00;
	color: #fff;
	text-decoration: none;
}

.c2-widerrufsbutton .btn-diako-text [class*="fa-"],
.c2-widerrufsformular button.c2-widerruf-submit .btn-diako-text [class*="fa-"] {
	display: inline-block;
	-webkit-transition: -webkit-transform .5s cubic-bezier(.165, .84, .44, 1);
	transition: -webkit-transform .5s cubic-bezier(.165, .84, .44, 1);
	transition: transform .5s cubic-bezier(.165, .84, .44, 1);
	transition: transform .5s cubic-bezier(.165, .84, .44, 1), -webkit-transform .5s cubic-bezier(.165, .84, .44, 1);
}

.c2-widerrufsbutton:hover .btn-diako-text [class*="fa-"],
.c2-widerrufsbutton:focus .btn-diako-text [class*="fa-"],
.c2-widerrufsformular button.c2-widerruf-submit:hover .btn-diako-text [class*="fa-"],
.c2-widerrufsformular button.c2-widerruf-submit:focus .btn-diako-text [class*="fa-"] {
	-webkit-transform: rotate(225deg);
	transform: rotate(225deg);
}

.c2-widerrufsbutton:focus-visible {
	outline: 3px solid currentColor;
	outline-offset: 3px;
}

.c2-widerrufsformular {
	max-width: 48rem;
	padding: 1.5rem;
	border: 2px solid currentColor;
}

.c2-widerrufsformular legend {
	display: table;
	width: auto;
	max-width: 100%;
	margin: 0 0 .75rem;
	padding: 0 .5rem;
	font-size: 1.35rem;
	font-weight: 700;
}

.c2-widerruf-fields {
	display: block;
}

.c2-widerruf-field {
	box-sizing: border-box;
	min-width: 0;
}

.c2-widerruf-fields,
.c2-widerruf-submit-row {
	box-sizing: border-box;
	max-width: 100%;
	width: 100%;
}

/* Flexbox keeps the multi-column layout broadly compatible and collapses cleanly. */
.c2-widerruf-fields.c2-widerruf-layout-inline {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	margin-left: -.5rem;
	margin-right: -.5rem;
}

.c2-widerruf-fields.c2-widerruf-layout-inline .c2-widerruf-field {
	-webkit-box-flex: 0;
	-webkit-flex: 0 0 50%;
	-ms-flex: 0 0 50%;
	flex: 0 0 50%;
	padding-left: .5rem;
	padding-right: .5rem;
	width: 50%;
}

/* Explicit column classes provide a cross-browser fallback without relying on
 * CSS custom properties or a calculated flex-basis. */
.c2-widerruf-fields.c2-widerruf-layout-inline.c2-widerruf-columns-1 .c2-widerruf-field {
	-webkit-flex-basis: 100%;
	-ms-flex-preferred-size: 100%;
	flex-basis: 100%;
	width: 100%;
}

.c2-widerruf-fields.c2-widerruf-layout-inline.c2-widerruf-columns-3 .c2-widerruf-field {
	-webkit-flex-basis: 33.333333%;
	-ms-flex: 0 0 33.333333%;
	flex: 0 0 33.333333%;
	width: 33.333333%;
}

.c2-widerruf-fields.c2-widerruf-layout-inline.c2-widerruf-columns-4 .c2-widerruf-field {
	-webkit-flex-basis: 25%;
	-ms-flex: 0 0 25%;
	flex: 0 0 25%;
	width: 25%;
}

.c2-widerrufsformular label {
	display: block;
	margin: 0 0 1rem;
	font-weight: 600;
}

.c2-widerrufsformular .wpcf7-form-control-wrap,
.c2-widerrufsformular input:not([type="submit"]),
.c2-widerrufsformular textarea,
.c2-widerrufsformular select {
	box-sizing: border-box;
	display: block;
	width: 100%;
	max-width: 100%;
}

.c2-widerrufsformular .wpcf7-form-control-wrap {
	margin-top: .3rem;
}

.c2-widerrufsformular input:not([type="submit"]),
.c2-widerrufsformular textarea,
.c2-widerrufsformular select {
	margin-top: 0;
}

.c2-widerrufsformular input[type="submit"] {
	box-sizing: border-box;
	padding: .675rem .75rem;
	border: 1px solid transparent;
	border-radius: 0;
	background: #f0ab05;
	color: #fff;
	font-weight: 700;
	line-height: 1.5;
	cursor: pointer;
	text-transform: uppercase;
	transition: all .3s cubic-bezier(.165, .84, .44, 1);
}

.c2-widerruf-submit-row {
	-webkit-box-align: center;
	display: -webkit-box;
	display: -webkit-flex;
	-ms-flex-align: center;
	align-items: center;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	margin-top: 1rem;
}

/* CF7 wraps the contents of a div in a paragraph. Make that wrapper the
 * actual full-width flex row so the submit control aligns with the fields. */
.c2-widerruf-submit-row > p {
	-webkit-box-align: center;
	display: -webkit-box;
	display: -webkit-flex;
	-ms-flex-align: center;
	align-items: center;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	margin: 0;
	padding: 0;
	width: 100%;
}

.c2-widerruf-required-note {
	font-size: .9rem;
	font-weight: 400;
	margin-right: 1rem;
}

.c2-widerruf-submit-row input[type="submit"],
.c2-widerruf-submit-row button.c2-widerruf-submit {
	-webkit-box-flex: 0;
	-webkit-order: 3;
	-ms-flex-order: 3;
	-ms-flex: 0 0 auto;
	flex: 0 0 auto;
	margin-left: auto;
	order: 3;
}

.c2-widerruf-submit-row .wpcf7-spinner {
	-webkit-order: 2;
	-ms-flex-order: 2;
	margin-left: .5rem;
	margin-right: .5rem;
	order: 2;
}

.c2-widerruf-hp {
	position: absolute !important;
	left: -10000px !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
}

@media (max-width: 720px) {
	.c2-widerruf-fields.c2-widerruf-layout-inline.c2-widerruf-columns-1 .c2-widerruf-field,
	.c2-widerruf-fields.c2-widerruf-layout-inline.c2-widerruf-columns-2 .c2-widerruf-field,
	.c2-widerruf-fields.c2-widerruf-layout-inline.c2-widerruf-columns-3 .c2-widerruf-field,
	.c2-widerruf-fields.c2-widerruf-layout-inline.c2-widerruf-columns-4 .c2-widerruf-field {
		-webkit-flex: 0 0 100%;
		-ms-flex: 0 0 100%;
		flex: 0 0 100%;
		-ms-flex-preferred-size: 100%;
		flex-basis: 100%;
		width: 100%;
	}

	.c2-widerruf-submit-row {
		-webkit-box-align: start;
		-ms-flex-align: start;
		align-items: flex-start;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
	}

	.c2-widerruf-submit-row > p {
		-webkit-box-align: start;
		-ms-flex-align: start;
		align-items: flex-start;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
	}

	.c2-widerruf-submit-row input[type="submit"],
	.c2-widerruf-submit-row button.c2-widerruf-submit {
		margin-left: 0;
	}
}
