form.cwa_form input,
form.cwa_form button
{
	font-size: 1em;
}


/* form.cwa_form input:not([type]), */
form.cwa_form > div > input[type="text"],
form.cwa_form > div > input[type="tel"],
form.cwa_form > div > input[type="email"]
{
	margin-top: 0.1em;
	margin-bottom: 0.1em;
}

form.cwa_form > div > label,
form.cwa_form div.cwa_form_range,
form.cwa_form div.cwa_form_emailconf,
form.cwa_form div.cwa_form_phoneconf,
form.cwa_form div.cwa_form_submit
{
	margin-top: 0.25em;
	margin-bottom: 0.25em;
}

/* form.cwa_form input:not([type]), */
form.cwa_form > div > input[type="text"],
form.cwa_form > div > input[type="tel"],
form.cwa_form > div > input[type="email"],
form.cwa_form > div > label,
form.cwa_form > div > div.cwa_form_textchecklength input,
form.cwa_form > div > div.cwa_form_emailwconfirm input,
form.cwa_form > div > div.cwa_form_phonewconfirm input,
form.cwa_form cwa_form_submit
{
	/* direct form childs only! */
	/* display: block; */
	display: inline-block; /* fix for android, for checkboxes ignoring box-sizing */
	width: 100%;
	max-width: 100%;
}

form.cwa_form input[type="checkbox"]
{
	height: 0.8em;
	width: 1em;
}

/* form.cwa_form input:not([type]), */
form.cwa_form input[type="text"],
form.cwa_form input[type="tel"],
form.cwa_form input[type="email"]
{
	box-sizing: border-box;
	outline: none;
	border-radius: 0px;
	border: 1px solid #000000;
	padding: 0.1em;
	padding-right: 1.25em;
}

form.cwa_form label.cwa_form_checkbox_optional,
form.cwa_form label.cwa_form_checkbox_required
{
	padding: 0.1em;
	padding-right: 1.5em;
	position: relative;
	border: 1px solid transparent;
	/* display: inline-block; */
	box-sizing: border-box;
}

input,
form.cwa_form div.cwa_form_textchecklength input,
form.cwa_form div.cwa_form_emailwconfirm input,
form.cwa_form div.cwa_form_phonewconfirm input
{
	/* padding-right: 0.1em; */
	padding: 0.25em 0.35em 0.25em 0.25em;
	border-width: 0px;
}

form.cwa_form div.cwa_form_textchecklength,
form.cwa_form div.cwa_form_emailwconfirm > div,
form.cwa_form div.cwa_form_phonewconfirm > div
{
	padding-right: 1.25em;
	box-sizing: border-box;
	background-color: #e0e0e0;
	border: 1px solid #000000;
/*	border-left-width: 0px; */
	margin-top: 0.5em;
}


form.cwa_form input[type="button"],
form.cwa_form input[type="submit"],
form.cwa_form button
{
	outline: none;
	border-radius: 0px;
	border: 1px solid #000000;
	line-height: 1.5em;
}

form.cwa_form input:invalid,
form.cwa_form input.cwa_form_showerror,
form.cwa_form div.cwa_form_textchecklength,
form.cwa_form div.cwa_form_emailwconfirm > div,
form.cwa_form div.cwa_form_phonewconfirm > div
{
	background-size: 1.25em 1em;
	background-repeat: no-repeat;
	background-position: right center;
	border-color: #000000;
}

form.cwa_form label.cwa_form_checkbox_required:after
{
	content: ' ';
	position: absolute;
	right: 0px;
	width: 1.25em;
	top: 0px;
	bottom: 0px;
	background-repeat: no-repeat;
	background-position: center center;
}

form.cwa_form input:invalid,
form.cwa_form input.cwa_form_showerror
{
	background-image: url('images/data_error_ct.svg');
}

form.cwa_form div.cwa_form_textchecklength input:invalid,
form.cwa_form div.cwa_form_emailwconfirm input:invalid,
form.cwa_form div.cwa_form_phonewconfirm input:invalid,
form.cwa_form div.cwa_form_textchecklength input.cwa_form_showerror,
form.cwa_form div.cwa_form_emailwconfirm input.cwa_form_showerror,
form.cwa_form div.cwa_form_phonewconfirm input.cwa_form_showerror,
form.cwa_form label.cwa_form_checkbox_required input
{
	background-image: none;
}

