.input-animated {
  position: relative;
  min-width: 250px;
  width: 100%;
  margin-top: 20px;
}

.input-animated input {
  position: relative;
  width: 100%;
  padding: 20px 10px 10px;
  background: transparent;
  border: none;
  outline: none;
  color: var(--color);
  font-size: 0.9em;
  z-index: 8;
}

.input-animated input:disabled {
  background-color: var(--color-background-primary);
}

.input-animated span {
  position: absolute;
  left: 0;
  width: 100%;
  margin: 20px 0px 10px;
  background-color: var(--color-primary-contrast);
  font-size: 1em;
  color: var(--color);
  pointer-events: none;
  transition: 0.5s;
  z-index: 9;
  text-transform: uppercase;
}

.input-animated-background-primary span {
  background-color: var(--color-background-primary);
}

.input-animated input:disabled~span,
.input-animated input:valid~span,
.input-animated input:focus~span {
  transform: translateY(-26px);
  font-size: 0.75em;
}

.input-animated i {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  border-bottom: 1px solid;
  border-radius: 4px;
  transition: 0.5s;
  pointer-events: none;
  z-index: 7;
}

.input-animated input:disabled~i,
.input-animated input:valid~i,
.input-animated input:focus~i {
  background: transparent;
  border-color: var(--color);
  border: 1px solid;
  height: 36px;
}

.input-animated .input-error {
  position: absolute;
  left: 0;
  top: 46px;
  width: 100%;
  z-index: 1;
}

.select-div {
  position: relative;
  /*Don't really need this just for demo styling*/

  float: left;
  min-width: 280px;
  height: 44px;
}

.mini.select-div {
  min-width: inherit;
  height: inherit;
}

/* IE11 hide native button (thanks Matt!) */
select::-ms-expand {
  display: none;
}

.select-div select:disabled~div:after {
  opacity: 0.7;
}

.select-div select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  /* Add some styling */

  display: block;
  width: 100%;
  max-width: 320px;
  height: 44px;
  float: right;
  padding: 0px 6px 0px 24px;
  line-height: 1.75;
  color: var(--color);
  background-color: var(--color-primary-contrast);
  background-image: none;
  border: 2px solid var(--color-primary);
  -ms-word-break: normal;
  word-break: normal;
  border-right: solid 44px var(--color-primary);
  cursor: pointer;
}

.mini.select-div select {
  border-right: solid 33px var(--color-primary);
}

.select-div select:hover {
  border-color: var(--color-primary-flash);
}

.select-div select:hover~.select-div-triangle:after {
  border-top-color: var(--color-primary-flash);
}

.select-div select:focus-visible~.select-div-triangle:after {
  border-top-color: var(--color-primary-flash);
}

.select-div select:focus-visible {
  outline: none;
  border: 2px solid var(--color-primary-flash);
  border-radius: 0px;
  border-right: solid 44px var(--color-primary-flash);
}

.mini.select-div select:focus-visible {
  border-right: solid 33px var(--color-primary-flash);
}

.select-div select:checked {
  background: transparent;
  color: transparent;
}

.select-div.mini select {
  height: 30px;
  width: 160px;
  padding: 0px 6px 0px 12px;
}

.search-bar {
  position: relative;
  width: 280px;
  height: 44px;
  border-radius: 7px;
  border: 0px;
  background-color: var(--color-primary);
}

.search-bar:hover,
.search-bar:focus-visible {
  background-color: var(--color-primary-flash);
}

.search-bar input {
  position: absolute;
  font-size: 1em;
  top: 2px;
  left: 2px;
  width: 236px;
  height: 40px;
  border-radius: 5px;
  border: none;
  outline: none;
  background-color: var(--color-primary-contrast);
  padding-left: 24px;
}

.icon-triangle {
  transform: rotate(90deg);
  fill: transparent;
  pointer-events: none;
}

.select-div.mini .icon-triangle {
  width: 20px;
  top: 5px;
}

.icon-triangle,
.icon-search {
  position: absolute;
  top: 7px;
  right: 6px;
  color: var(--color-primary-contrast);
  stroke-width: 1px;
}

.icon-triangle:hover,
.icon-search:hover {
  color: var(--color-background-secondary);
}

.mini input[type=number] {
  background-color: var(--color-primary-contrast);
  border: 2px solid var(--color-primary);
  border-radius: 7px;
  color: var(--color);
  height: 30px;
  width: 100px;
  padding: 0px 6px 0px 12px;
}

.mini input[type=number]:focus-visible {
  outline: none;
  border: 2px solid var(--color-primary-flash);
}

.mini input[type=number]:disabled,
input:disabled,
input:disabled+label {
  opacity: .6;
}