2 input[type="datetime"],
5 input[type="password"],
12 margin: 0; /* safari fix */
16 /* set placeholder color */
18 input[type="datetime"],
21 input[type="password"],
27 color: var(--wcfInputPlaceholder);
31 color: var(--wcfInputPlaceholderActive);
37 background-color: var(--wcfInputDisabledBackground) !important;
38 border-color: var(--wcfInputDisabledBorder) !important;
39 color: var(--wcfInputDisabledText) !important;
43 textarea::placeholder {
44 color: var(--wcfInputPlaceholder);
48 color: var(--wcfInputPlaceholderActive);
54 -webkit-appearance: none;
57 @media (pointer: coarse) {
59 input[type="datetime"],
62 input[type="password"],
81 @include wcfFontDefault;
85 background-color: var(--wcfInputDisabledBackground) !important;
86 border-color: var(--wcfInputDisabledBorder) !important;
87 color: var(--wcfInputDisabledText) !important;
93 -webkit-text-fill-color: var(--wcfInputDisabledText); /* override safari font color change */
94 -webkit-opacity: 1; /* override mobile safari opacity change affecting text color */
98 // The width is determined by the browser based upon the longest <option> contained,
99 // but this can cause the <select> to overflow the parent container. This is acceptable
100 // to some extent, but on mobile it can cause the entire site to have a horizontal
101 // scrollbar instead. Setting a `max-width` will cause the browser to respect the page
102 // boundaries and nicely wrap the displayed value instead.
112 flex-direction: row-reverse;
115 justify-content: center;
117 &:not(:first-child) {
124 input[type="button"],
126 input[type="submit"],
134 .formSubmit.formSubmit.formSubmit + .section {
135 /* Intentional selector to overwrite existing selector. */
163 .inputAddonTextarea {
174 margin-top: 0 !important;
200 @include screen-sm-up {
219 color: var(--color-error) !important;
225 border-color: var(--color-error) !important;
229 html[data-color-scheme="dark"] .formError {
230 --color-error: #ff4747;
234 --color-success: rgb(46, 139, 87);
237 color: var(--color-success) !important;
243 border-color: var(--color-success) !important;
247 /* grid-based form controls */
259 .customOptionRequired {
260 color: rgba(204, 0, 1, 1) !important;
263 .formFieldRequiredNotice {
264 color: var(--wcfContentDimmedText);
266 @include wcfFontSmall;
269 html[data-color-scheme="dark"] :is(.formFieldRequired, .customOptionRequired) {
270 color: #ff4444 !important;
273 /* password strength estimator */
274 .inputAddonPasswordStrength {
275 align-items: flex-start;
284 input:is(.medium, .long) {
290 .passwordStrengthRating {
293 @include screen-sm-up {
303 .passwordStrengthScore {
304 background-color: rgb(224, 224, 224);
312 background-color: transparent;
319 background-color 0.12s linear,
324 &[data-score="0"]::before {
325 background-color: #dd2c00;
328 &[data-score="1"]::before {
329 background-color: #ff9100;
332 &[data-score="2"]::before {
333 background-color: #cddc39;
336 &[data-score="3"]::before {
337 background-color: #64dd17;
340 &[data-score="4"]::before {
341 background-color: #2e7d32;