﻿select,	
input, 
textarea					{	appearance:	none; -webkit-appearance: none; -moz-appearance: none; border-radius: 0; }	
	*:focus 				{	outline: -webkit-focus-ring-color auto 0; outline: none; }
	*:-moz-focusring 		{	outline: 0; }
	::placeholder	 		{	opacity: 0.50; }
	button	 				{	background-color: transparent; }
input[type=radio], 
input[type=checkbox] 		{	display: none; }		

select,
select option 				{ 	font: -moz-pull-down-menu; }
select option:first-child 	{	display: none; }

.pwm-field-icon 	{	display: none; }

/* Form Layout */

input, select	{	height: 100.0%; margin: 0; padding: 0 1.00em; }
		input	{	width: calc(100.0% - 2.00em); }

input, textarea		{	width: calc(100.0% - 2.00rem); height: 2.50rem; padding: 0 1.00rem; }
textarea			{	min-height: 7.50rem; padding: 0.50rem 1.00rem; resize: vertical; }

select 		{	width: 100.0%; height: 42px; padding: 0 30px 0 10px; background-image: url(../img/picts/black/keyboard_arrow_down.svg); background-repeat: no-repeat; background-position: center right 5px; background-size: 20px; }

/* --- Calculator --- */

#calculator input		{	width: calc(100.0% - 2.00em); padding: 0.50em 1.00em; text-align: right; }

/* Form Label Group */

.form-label-group			{	position: relative; height: 2.50em; margin: 0; display: flex; flex-flow: row wrap; justify-content: flex-start; align-content: center; align-items: center; }
.form-label-group.large		{	height: auto; }
.form-label-group * ~ label	{	position: absolute; top: 0; left: 0; width: calc(100.0% - 2.00em); padding: 0.60em 1.00em 0 1.00em; cursor: text; transition: all 300ms ease-in-out 0ms; background: transparent; cursor: text;
								display: flex; flex-flow: row wrap; justify-content: flex-start; align-content: flex-start; align-items: flex-start; transform-origin: top right; transform: scale(1); }

.form-label-group *:not(:placeholder-shown) ~ label,
.form-label-group *:focus ~ label		{	top: 0; left: 0; width: calc(100.0% - 2.00em); height: 100.0%; transform: scale(0.75); justify-content: flex-end; margin: 0; }

.form-label-group + .form-label-group	{	margin-top: 0.50em; }
.form-label-group select				{	width: calc(62.00% - 0.25em); height: 100.0%; padding: 0 1.00em; }
.form-label-group select + select		{	width: calc(38.00% - 0.25em); margin-left: 0.50em; }

/* DSGVO 

input[type=checkbox].DSGVO-ok + label					{	position: relative; display: block; min-height: 1.00em; margin-top: 1.00em; padding-left: 2.00em; display: flex; flex-flow: row wrap; justify-content: flex-start; align-content: center; align-items: center; }
input[type=checkbox].DSGVO-ok + label > a				{	display: inline-block; margin: 0 0.50em; }
input[type=checkbox].DSGVO-ok + label:before			{	content:''; position: absolute; top: -0.125em; left: 0; display: block; width: 1.50em; height: 1.50em; border-radius: 100.0%; 
															opacity: 0.25; background-image: url('../img/picts/radio_unchecked.svg'); background-repeat: no-repeat; background-position: center; background-size: cover; }
input[type=checkbox].DSGVO-ok:checked + label:before	{	opacity: 1.00; background-image: url('../img/picts/radio_checked.svg'); }

/* --- Form Label Group Dealer Number Validation --- */

.form-label-group-dealer-number					{	position: relative; margin: 2.00em 0 0 0; width: 100.0%; }
.form-label-group-dealer-number > *				{	transition: all 100ms ease-in-out; }


.form-label-group-dealer-number > label	{	position: absolute; top: 1px; left: 1px; width: calc(100.0% - 2.00rem - 2px); height: calc(2.50rem - 2px); padding: 0 1.00rem; font-size: 14px; cursor: text;
											display: flex; flex-flow: row wrap; justify-content: flex-start; align-content: center; align-items: center; background: white; }

.form-label-group-dealer-number input:not(:placeholder-shown) ~ label,
.form-label-group-dealer-number textarea:not(:placeholder-shown) ~ label 	{	z-index: 999; height: 15px; width: auto; margin-top: -24px; margin-left: 0; padding: 0; font-size: 12px; background: transparent; }

/* --- Switches --- */
	
input.check + label								{	position: relative; height: 1.50rem; padding-left: 30px; font-size: 0.90rem; display: flex; flex-flow: row wrap; justify-content: flex-start; align-content: center; align-items: center; }		
input.check + label:before, input + label:after {	position: absolute; border-radius: 100.0%; content: ''; }
			input.check + label:before 			{	top: 3px; left: 6px; width: 18px; height: 18px; }
			input.check + label:after 			{	top: 5px; left: 8px; width: 14px; height: 14px; background-color: white; }

input:disabled.check + label					{	opacity: 0.50; }	
 		
/*	=================================
		END
	================================= */
