
form fieldset {
	border: 0;
}

.form {
	margin-bottom: 2em;
	text-align: left;
}

.form fieldset {
	padding: 0;
	border: 0;
}

.form .bWrap {
	margin-top: 1.5em;
}

.form__input input, 
.form__input select, 
.form__input textarea {
    padding: 0.6em 1em;
    width: 100%;
    border: 0;
    background-color: rgba(255, 255, 255, 1);
    font-family: inherit;
    color: #000;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: 2px solid var(--color__gray);
    border-radius: 30px;
	background-color: #fff;
}

.form.form--defaultStyle .form__group.form__group--input {
	position: relative;
	/* margin-top: 1.5rem; */
}

.form.form--defaultStyle .form__group.form__group--input {
}
	
.form.form--defaultStyle .form__group.form__group--input label {
	padding: 0 0.2rem;
	
	position: absolute;
	top: 50%;
	left: 1.2rem;
	transform: translateY(-50%);
	
	transition: top 0.3s ease-in-out, font-size 0.3s ease-in-out;
	
	pointer-events: none;
}

.form.form--defaultStyle .form__group {
	margin-bottom: 1em;
}

.form.form--defaultStyle .form__group.form__group--input.form__group--higherInputs label {
	top: 2.5rem;
}

.form.form--defaultStyle .form__group.form__group--input.form__group--higherInputs.hasValue label,
.form.form--defaultStyle .form__group.form__group--input.form__group--higherInputs.focus label,
.form.form--defaultStyle .form__group.form__group--input.form__group--fixedTop label,
.form.form--defaultStyle .form__group.form__group--input.focus label,
.form.form--defaultStyle .form__group.form__group--input.hasValue label {
	/* background-color: #fff; */
	font-size: 0.7em;
	top: 1rem;
	max-height: 1.4em;
	overflow: hidden;
}

.form.form--defaultStyle .form__group.form__group--textarea {
	margin-top: 1.5em;
	position: relative;
}
.form.form--defaultStyle .form__group.form__group--textarea label {
	padding: 0 0.2rem;
	font-size: 0.7em;
	position: absolute;
	left: 1.2rem;
	-webkit-transition: top 0.3s ease-in-out;
			transition: top 0.3s ease-in-out;
	
	pointer-events: none;
	
	top: 1em;
}

.form.form--defaultStyle .form__group.form__group--textarea.form__group--fixedTop label,
.form.form--defaultStyle .form__group.form__group--textarea.focus label,
.form.form--defaultStyle .form__group.form__group--textarea.hasValue label {
	top: -1rem;
}

.form.form--defaultStyle .form__input textarea,
.form.form--defaultStyle .form__input select,
.form.form--defaultStyle .form__input input {
	padding: 1.4em 1.5em 1.2em 1em;
}

.form.form--defaultStyle .form__input textarea {
	min-height: 7em;
}

.form__group--input .form__input {
	margin-top: 0.5em;
}


.formWrapper--streknaFormular .form__group {
	margin-bottom: 1.5em;
}
.form__group.form__group--radio:first-child {
	margin-bottom: 0;
}

.form__group.form__group--radio label {
	padding-top: 0.15em;
}


.form__group--input {
	position: relative;
	z-index: 2;
}

.form__group--checkbox {
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	
	padding-top: 0.1em;
	padding-bottom: 0.1em;
}

.form__group--checkbox:not(:last-child) {
		margin-bottom: 0.3em;
}

.form__group--checkbox input[type="checkbox"] {
	width: 3rem;
	height: 2rem;
	-webkit-flex: 0 0 auto;
		-ms-flex: 0 0 auto;
			flex: 0 0 auto;
			
	opacity: 0;
}

/*
.form__group--checkbox a {
	color: var(--color__text);
	box-shadow: inset 0 -1px 0 var(--color__text);
	transition: color 0.5s, box-shadow 0.5s;
}

.form__group--checkbox a:hover {
	color: var(--color__text);
	box-shadow: inset 0 -1px 0 var(--color__text);
}
*/

.ws--black .form__group--checkbox a {
	color: #fff;
	box-shadow: inset 0 -1px 0 #fff;
	transition: color 0.5s, box-shadow 0.5s;
}
.ws--black .form__group--checkbox a:hover {
	color: var(--color__text);
	box-shadow: inset 0 -1px 0 var(--color__text);
}

.form__group--checkbox label {
	position: relative;
	display: block;
	padding-top: 0;
}

.form__group--checkbox label span {
	font-size: 0.9em;
}

.form__group--checkbox label:before {
	position: absolute;
    left: -3rem;
    top: -0.1em;
    content: "";
    border: 2px solid var(--color__gray);
	border-radius: 5px;
    width: 2rem;
    height: 2rem;
    position: absolute;
	background-color: transparent;
}

