:root {
  --yellow: #ffdc00;
  --darkyellow: #e8ca09;
  --lightyellow: #fff8cd;
  --border-color: #ececec;
  --label-color: #aaaaaa;
  --lightred: #ffd6d4;
  --red: #da2032;
  --darkred: #b31b29;
  --lightgreen: #dbffcd;
  --green: #45a617;
  --darkgreen:#398a13;
  --dark: #777777;
  --dark-hover: #444444;
  --lightgrey: #f8f8f8;
}
::-webkit-inner-spin-button { display: none; }
::-webkit-clear-button { display: none; }
::-webkit-clear-button { display: none; }

html, body {
	width: 100%;
	height: 100%;
	overflow: hidden;
	scroll-behavior: smooth;
}
html * {
    /* Most basic CSS reset */
    margin: 0;
    padding: 0;
    font: inherit;
    box-sizing: border-box; /* All elements need to be rendered in the new box-model */
	outline:none;
    box-shadow: none;
	word-wrap: break-word;
	overflow-wrap: break-word;
	hyphens: auto;
	color: inherit;
}
body {
	width: 40%;
    font:  400 15px/1.3 'Work Sans', Verdana, sans-serif;
	overflow-x: scroll;
	margin: auto;
}
strong {
	font-weight: 700;
}
input, button, textarea, select {
	-webkit-appearance: none;
    appearance: none;
    outline: 0;
    border: none;
    border-radius: 0;
	background-color: transparent;
	box-shadow: none;
}
img, svg {
    vertical-align: bottom;
}

/*** FORMS ***/
.form--grey {
    background-color: #f6f6f6;
}
.btn {
	display: inline-block;
    background-color: #ffdc00;
	transition: background 0.2s;
    font-weight: normal;
    cursor: pointer;
	padding: 0 12px;
    text-align: center;
	line-height: 40px;
	height: 40px;
	min-width: 40px;
	text-align: center;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    border-radius: 5px;
}
.btn:hover,
.btn:active,
.btn:focus {
    background-color: var(--darkyellow);
}
.btn[disabled] {
	background-color: #e6e6e6;
	color: #999;
}
.btn--green {
    background-color: var(--green);
    color: #fff;
}
.btn--green:hover,
.btn--green:active,
.btn--green:focus {
    background-color: var(--darkgreen);
}
.btn--red {
    background-color: var(--red);
    color: #fff;
}
.btn--red:hover,
.btn--red:active,
.btn--red:focus {
    background-color: var(--darkred);
}
.textfield {
	line-height: 40px;
	height: 40px;
    padding: 0 10px;
    border-radius: 0;
    background-color: #ffffff;
    border: 1px solid #e6e6e6;
    transition: border-color .2s;
}
.select:hover,
.textfield:hover {
    border-color:#cecece;
}
.select:focus,
.select:active,
.textfield:focus,
.textfield:active {
    border-color: #0071bb;
}
.select {
    display: block;
    position: relative;
    background-color: #ffffff;
    border: 1px solid #e6e6e6;
    background-image: url("https://images01-david.oeamtc.at/spunq-assets/images/dropdown-arrow.png?1486043459");
    background-repeat: no-repeat;
    background-position: 100% 50%;
    padding: 8px 40px 8px 8px;
    cursor: pointer;
    transition: border-color .2s;
}

.form {
    overflow: hidden;
	padding: 10px;
	margin: 10px;
	display: flex;
	align-items: center;
	justify-content: flex-start;

}
.form__line {
	width: 33.3%;
	break-inside: avoid-column;
	border: 1px solid transparent;
	border-radius: 5px;
	padding: 6px;
	transition:
		border-color .2s,
		background-color .2s;
}
.form__line:focus-within {
	border-color: var(--green);
	background-color: var(--lightgreen);
}
.form__line:focus-within .form__label {
	color: var(--darkgreen);
}
.form__line:focus-within:invalid {
	border-color: var(--red)
}
.form__line:invalid {
	background-color: var(--lightred);
}
.form__line:invalid .form__label {
	color: var(--darkred);
}
.form__line:invalid .form__btn[type="submit"] {
	pointer-events: none;
	background-color: #e6e6e6;
	color: #999;
}
.form__label {
	display: block;
	white-space: nowrap;
    overflow: hidden;
	text-overflow: ellipsis;
	color: var(--label-color);
	margin-bottom: 6px;
}
.form__input {
	width: 100%;
	font-size: 1.3rem;
	line-height: 2.5rem;
	border: 1px solid transparent;
	padding: 0 5px;
	background-clip: padding-box;
	transition:
		border-color .2s,
		background-color .2s;
}
.form__input:hover {
	background-color: rgba(128,128,128,0.1);
}
.form__input:focus {
    border-color: rgba(0,0,0,0.3);
	background-color: #fff;
}