form.cwa_form div.cwa_form_emailwconfirm > div:last-child,
form.cwa_form div.cwa_form_phonewconfirm > div:last-child
{
	margin-top: 0.1em;
}

form.cwa_form div.cwa_form_textchecklength.cwa_form_showerror,
form.cwa_form div.cwa_form_emailwconfirm.cwa_form_showerror > div,
form.cwa_form div.cwa_form_phonewconfirm.cwa_form_showerror > div,
form.cwa_form div.cwa_form_emailwconfirm > div.cwa_form_showerror,
form.cwa_form div.cwa_form_phonewconfirm > div.cwa_form_showerror
{
	background-color: #c00000;
	border-color: #c00000;
	background-image: url('images/data_error_dt.svg');
}

form.cwa_form label.cwa_form_checkbox_required.cwa_form_showerror
{
	border-color: #c00000;
}

form.cwa_form label.cwa_form_checkbox_required.cwa_form_showerror:after
{
	background-color: #c00000;
	background-image: url('images/data_error_dt.svg');
}

form.cwa_form div.cwa_form_range
{
	display: flex;
	max-width: 100%;
	justify-content: space-between;
	align-items: center;
	column-gap: 0.75em;
	flex-wrap: wrap;
}				

form.cwa_form div.cwa_form_range > input
{
	width: 4cm;
	max-width: 100%;
	margin-bottom: 0.25em;
}

form.cwa_form div.cwa_form_range > div
{
	flex-grow: 1;
	max-width: 100%;
	display: flex;
	max-width: 100%;
	justify-content: space-between;
	align-items: baseline;
	column-gap: 0.75em
}

form.cwa_form div.cwa_form_range > div > span:last-child
{
	min-width: 2em;
	width: 2em;
	max-width: 2em;
	text-align: right;
}

@media only screen and (max-width: 15cm)
{
	form.cwa_form div.cwa_form_range > input
	{
		width: max(5cm, 100%);
		max-width: 100%;
	}
}

@media only screen and (max-width: 10cm)
{
	form.cwa_form div.cwa_form_range > input
	{
		width: max(4cm, 100%);
		max-width: 100%;
	}
}

form.cwa_form div.cwa_form_emailwconfirm > *,
form.cwa_form div.cwa_form_phonewconfirm > *
{
	display: block;
	width: 100%;
	max-width: 100%;
}

form.cwa_form div.cwa_form_submit
{
	text-align: center;
}

form.cwa_form div.cwa_form_submit > button
{
	min-width: 50%;
	min-width: min(max(50%, 5cm), 100%);
	max-width: min(15em, 100%);
	display: inline-block;
	transition: color 0.25s ease-out, border-color 0.25s ease-out, background-color 0.25s ease-out;
	position: relative;
	z-index: 4;
}

/* form.cwa_form.cwa_form_darkbg.cwa_form_state_busy div.cwa_form_submit > button,
/* form.cwa_form.cwa_form_litebg.cwa_form_state_busy div.cwa_form_submit > button > span     { background-image: url('images/busy_animframe.svg'); } */
/*
form.cwa_form.cwa_form_darkbg.cwa_form_state_init div.cwa_form_submit > button,
form.cwa_form.cwa_form_litebg.cwa_form_state_init div.cwa_form_submit > button
*/

form.cwa_form div.cwa_form_errorbox,
form.cwa_form span.cwa_form_errorbox
{
	display: none;
}

form.cwa_form div.cwa_form_errorbox.cwa_form_showerror,
form.cwa_form span.cwa_form_errorbox.cwa_form_showerror
{
	padding: 0.2em;
	/* margin: 1em 0px; */
	display: block;
	box-sizing: border-box;
	margin: 1em 0px 1px 0px;}

form.cwa_form div.cwa_form_errorbox.cwa_form_showerror > span
{
	display: block;
}

form.cwa_form.cwa_form_darkbg.cwa_form_state_fail div.cwa_form_submit > button,
form.cwa_form.cwa_form_darkbg.cwa_form_state_rtry div.cwa_form_submit > button,
form.cwa_form div.cwa_form_errorbox.cwa_form_showerror,
form.cwa_form span.cwa_form_errorbox.cwa_form_showerror
{
	background-color: #c00000;
	color: #ffffff;
	text-shadow: 0.1em 0.1em 0.33em #000000;
}

