input { display: inline-block; padding: 4px 10px; margin-bottom: 9px; font-size: 1em; line-height: 1; color: var(--primary); background-color: var(--secondary); border: 1px solid var(--primary-medium); border-radius: 0; box-sizing: border-box; } textarea { height: auto; background-color: var(--secondary); border: 1px solid var(--primary-medium); &:focus { border-color: var(--tertiary); box-shadow: shadow("focus"); outline: 0; } } input, select, textarea { color: var(--primary); caret-color: currentColor; &[class*="span"] { float: none; margin-left: 0; } &[disabled], &[readonly] { cursor: not-allowed; background-color: var(--primary-low); border-color: var(--primary-low); } &:focus:required:invalid { color: var(--danger); border-color: var(--danger); } &:focus:required:invalid:focus { border-color: var(--danger); box-shadow: shadow("focus-danger"); } } .spinner { margin: 20px auto 20px auto; position: relative; -webkit-animation: rotate-forever 1s infinite linear; animation: rotate-forever 1s infinite linear; height: 30px; width: 30px; border: 4px solid var(--primary-low-mid); border-right-color: transparent; border-radius: 50%; &.small { width: 10px; height: 10px; margin: 0; display: inline-block; } } @keyframes rotate-forever { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } .body-length { text-align: right; }