xref: /template/sprintdoc/css/area_forms.less (revision 7a4b2bb9cc493fc384801c9698b9fd49e4ceed06)
1/**
2 * This file provides the design styles for forms.
3 *
4 * @author Jana Deutschlaender <deutschlaender@cosmocode.de>
5 */
6
7
8/* for all of the form styles, style.ini colours are not used on purpose (except for fieldset border) */
9
10form {
11    display: inline;
12    margin: 0;
13    padding: 0;
14
15    // multiline label
16    fieldset > label.block > span:first-child {
17        display: inline-block;
18
19        @media @screen_min-lg {
20            width: 48.8%;
21        }
22
23        @media @screen_max-lg {
24            width: 48.5%;
25        }
26    }
27}
28
29fieldset {
30    font-size: @font-size-default;
31    line-height: 140%;
32    border: 1px solid @ini_text_alt;
33    padding: .7rem 1rem;
34
35    > :last-child {
36        margin-bottom: 0;
37    }
38
39    + p {
40        padding-top: 1rem;
41    }
42}
43
44legend {
45    margin: 0;
46    padding: 0 .1em;
47}
48
49label {
50    vertical-align: middle;
51    cursor: pointer;
52}
53
54input,
55textarea,
56button,
57select,
58optgroup,
59option,
60keygen,
61output,
62meter,
63progress {
64    font: inherit;
65    font-weight: normal;
66    color: #333;
67    background-color: #fff;
68    line-height: normal;
69    margin: 0;
70    vertical-align: middle;
71    box-sizing: border-box;
72}
73
74select {
75    max-width: 100%;
76}
77
78textarea.edit {
79    font-size: @font-size-default;
80}
81
82optgroup {
83    font-style: italic;
84    font-weight: bold;
85}
86
87option {
88    font-style: normal;
89    font-weight: normal;
90}
91
92input,
93textarea,
94select,
95keygen {
96    min-height: @formfield_min-height;
97    border: 1px solid @color-border;
98    box-shadow: inset 0 0 1px #eee;
99    border-radius: @fix_border-radius;
100    padding-left: .3rem;
101    padding-right: .3rem;
102}
103
104input:active,
105input:focus,
106textarea:active,
107textarea:focus,
108select:active,
109select:focus,
110keygen:active,
111keygen:focus {
112    border-color: #999;
113}
114
115input[type=radio],
116input[type=checkbox],
117input[type=image] {
118    padding: 0;
119    border-style: none;
120    box-shadow: none;
121}
122
123
124/* + + + + +  buttons  + + + + + */
125button {
126    background-color: #eee;
127    background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIHZpZXdCb3g9IjAgMCAxIDEiIHByZXNlcnZlQXNwZWN0UmF0aW89Im5vbmUiPgo8bGluZWFyR3JhZGllbnQgaWQ9Imc4MjQiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4MT0iMCUiIHkxPSIwJSIgeDI9IjAlIiB5Mj0iMTAwJSI+CjxzdG9wIHN0b3AtY29sb3I9IiNGRkZGRkYiIG9mZnNldD0iMCIvPjxzdG9wIHN0b3AtY29sb3I9IiNGNEY0RjQiIG9mZnNldD0iMC4zIi8+PHN0b3Agc3RvcC1jb2xvcj0iI0VFRUVFRSIgb2Zmc2V0PSIwLjk5Ii8+PHN0b3Agc3RvcC1jb2xvcj0iI0NDQ0NDQyIgb2Zmc2V0PSIuOTkiLz4KPC9saW5lYXJHcmFkaWVudD4KPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNnODI0KSIgLz4KPC9zdmc+);
128    background-image: linear-gradient(to bottom, #ffffff 0%, #f4f4f4 30%, #eeeeee 99%, #cccccc 99%);
129    border: 1px solid #ccc;
130    border-radius: @fix_border-radius;
131    color: #333;
132    padding: .1em .5em;
133    cursor: pointer;
134    transition: @transition background-color, @transition color;
135
136    &:hover,
137    &:focus,
138    &:active {
139        background-color: #ddd;
140        background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIHZpZXdCb3g9IjAgMCAxIDEiIHByZXNlcnZlQXNwZWN0UmF0aW89Im5vbmUiPgo8bGluZWFyR3JhZGllbnQgaWQ9Imc2NzAiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4MT0iMCUiIHkxPSIwJSIgeDI9IjAlIiB5Mj0iMTAwJSI+CjxzdG9wIHN0b3AtY29sb3I9IiNGRkZGRkYiIG9mZnNldD0iMCIvPjxzdG9wIHN0b3AtY29sb3I9IiNGNEY0RjQiIG9mZnNldD0iMC4zIi8+PHN0b3Agc3RvcC1jb2xvcj0iI0RERERERCIgb2Zmc2V0PSIwLjk5Ii8+PHN0b3Agc3RvcC1jb2xvcj0iI0JCQkJCQiIgb2Zmc2V0PSIuOTkiLz4KPC9saW5lYXJHcmFkaWVudD4KPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNnNjcwKSIgLz4KPC9zdmc+);
141        background-image: linear-gradient(to bottom, #ffffff 0%, #f4f4f4 30%, #dddddd 99%, #bbbbbb 99%);
142        border-color: #999;
143    }
144}
145
146
147/* + + +  all types of submit-buttons  + + + */
148form input[type=submit], // heredity 'adnewpage'
149a.button,
150input[type=submit],
151input[type=reset],
152button[type=submit],
153.qq-upload-button {
154    cursor: pointer;
155    box-shadow: none;
156    background-image: none;
157    background-color: @button_background;
158    border: 1px solid @button_background;
159    border-radius: @fix_border-radius;
160    color: @button_color;
161    vertical-align: top;
162    padding: .3em @grid;
163    transition: @transition background-color, @transition color;
164
165    &:hover,
166    &:active,
167    &:focus {
168        background-color: @button_color;
169        color: @button_background;
170    }
171}
172
173button[type='reset'] {
174    min-height: 2rem;
175    vertical-align: middle;
176    padding: .3em 1rem;
177}
178
179input[type=submit],
180button[type=submit] {
181    min-height: 2rem;
182    vertical-align: middle;
183
184    &[disabled] {
185        cursor: default;
186
187        &:hover,
188        &:active,
189        &:focus {
190            box-shadow: none;
191            background-image: none;
192            background-color: @button_background;
193            color: @button_color;
194            border-color: @button_background;
195        }
196    }
197
198    + span {
199        display: block;
200        margin-top: @grid;
201    }
202}
203
204
205/* + + +  all types of buttons not being submit-buttons  + + + */
206input.button,
207input[type=button] {
208    cursor: pointer;
209    background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIHZpZXdCb3g9IjAgMCAxIDEiIHByZXNlcnZlQXNwZWN0UmF0aW89Im5vbmUiPgo8bGluZWFyR3JhZGllbnQgaWQ9Imc4MjQiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4MT0iMCUiIHkxPSIwJSIgeDI9IjAlIiB5Mj0iMTAwJSI+CjxzdG9wIHN0b3AtY29sb3I9IiNGRkZGRkYiIG9mZnNldD0iMCIvPjxzdG9wIHN0b3AtY29sb3I9IiNGNEY0RjQiIG9mZnNldD0iMC4zIi8+PHN0b3Agc3RvcC1jb2xvcj0iI0VFRUVFRSIgb2Zmc2V0PSIwLjk5Ii8+PHN0b3Agc3RvcC1jb2xvcj0iI0NDQ0NDQyIgb2Zmc2V0PSIuOTkiLz4KPC9saW5lYXJHcmFkaWVudD4KPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNnODI0KSIgLz4KPC9zdmc+);
210    background-image: linear-gradient(to bottom, #ffffff 0%, #f4f4f4 30%, #eeeeee 99%, #cccccc 99%);
211    background-color: #eee;
212    border: 1px solid #ccc;
213    border-radius: @fix_border-radius;
214    color: #333;
215    padding: .1em .5em;
216    transition: @transition background-color, @transition color;
217
218    &:hover,
219    &:active,
220    &:focus {
221        background-color: #ddd;
222        border-color: #999;
223        background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIHZpZXdCb3g9IjAgMCAxIDEiIHByZXNlcnZlQXNwZWN0UmF0aW89Im5vbmUiPgo8bGluZWFyR3JhZGllbnQgaWQ9Imc2NzAiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4MT0iMCUiIHkxPSIwJSIgeDI9IjAlIiB5Mj0iMTAwJSI+CjxzdG9wIHN0b3AtY29sb3I9IiNGRkZGRkYiIG9mZnNldD0iMCIvPjxzdG9wIHN0b3AtY29sb3I9IiNGNEY0RjQiIG9mZnNldD0iMC4zIi8+PHN0b3Agc3RvcC1jb2xvcj0iI0RERERERCIgb2Zmc2V0PSIwLjk5Ii8+PHN0b3Agc3RvcC1jb2xvcj0iI0JCQkJCQiIgb2Zmc2V0PSIuOTkiLz4KPC9saW5lYXJHcmFkaWVudD4KPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNnNjcwKSIgLz4KPC9zdmc+);
224        background-image: linear-gradient(to bottom, #ffffff 0%, #f4f4f4 30%, #dddddd 99%, #bbbbbb 99%);
225    }
226}
227
228
229/* + + +  all disabled buttons  + + + */
230input[disabled],
231button[disabled],
232select[disabled],
233textarea[disabled],
234option[disabled],
235input[readonly],
236button[readonly],
237select[readonly],
238textarea[readonly] {
239    cursor: auto;
240    background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIHZpZXdCb3g9IjAgMCAxIDEiIHByZXNlcnZlQXNwZWN0UmF0aW89Im5vbmUiPgo8bGluZWFyR3JhZGllbnQgaWQ9Imc4MjQiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4MT0iMCUiIHkxPSIwJSIgeDI9IjAlIiB5Mj0iMTAwJSI+CjxzdG9wIHN0b3AtY29sb3I9IiNGRkZGRkYiIG9mZnNldD0iMCIvPjxzdG9wIHN0b3AtY29sb3I9IiNGNEY0RjQiIG9mZnNldD0iMC4zIi8+PHN0b3Agc3RvcC1jb2xvcj0iI0VFRUVFRSIgb2Zmc2V0PSIwLjk5Ii8+PHN0b3Agc3RvcC1jb2xvcj0iI0NDQ0NDQyIgb2Zmc2V0PSIuOTkiLz4KPC9saW5lYXJHcmFkaWVudD4KPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNnODI0KSIgLz4KPC9zdmc+);
241    background-image: linear-gradient(to bottom, #ffffff 0%, #f4f4f4 30%, #eeeeee 99%, #cccccc 99%);
242    background-color: #eee;
243    opacity: .5;
244    border: 1px solid @color-border;
245    border-radius: @fix_border-radius;
246    color: #333;
247    font-weight: normal;
248    padding: .3em @grid;
249    transition: @transition background-color, @transition color;
250
251    &:hover,
252    &:active,
253    &:focus {
254        background-color: #ddd;
255        background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIHZpZXdCb3g9IjAgMCAxIDEiIHByZXNlcnZlQXNwZWN0UmF0aW89Im5vbmUiPgo8bGluZWFyR3JhZGllbnQgaWQ9Imc2NzAiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4MT0iMCUiIHkxPSIwJSIgeDI9IjAlIiB5Mj0iMTAwJSI+CjxzdG9wIHN0b3AtY29sb3I9IiNGRkZGRkYiIG9mZnNldD0iMCIvPjxzdG9wIHN0b3AtY29sb3I9IiNGNEY0RjQiIG9mZnNldD0iMC4zIi8+PHN0b3Agc3RvcC1jb2xvcj0iI0RERERERCIgb2Zmc2V0PSIwLjk5Ii8+PHN0b3Agc3RvcC1jb2xvcj0iI0JCQkJCQiIgb2Zmc2V0PSIuOTkiLz4KPC9saW5lYXJHcmFkaWVudD4KPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNnNjcwKSIgLz4KPC9zdmc+);
256        background-image: linear-gradient(to bottom, #ffffff 0%, #f4f4f4 30%, #dddddd 99%, #bbbbbb 99%);
257        border-color: #999;
258        color: #333;
259    }
260}
261
262input::-moz-focus-inner,
263button::-moz-focus-inner {
264    border: 0;
265    padding: 0;
266}
267
268
269/* + + + + + + + + + + + + + + + + + + + + + + + + + + */
270/* media queries - Styles for auth forms */
271
272@media @screen_max-xs {
273    .tpl_sprintdoc {
274        #dw__login,
275        #dw__register,
276        #dw__resendpwd {
277            fieldset {
278                width: 100%;
279
280                label.block {
281                    text-align: left;
282
283                    > span:first-child {
284                        width: 100%;
285                    }
286
287                    input.edit {
288                        width: 100%;
289                        margin-top: .5rem;
290                    }
291                }
292            }
293        }
294
295        #dw__login {
296            label[for="remember__me"] {
297                width: 100%;
298                margin-left: 0;
299            }
300        }
301    }
302}
303