
    :root {
        --input-height: 40px;
    }

	.input:-webkit-autofill, .input:-webkit-autofill:hover, .input:-webkit-autofill:focus {
	  -webkit-box-shadow: 0 0 0px 1000px transparent inset;
	  -webkit-text-fill-color: var(--color-txt);
	  transition: background-color 5000s ease-in-out 0s;
	}
	
	.input {
	    width: 100%;
	    height: var(--input-height);
		padding: 0 20px;
	    border: 1px solid rgba(31,31,31,.1);
	    transition: all .2s;
	    border-radius: var(--btn-radius);
	    color: var(--color-txt);
		background-color: #f4f4f4;
	}
	.input--textarea,
	textarea.input {
		height: 96px;
		padding-top: 12px;
		resize: vertical;
	}
	.btns-max-radius .input--textarea,
	.btns-max-radius textarea.input {
		border-radius: 20px;
	}

	.select-wrapper {
	    position: relative;
	}
	.select-icon {
	    position: absolute;
	    display: flex;
	    align-items: center;
	    justify-content: center;
	    top: 0;
	    right: 0;
	    height: 100%;
	    width: 40px;
	    pointer-events: none;
	    opacity: .4;
	}
	.select-icon::after {
	    content: '';
		width: .6em;
		height: .6em;
		margin-top: -0.27em;
		border: 0 solid currentColor;
		border-width: 2px 2px 0 0;
		transform: rotate(135deg);
	}
	
	.input--file {
		font-family: inherit;
		cursor: pointer;
		height: auto;
		padding: 8px;
		font-size: .875em;
		line-height: 1;
	}
	.input:focus {
	    border-color: var(--color-1);
	    box-shadow: 0 0 2px rgba(var(--rgb-1).5);
	}
	
	
	
	/*=====*/
	.checkbox, .radio {
		position: relative;
		display: flex; align-items: center;
	
	}
	.checkbox + .checkbox,
	.radio + .radio {
		margin-top: 12px;
	}
	
	.checkbox [type=checkbox] {
		position: absolute;
		z-index: -1;
		opacity: 0;
	}
	.radio [type=radio] {
	    display: none;
	}
	.checkbox__img, .radio__img, .checkbox-check, .radio-check {
	    position: relative;
		display: flex; align-items: center; justify-content: center;
		width: 20px; height: 20px;
		min-width: 20px;
		margin-right: 10px;
		content: '';
		border: 2px solid rgba(var(--rgb-txt), .4);
		color: var(--color-1);
		transition: all .2s;
	}
	.checkbox__img, .checkbox-check {
		border-radius: 2px;
		transition: all .2s;
	}
	.radio__img, .radio-check {
		border-radius: 50%;
	}
	.radio__img::after,
	.radio-check::after {
		content: '';
		width: 10px; height: 10px;
		transform: scale(0);
		transition: transform .15s;
		background: currentColor;
		border-radius: 50%;
	}
	
	.checkbox:hover .checkbox__img,
	.checkbox:hover .checkbox-check,
	.radio:hover .radio__img,
	.radio:hover .radio-check {
		border-color: rgba(var(--rgb-txt), .6);
	}
	
	.radio :checked ~ .radio__img,
	.radio :checked ~ .radio-check {
		border-color: currentColor;
	}
	.radio :checked ~ .radio__img::after,
	.radio :checked ~ .radio-check::after {
		transform: scale(1);
	}
	.checkbox-check::after,
	.checkbox__img::after {
        position: absolute;
        content: '';
        width: 0;
        height: 0;
        border: 3px solid transparent;
        left: 6px;
        top: 10px;
        transform: rotateZ(37deg);
        transform-origin: 100% 100%;
        transition: border .25s, background-color .25s, width .20s .1s, height .20s .1s, top .20s .1s, left .20s .1s;
    }
    :checked ~ .checkbox-check,
    :checked ~ .checkbox__img {
        background-color: var(--color-1);
        border-color: var(--color-1) !important;
    }
    :checked ~ .checkbox-check::after,
    :checked ~ .checkbox__img::after {
        content: '';
    	top: 0px;
        left: 0px;
        width: 8px;
        height: 13px;
        border-top: 2px solid transparent;
        border-left: 2px solid transparent;
        border-right: 2px solid #fff;
        border-bottom: 2px solid #fff;
    }
    	
	.input::placeholder { opacity: .75; color: inherit; }
	.input:focus::placeholder { opacity: .5; }

	
	
	.form .button {
		display: flex;
		margin: 0 auto;
	}
	.form__privacy {
		text-align: center;
		font-size: 0.875em;
		line-height: 1.3;
	}
	
	.form-privacy {
	    margin-top: 15px;
	    text-align: center;
		font-size: 0.75em;
	}
	
	.form__success {
		line-height: 1.3;
		text-align: center;
		font-size: 1.125em;
	}
	/* remove*/
	.form .fi_success ~ * {
		display: none !important;
	}
	/* remove*/
	.form__errors {
		margin-top: 10px;
		padding: 5px;
		font-size: .875em;
		text-align: center;
		background-color: #d11f1f;
		color: #fff;
	}
	
	.form .form__button {
	    margin-top: 15px;
	}
	
	.form__fieldset {
		margin-bottom: 15px;
	}
	.form__fieldset--label-side {
		display: flex; flex-direction: column-reverse; align-items: flex-start;
		margin-bottom: 20px;
		position: relative;
	}
	.form__fieldset--label-side .form__label {
		position: absolute;
		top: 0; right: 100%;
		min-width: 160px;
		padding-top: 12px;
		padding-right: 15px;
		font-size: .875em;
		opacity: .85;
		text-align: right;
	}
	.form__label>span {
		color: red;
	}
	@media screen and (max-width: 767px) {
		.form__fieldset--label-side .form__label {
			position: static;
			padding: 0;
			margin-bottom: 5px;
			margin-left: 5px;
			text-align: left;
		}
	}
	
	
    .radio-required {
    	position: relative;
    }
    .radio-required div {
    	display: none;
    }
    .show-validate .radio-required :invalid ~ div {
    	display: block;
    	margin-top: 12px;
    	color: var(--color-error);
    }
    .radio-required input {
    	position: absolute;
    	z-index: -10;
    	bottom: 0; left: 0;
    	opacity: 0;
    }

	.field {
		--input-height: 50px;
		display: flex;
    	flex-direction: column-reverse;
    	position: relative;
	}
	.field + .field,
	.notification + .field {
		margin-top: 15px;
	}
	.field .input {
		padding-top: 20px;
	}
	.field textarea.input {
	    height: 100px;
	    padding-top: 25px;
	}
	.field-label {
		position: absolute;
		top: 0; left: 21px;
		height: var(--input-height);
		display: flex;
		align-items: center;
		pointer-events: none;
		transition: all .2s;
		opacity: .75;
	}
	:required ~ .field-label::after {
		content: '\00a0*';
	}
	
	:not(select):focus ~ .field-label,
	.input:not(select):not(:placeholder-shown) ~ .field-label,
	.not-empty ~ .field-label {
		height: 1em;
		top: 8px;
		font-size: 13px;
		opacity: 1;
	}
	
	@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
		.field-label {
			height: 12px;
			top: -5px;
			font-size: 13px;
		}
	}
	
	:focus ~ .field-label {
		color: var(--color-1);
	}
	
	.show-validate :invalid:focus,
	.field-error ~ :focus {
		border-color:var(--color-error);
	}
	.show-validate :invalid ~ .field-label,
	.field-error ~ .field-label {
		color:var(--color-error);
	}
	
	.field-error,
    .field-message {
    	margin-top: 5px;
    	font-size: .75em;
    }
    .field-error {
    	display: inline-block;
    	color: var(--color-error);
    }
	
	
	
	.notification {
	    padding: 15px 15px;
	    background-color: rgba(var(--rgb-txt),.05);
	    border-left: 5px solid currentColor;
	    border-radius: var(--radius);
	}
	.notification.is-error {
	    color: var(--color-error);
	}
	.notification.is-success {
	    color: var(--color-success);
	}
	.field + .notification,
	.notification + .notification {
	    margin-top: 15px;
	}
   .form__fields {
      display: flex;
      flex-direction: column;
      gap: 10px;
   }