input {
  margin: 5px 0 5px 0;
  width: 100%;
  box-sizing: border-box;
  padding: 5px;
  text-align: left;
  border-style: none;
  border-bottom: 1px dotted;
  background-color: var(--light);
	border-color: var(--gray-dd);
	color: var(--gray-dd);
  filter: none;
  font-size: 12pt;
  outline: none !important;
}

input:active, input:hover {
  outline: none !important;
}

input::placeholder {
	color: var(--gray-dd);
	text-align: left;
  font-size: 12pt;
}

input:focus {
  outline: none;
  border-bottom: 1px solid;
	border-color: var(--gray-dd);
}

input.success {
  border-bottom: 1px solid;
	border-color: var(--teal);
	color: var(--teal);
}

input:invalid {
	box-shadow: 0px 0px 0px 0px;
}

input[type=date] {
  width: auto;
}

input.expanded {
  width: 100%;
  max-width: 99999px;
  transition: max-width 0.5s linear;
}

input.reduced {
  width: 0;
  max-width: 0;
  transition: max-width 0.5s linear;
}
