html, body {
	background: transparent;
	margin: 0 0.5em;
}
@media(min-width:810px) and (max-width:1023px){
	html {
		font-size:calc(18px + (18 - 16) * ((100vw - 810px) / (1023 - 810)));
	}
	.small {
		/*! font-size: 0.9333em !important; */
	}
}
@media(min-width:667px) and (max-width:809px){
	html {
		font-size:calc(16px + (16 - 15) * ((100vw - 667px) / (809 - 667)));
	}
	.small {
		/*! font-size: 0.9333em !important; */
	}
}
@media(max-width:667px){
	html {
		font-size:calc(15px + (15 - 14) * ((100vw - 320px) / (667 - 320)));
	}
	.small {
		font-size: 0.9333em !important;
	}
}
label br, [id*="label"] br, br + br {
	display: none;
}
fieldset[id="112"] [id*="label"]:not(p) br {
	display: inline !important;
}

label, [id*="label"] {
	margin-top: 1.25em !important;
	font-size: 0.9em;
	font-weight: 600;
	color: rgb(var(--blue));
}
label, [id*="label"] b {
	font-weight: 600;
	color: rgb(var(--red));
}
label {
	display: inline-block;
}
label span.required, 
label span[style*="background-color:#ffb3b3"],
[id*="label"] span[style*="background-color:#ffb3b3"] {
	background-color: transparent !important;
	color: rgb(var(--red))
}
input[type="radio"] + label, input[type="checkbox"] + label {
	margin-top: 0.75em !important;
	vertical-align: middle;
	font-weight: 400;
	font-size: 1em;
	display: inline-block !important;
	width: auto !important;
}
input[type="radio"], input[type="checkbox"] {
	margin-top: 0.725em !important;
	vertical-align: top;
}
input[type="radio"]:checked:focus, input[type="checkbox"]:checked:focus {
	border-color: rgb(255,255,255) !important;
}
input[type="radio"]:checked + label, input[type="checkbox"]:checked + label {
	border-color: rgb(255,255,255) !important;
	background: rgb(0, 190, 0, 0.125) !important;
	border: 1px solid rgb(0, 190, 0, 0.5) !important;
	padding:0 0.5em;
	font-weight:500;
	font-size:0.95em;
	position: relative;
}
div:is([id="41"],[id="43"], [id="45"]) input[type="radio"]:checked + label::before {
	content: '';
	position: absolute;
	left: calc(100% + 0.5em);
	width: 1.5em;
	height: 1.5em;
	background: url(/wp-content/themes/dgfmm/images/icon_edit_green.svg) center center / 1em no-repeat;
	background-color: rgba(var(--white));
	border-radius: 0.5em;
}
input[type="radio"]:not([readonly]):focus ~ label {
	color: inherit !important;
}
input[type="radio"]:not([readonly]):focus + label {
	color: rgb(var(--red)) !important;
}
input {
	margin-top:0.25em !important;
}
input[type="radio"] + input[type="text"],
input[type="radio"] + label,
input[type="checkbox"] + input[type="text"],
input[type="checkbox"] + label{
	max-width: calc(100% - 2.5em);
}

input::placeholder {
	font-size: 1em
}

input.invalid {
	border-color: rgb(var(--red));
	border-width: 2px !important;
}
div[id="40"] br {
	_display: block !important;
}
[id*="label"] strong {
	display: block !important;
	font-size: 1.125em;
	margin-bottom: 0.5em;
}


fieldset {
	border: solid 1px rgba(var(--blue3));
	background-color: rgba(var(--blue),0.05);
	box-shadow: var(--box-shadow-box);
	padding:1em;
	position: relative;
}
fieldset legend, fieldset legend[id*="label"] {
	color: rgb(var(--blue)) !important;
	background-color: rgba(var(--white)) !important;
	border: solid 1px rgba(var(--blue));
	text-transform: uppercase;
	font-size: 1.125em !important;
	font-weight: 500 !important;
	margin-top: 0 !important;
	padding:0 0.5em
}
fieldset a {
	color: rgb(var(--red));
}