form.cwa_form.cwa_form_litebg.cwa_form_state_fail div.cwa_form_submit > button,
form.cwa_form.cwa_form_litebg.cwa_form_state_rtry div.cwa_form_submit > button
{
	background-color: #c00000;
	color: #000000;
	text-shadow: 0.1em 0.1em 0.33em #ffffff;
}

form.cwa_form.cwa_form_darkbg.cwa_form_state_fail div.cwa_form_submit > button:hover,
form.cwa_form.cwa_form_darkbg.cwa_form_state_rtry div.cwa_form_submit > button:hover
{
	background-color: #ff0000;
}

form.cwa_form.cwa_form_litebg.cwa_form_state_fail div.cwa_form_submit > button:hover,
form.cwa_form.cwa_form_litebg.cwa_form_state_rtry div.cwa_form_submit > button:hover
{
	background-color: #ff0000;
}

form.cwa_form.cwa_form_darkbg.cwa_form_state_good div.cwa_form_submit > button,
form.cwa_form.cwa_form_darkbg.cwa_form_state_redo div.cwa_form_submit > button
{
	background-color: #00c000;
	color: #ffffff;
	text-shadow: 0.1em 0.1em 0.33em #000000;
}

form.cwa_form.cwa_form_litebg.cwa_form_state_good div.cwa_form_submit > button,
form.cwa_form.cwa_form_litebg.cwa_form_state_redo div.cwa_form_submit > button
{
	background-color: #00c000;
	color: #000000;
	text-shadow: 0.1em 0.1em 0.33em #ffffff;
}

form.cwa_form.cwa_form_darkbg.cwa_form_state_good div.cwa_form_submit > button:hover,
form.cwa_form.cwa_form_darkbg.cwa_form_state_redo div.cwa_form_submit > button:hover
{
	background-color: #00f000;
}

form.cwa_form.cwa_form_litebg.cwa_form_state_good div.cwa_form_submit > button:hover,
form.cwa_form.cwa_form_litebg.cwa_form_state_redo div.cwa_form_submit > button:hover
{
	background-color: #00f000;
}

form.cwa_form
{
	width: 100%;
}

form.cwa_form > div
{
	position: relative;
	display: inline-block;
}

form.cwa_form.cwa_form_state_befr > div:after,
form.cwa_form.cwa_form_state_busy > div:after
{
/*
	left: -2vw;
	top: -0.75em;
	right: -2vw;
	bottom: -0.75em;
*/
	position: absolute;
    left: 0px;
    top: 0px;
    right: 0px;
    bottom: 0px;

/*
	background-image: url('images/busy.svg');
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
*/
	content: '';
/*	animation: cwa_images_busy_anim 4s steps(12) infinite forwards; */
	background-color: rgba(127, 127, 127, 0.5);
	z-index: 3;
}

form.cwa_form div.cwa_form_elewithminititle
{
	position: relative;
	margin-top: 0.75em;
}

form.cwa_form div.cwa_form_elewithminititle > div
{
	position: relative;
    z-index: 1;
}

/* form.cwa_form div.cwa_form_emailwconfirm input,
form.cwa_form div.cwa_form_phonewconfirm input */
form.cwa_form div.cwa_form_textchecklength.cwa_form_elewithminititle input
{
	padding-top: 0.35em;
}

form.cwa_form div.cwa_form_elewithminititle > span
{
    position: absolute;
    top: -0.75em;
    left: 1em;
    font-size: 0.75em;
    background-color: #ffffff;
    background: linear-gradient(to bottom, transparent 35%, white 40%, white 45%, transparent);
    padding: 0px 0.25em;
    z-index: 2;
}

form.cwa_form div.cwa_form_debugbuttons
{
	text-align: center;
}

form.cwa_form div.cwa_form_debugbuttons > button
{
	z-index: 4;
	position: relative;
}


/*
form.cwa_form.cwa_form_state_init > div.cwa_form_submit > button
{
}

form.cwa_form.cwa_form_state_busy > div.cwa_form_submit > button
{
}

form.cwa_form. > div.cwa_form_submit > button,
form.cwa_form. > div.cwa_form_submit > button
{
}

form.cwa_form. > div.cwa_form_submit > button,
form.cwa_form. > div.cwa_form_submit > button
{
}
*/
