@import "_mixins", "_vars"; input, select, textarea, .textarea { border: $input-border solid $input-border-color; } progress { height: 20px; width: 100%; min-width: 150px; } .textarea, .tag-input, textarea, select, input[type="password"], input[type="text"], input[type="datetime"], input[type="email"], input[type="date"], input[type="number"], input[type="datetime-local"] { @include box-sizing(border-box); color: $input-color; background: $input-background; width: 100%; height: 2rem; min-width: 70px; max-width: 100%; padding: 7px; font-size: $input-font-size; border: $input-border solid $input-border-color; transition: background 0.3s, border 0.3s; box-shadow: inset 1px 1px 4px -2px #c5c5c5; &:focus, .active { border-color: $default-highlighter; } &:disabled { background: #efefef; } } input ~ .dropdown { position: absolute; display: none; z-index: 3; } input:focus ~ .dropdown, input ~ .dropdown.active { display: inline-block; } select { cursor: pointer; padding: 0 7px 0 7px; /* overwrites input padding: 7px. don't know why i have to do this! */ } option { line-height: 1rem; } input[type="file"] { border: solid $input-font-size $input-background; width: 100%; max-width: 100%; color: $input-color; padding: 10px; @include box-sizing(border-box); } input::placeholder { color: $input-placeholder-color; opacity: 0.5; } input::placeholder, textarea { font-family: 'FontAwesome', serif; } input:invalid { transition: all 0.5s; border-color: $input-invalid-border-color; } textarea, .textarea { overflow: auto; resize: both; min-height: 100px; @include box-sizing(border-box); } span.checkbox, span.radio { -moz-user-select: none; -ms-user-select: none; -webkit-user-select: none; user-select: none; label { cursor: pointer; } } span.checkbox input[type="checkbox"], span.radio input[type="radio"] { position: relative; vertical-align: middle; bottom: 1px; margin-right: 5px; cursor: pointer; } input[type="range"] { border: none; width: 100%; min-width: 150px; cursor: pointer; } .input { width: 100%; min-width: 120px; display: flex; flex-direction: row; flex-wrap: nowrap; button { @include box-sizing(border-box); display: inline-block; background: $input-background; height: 2rem; font-size: $input-font-size; min-width: 40px; border-left: solid $input-border $input-border-color; border-top: solid $input-border $input-border-color; border-bottom: solid $input-border $input-border-color; border-right: none; padding: 0; position: relative; vertical-align: middle; flex-grow: 0; flex-shrink: 0; &:hover { background: $input-background; } } i { position: relative; vertical-align: middle; } input { @include box-sizing(border-box); font-size: $input-font-size; position: relative; vertical-align: middle; flex-grow: 1; flex-shrink: 1; } } select.plain { width: auto; margin: 0; padding: 0; border: none; outline: none; display: inline-block; -webkit-appearance: none; -moz-appearance: none; appearance: none; cursor: pointer; box-shadow: none; } .tag-input { input { border: none; padding: 0; margin: 0; } .tag { padding: 3px; font-size: 0.8rem; } }