.formContainer > *:first-child { margin-top: 20px; } .formContainer > * { display: block; align-items: center; width: 400px; max-width: 80vw; margin: 10px auto; margin-bottom: 20px; } .formElementContainer label { width: 150px; display: block; font-weight: bold; margin-bottom: 8px; } .formElementContainer input , .formElementContainer textarea{ padding: 10px; } .formElementContainer input, .formElementContainer textarea, .formElementContainer .complexInput { box-sizing: border-box; width: 100%; min-width: 0; border: solid 1px rgba(0,0,0,.2); border-radius: 2px; transition-property: border-color,box-shadow; transition-duration: .2s; transition-timing-function: ease-in-out; font: 400 14px Arial; } .formElementContainer textarea { height: 120px; resize: none; } :global(.dark) .formElementContainer input, :global(.dark) .formElementContainer .complexInput { border: none; } .complexInput { display: flex; flex-direction: row; overflow: hidden; background: white; position: relative; } .checkboxContainer .complexInput { background: none; border: none; } .checkboxContainer .complexInput input { max-width: 35px; } .checkboxContainer .complexInput label { flex: 1; } .complexInput > .inputDecorators { position: absolute; left: 0; top: 0; right: 0; bottom: 0; pointer-events: none; padding: 8px 10px; } .inputDecorators > span { white-space: pre; display: inline-block; font: 400 14px Arial; } .inputDecorators > span { color: black; transition: .3s opacity; } .complexInput input:focus + .inputDecorators .numRemaining { opacity: .4; } .complexInput > button { width: 38px; display: inline-block; } .complexInput > input { flex: 1; border: 0; border-radius: 0; } .formElementContainer span.hint { display: block; margin-top: 8px; color: var(--error-color); opacity: 0; transition: .2s opacity; user-select: none; height: 18.5px; } .formElementContainer .invalid { border: solid 1px var(--error-color); box-shadow: var(--error-color); } .formElementContainer .invalid + span.hint { opacity: 1; } .formElementContainer button { min-height: 20px; background: rgb(156, 39, 176); color: white; padding: 10px 0; border: none; box-shadow: none; transition-property: opacity filter; transition-duration: .2s; } .formElementContainer.outline button { color: rgb(156, 39, 176); border: solid 1px #b1b1b1; border-radius: 3px; background: transparent; } .formElementContainer.outline button:hover { background: rgba(0,0,0,.08); } .formElementContainer > button { width: 100%; } .formElementContainer button[type="submit"] { margin-top: 10px; } .formElementContainer button[disabled] { opacity: .4; filter: saturate(.2); }