.form-control { outline: none; border: 0; margin-bottom: var(--padding-sm); width: 100%; box-sizing: border-box; &.form-control--btn-right { position: relative; input { padding-right: 2em; } &:hover .form-control__right { opacity: 0.8; } .form-control__right { position: absolute; right: 0; top: 0; padding: 0 var(--padding-sm); height: 100%; display: flex; align-items: center; margin: 0; opacity: 0.5; &:hover { opacity: 1; } } } .input, input, textarea, select, button { width: 100%; display: block; margin-top: var(--padding-xs); box-sizing: border-box; } button, input[type='radio'], input[type='checkbox'] { width: auto; } input[type='radio'], input[type='checkbox'] { height: 1rem; float: left; margin-top: var(--padding-xxs); margin-right: var(--padding-xs); } & > button { width: auto; } input:invalid { border: 1px solid var(--color-warning) !important; } label { font-weight: 600; display: block; margin-top: var(--padding-xs); padding-top: 0; * { font-weight: normal; } } &.form-control--thin { label { font-weight: normal; } margin-bottom: var(--padding-xxs); } &.form-control--padded, &.form-control--outlined, &.form-control--underlined { textarea, .input, input, select { border: 1px solid var(--hl-md); padding: var(--padding-sm); border-radius: var(--radius-md); background-color: var(--hl-xxs); } // Because