.form__group--checkbox label:after {
	position: absolute;
    left: -2.6rem;
    top: 0.3rem;
    width: 1.3rem;
    height: 1.3rem;
	
	background-image: url(/images/check_black.svg?v2);
	background-size: contain;
}


.theme--black .form__group--checkbox label:after {
	background-image: url(/images/check_white.svg?v2);
}


.form__group--checkbox input[type="checkbox"]:checked + label::after {
	content: "";
}

.form__group--checkbox input[type="checkbox"]:focus + label::before {
	outline: 0 solid #fff;
	outline-offset: 2px;
}

.form__group--checkbox.error {
	outline: 2px solid #d55757;
	outline-offset: 3px;
}

.form__group--input.error textarea, 
.form__group--input.error input {
	border: 2px solid #d55757;
}

.form__hint {
	margin-bottom: 1em;
	font-size: 0.8em;
}

.form__hint--required {
	margin-top: 1em;
	padding: 0;
	text-align: right;
}

.form__hint--required > div {
	display: inline-block;
}

.form__hint--required:before {
	content: "*";
	display: inline-block;
}

.form__group--radio input[type="radio"] {
	opacity: 0;
}

.form__group--radio label {
	line-height: 2em;
	position: relative;
	padding-top: 0.6em;
	font-weight: 400;
	font-size: 1.1em;
}

.form__group--radio label::before {
	width: 2rem;
	height: 2rem;
	position: absolute;
	left: -3rem;
	top: 0.1rem;
	
	content: "";
	/* border: #fff 1px solid; */
	border: 2px solid var(--color__text);
	border-radius: 50%;
}

.form__group--radio label::after {
	position: absolute;
	border: 0;
	width: 1.2rem;
    height: 1.2rem;
    position: absolute;
    left: -2.61rem;
    top: 0.48rem;
    border-radius: 50%;
}

.form__group--radio input[type="radio"]:checked + label::after {
	/* background-color: #fff; */
	background: var(--color__text);
	content: "";
}

.form__group--radio input[type="radio"]:focus + label::before {
	outline: 0 solid #fff;
	outline-offset: 2px;
}

.form__groupWrap {
	margin-top: 2em;
}

.form__groupWrap .form__groupRadios {
	margin-top: 1em;
}

.radioGroup__wrapp {
	padding-left: 2.9em;
}

.form__row.form__row--radioButtons {
	justify-content: flex-start;
    align-items: center;
}

.form__row {
    margin-bottom: 0;
    display: flex;
    justify-content: space-between;
}

.form__row .form__group {
    width: calc(50% - 0.5rem);
	/* margin-bottom: 0 !important; */
}

.form__row .form__group:nth-child(1) {
    margin-right: 1rem;
}

.form__groupRadios {
	padding-left: 2.5em;
    margin-top: 1.5rem;
    margin-bottom: 2.5rem;
}

.form__groupRadios .form__group {
	margin-bottom: 0.6em !important;
}

.form__groupRadios.error {
	outline-offset: 3px;
	outline: 1px solid #d55757;
}


.ws--black .form__group--input::before {
    background-color: var(--color__text);
}


input:-webkit-autofill{
    -webkit-text-fill-color: #fff !important;
}
input:-webkit-autofill,
input:-webkit-autofill:hover, 
input:-webkit-autofill:focus, 
input:-webkit-autofill:active{
    -webkit-background-clip: text;
    -webkit-text-fill-color: var(--color__text) !important;
    transition: background-color 5000s ease-in-out 0s;
    box-shadow: inset 0 0 0 0 #ffffff;
}

textarea:focus-visible, 
input:focus-visible {
	outline: 0;
}

.form__status {
	display: none;
	margin-top: 1em;
}

.form__status.success {
	display: block;
}

.form__status.error {
	color: #d55757;
	display: block;
}

.form__thankYou {
	margin-top: 2em;
    color: var(--color__text);
}

.formWrapper {
	max-width: 45em;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
}

.formWrapper h2 {
	color: var(--color__text);
}

.form__group--input label {
	font-weight: 600;
}

.form__group--checkboxGroup > label {
	font-weight: 600;
	margin-bottom: 1em;
	display: block;
}

.form__group--checkboxGroup > label small {
	color: var(--color__green);
}

.checkbocGroup {
	display: flex;
	justify-content: flex-start;
	align-items: felx-start;
	flex-direction: column;
	gap: 1em;
}


@media (min-width: 30em) {
	
	.form__group--input {
		display: flex;
		justify-content: stretch;
		align-items: center;
	}
	
	.form__group--checkboxGroup {
		display: block;
	}
	
	.form__group--checkboxGroup > label {
		width: 100%;
	}
}

@media (min-width: 48em) {
	
	.form__group--input .form__input {
		flex: 1 1 auto;
	}
	
	.form__group--input label {
		min-width: 12em;
		padding-right: 1em;
	}
	
	.form__group--input input {
		width: 100%;
	}
	
	.checkbocGroup {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		justify-items: start;
		gap: 1.5em;
	}
}