.detail {
	border: solid 1px rgb(0,0,0,0.25);
	padding: 0.5em 1em;
	margin-top:1.5em;
	background-color: rgb(255,255,255,0.5)
}
.detail-head {
	padding: 0.25em 0.5em;
	margin-top:-1em;
	margin-bottom: 1.5em;
	display: block;
	background: rgb(var(--blue),0.35);
	color: rgb(var(--white));
	font-size: 0.9em;
}

div[style*="white"], label[style*="white"] {
	background-color: transparent !important;
}
div[style*="background-color: rgb(255, 179, 179)"], label[style*="background-color: rgb(255, 179, 179)"] {
	background-color: transparent !important;
}
div[style*="background-color: rgb(255, 179, 179)"] [id*=label], label[style*="background-color: rgb(255, 179, 179)"] {
	_background-color: transparent !important;
	color: red
}

label:has(+input[name*="Straße"]) {
	margin-top: 3em !important;
	padding-top:2em;
	border-top: solid 1px
}
.normal {
	font-size: 1.125em;
	font-weight: normal;
}

/** Schwerpunkt **/
fieldset[id="112"] p[id*="label"] {
	color: rgb(var(--red));
	margin-bottom:1em;
}
.schwerpunkt-label-head {
	font-weight: 600;
	font-size:0.975em;
}
input[type="checkbox"]:checked + label .schwerpunkt-label-head {
	font-weight: 700;
}

/** Vorschau **/
.vorschau {	
	padding: 1em;
	background: rgb(204, 227, 240) !important;
}
.vorschau p[id*="label"] {
	margin-top: 0 !important;
	margin-bottom: 1em;
}
.vorschau div[style*="inline"] {
	margin-top: 0 !important;
	display: block !important;
	font-size:0.9em;
}
input[id*="keine weiteren Berufe_weiter"]{
	position: absolute;
	right: 1em;
	bottom: 2em;
}
input[type="button"], input[type="submit"], input[type="submit"][disabled]:hover {
	text-transform: uppercase;
	font-weight: 600;
	border-radius: 0;
	float: right;
	margin-top: 3em !important;
	padding-left: 10vw !important;
	padding-right: 10vw !important;
}
input[type="button"][value="zurück"] {
	text-transform: uppercase;
	font-weight: 600;
	border-radius: 0;
	float: none;
}
input[type="button"] + br,
[style*="display:none"] ~ br{
	display: none;
}

.required_text {
	float: right;
	font-size: 0.8em;
	margin-top: 0 !important;
}
#Pflichtfelder_Anzeige {
	padding:1em;
}

input[name="Passwort"][data-pw-watcher="1"].invalid {
	background-color: rgb(249, 228, 228);
}
input[name="Passwort"][data-pw-watcher="1"]:not(.invalid) {
	background-color: rgb(205, 236, 205);
}

@media(max-width:667px){
	form {
		font-size: 1.0625em;
	}
}
/** SUCCESS/ERROR **/
div#form {
	
}

.submit-message {
	border: solid 1px rgba(var(--blue3));
	background-color: rgba(var(--white));
	color: rgb(var(--blue));
	box-shadow: var(--box-shadow-box);
	padding:5vw;
	position: relative;
}
.submit-message h2 {
	/*color: rgb(var(--red));*/
	color: rgb(26, 155, 26);
}
.submit-message.error h2 {
	color: rgb(var(--red));
}
.submit-message h2 + * {
	margin-top:0.75em !important;
}
.submit-message p.big {
	font-size: 1.125em;
}
.submit-message .info {
	background-color: rgba(var(--blue),0.075);
	padding:0.5em;
	font-size: 0.9em;
	font-weight:500;
}
.submit-message a {
	color: rgb(var(--red));
}
