/* Inputs ------------------------------------ */

fieldset {
	border: 0;
	padding: 0;
}

.wpdev_hint_with_text .block_text,
.wpcf7-form p,
label {
	display: block;
	font-size: 1.05vw;
	font-weight: 400;
	margin: 0;
}

label.inline,
input[type="checkbox"] + label {
	display: inline;
	font-weight: 400;
	margin-left: 0.5rem;
}

input[type="checkbox"] {
	-webkit-appearance: none;
	position: relative;
	top: 2px;
	display: inline-block;
	margin: 0;
	width: 20px;
	height: 20px;
	border: solid 1px var(--black);
	cursor: pointer;
}

input[type="checkbox"]:checked::before {
	content: url("data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2020%2020%27%3E%3Cpath%20d%3D%27M14.83%204.89l1.34.94-5.81%208.38H9.02L5.78%209.67l1.34-1.25%202.57%202.4z%27%20fill%3D%27%23000000%27%2F%3E%3C%2Fsvg%3E");
	position: absolute;
	display: inline-block;
	margin: 0;
	height: 25px;
	width: 25px;
	left: 40.7%;
	top: 50%;
	-webkit-transform: translate(-50%,-50%);
	transform: translate(-50%,-50%);
}

input,
textarea,
select {
	color: var(--dgrey);
	font-size: 1.3vw;
	font-weight: 400;
}

select {
	background-color: white;
	border: 0;
	padding: 7px;
}

input[type="url"],
input[type="email"],
input[type="tel"] {

	/*rtl:ignore*/
	direction: ltr;
}

input[type="text"],
input[type="file"],
input[type="tel"],
input[type="password"],
input[type="email"],
input[type="search"],
textarea {
	-webkit-appearance: none;
	border: 0;
	display: block;
	margin-top: 7px;
	padding: 7px;
	max-width: 100%;
	width: 100%;
}

input[type="text"],
input[type="file"],
input[type="tel"],
input[type="password"],
input[type="email"],
input[type="search"] {
	margin-bottom: 20px;
	margin-top: 20px;
}

input[type="file"] {
	opacity: 0;
	margin-bottom: 5px;
	margin-top: 30px;
	min-height: 45px;
}

.file-529::before {
	content: 'Auswählen';
	background-color: var(--rose);
	font-size: 1.2vw;
	letter-spacing: 0;
	line-height: 1;
	font-weight: 400;
	padding: 15px 60px;
	color: var(--white);
	-webkit-appearance: none;
	border: 0;
	cursor: pointer;
	display: block;
	text-align: center;
	word-break: normal;
	text-decoration: none;
	position: absolute;
}

textarea {
	margin-bottom: 20px;
	line-height: 1.5;
	width: 100%;
	padding: 5px;
}

input::-webkit-input-placeholder {
	line-height: normal;
}

button:not(.toggle),
.button,
.faux-button,
.wp-block-button__link,
.wp-block-file .wp-block-file__button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
	background-color: var(--rose);
	font-size: 1.2vw;
	letter-spacing: 0;
	line-height: 1;
	font-weight: 400;
	padding: 15px 60px !important;
	color: var(--white);
	-webkit-appearance: none;
	border: 0;
	cursor: pointer;
	display: inline-block;
	margin: 0;
	opacity: 1;
	text-align: center;
	text-decoration: none;
	
}

input[type="submit"] {
    display: block;
    float: right;
    margin-top: 2em;
    margin-bottom: 20px;
    padding: 15px 60px !important;
}


/* Cf7 */
.wpcf7-form {
	width: 70%;
}

form.invalid, 
.wpcf7-response-output,
form.unaccepted,
.wpcf7-response-output {
    border-color: var(--rose) !important;
}

.wpcf7-response-output {
	font-size: 1.05vw;
    margin: 20px 0 0 0 !important;
    padding: 0.2em 0.5em !important;
}

.wpcf7-not-valid-tip {
	color: red !important;
    margin-top: -18px;
	margin-bottom: 20px;
	font-size: 1.05vw;
}

form > p:last-of-type::after {
	content: '';
	clear: both;
	display: block;
}

.wpcf7-form p > label {
	position: absolute;
	font-weight: 700;
	text-align: right;
	margin-left: -330px;
	width: 300px;
	margin-top: 7px;
	color: var(--rose);
}

.wpcf7-list-item {
	margin: 0 0.1em 0 0 !important;
}

.wpcf7-list-item > label {
	margin-bottom: 7px;
}

.wpcf7-acceptance input[type="checkbox"] {
	margin-top: 25px;
}

.wpcf7-form a {
	color: var(--black);
}

@media screen and (min-width: 1920px) { 
	
	input[type="text"],
	input[type="tel"],
	input[type="email"],
	input[type="search"],
	select,
	textarea {
		font-size: 30px !important;
	}
	
	button,
	label,
	input[type="button"],
	.file-529::before,
	input[type="submit"],
	.wp-block-button__link {
		font-size: 23px !important;
	}
}

@media screen and (max-width: 1380px) { 
	
	.wpcf7-form p > label,
	.wpcf7-list-item-label,
	.wpdev_hint_with_text .block_text,
	.wpcf7-response-output,
	.wpcf7-not-valid-tip,
	.file-529::before,
	input[type="submit"] {
		font-size: 15px;
	}

}

@media screen and (max-width: 1280px) { 
	
	input[type="text"],
	input[type="tel"],
	input[type="email"],
	input[type="search"],
	select,
	textarea {
		font-size: 17px;
	}
}

@media screen and (max-width: 780px) { 
	
	.wpcf7-form {
		width: 100%;
	}

	select {
		margin-bottom: 20px;
		margin-top: 20px;
	}
	
	.file-529::before,
	input[type="file"] {
		margin-top: 10px;
	}

	.wpcf7-form p > label {
		position: relative;
		text-align: left;
		margin-left: 0;
		width: auto;
	}
}