style for card filter dialog
[confetti] / style_new.css
1 * {
2   box-sizing: border-box;
3   font-family: sans-serif;
4   font-weight: normal;
5   font-size: initial;
6   font-style: normal;
7   text-decoration: none;
8   line-height: 1.5em;
9   color: inherit; background: transparent;
10   padding: 0; margin: 0;
11   border: none;
12 }
13
14 body {
15   color: #000; background-color: #FFF;
16 }
17
18 p { margin-bottom: 1em; }
19
20 a {
21   text-decoration: underline;
22   font-style: italic;
23   color: #068;
24 }
25
26 i, em { font-style: italic; }
27 b, strong { font-weight: bolder; }
28 ul, ol { margin-left: 1.125em; }
29
30 h1, h2, h3 {
31   font-weight: bold;
32   margin-top: 1em;
33   margin-bottom: .5em;
34 }
35
36 h1:first-child, h2:first-child, h3:first-child,
37 p + h1, p + h2, p + h3 {
38   margin-top: 0;
39 }
40
41 h4, h5, h6, form legend {
42   font-weight: bolder;
43   margin-bottom: .25em;
44 }
45
46 h1 { font-size: 1.5em; }
47 h2 { font-size: 1.125em; }
48
49 select, input, button, textarea,
50 .control a {
51   display: inline-block;
52   background-color: #FFF;
53   border: 1pt solid;
54   padding: .25em .75em;
55   vertical-align: text-bottom;
56 }
57 .control a {
58   color: inherit;
59   font-style: normal;
60   text-decoration: none;
61 }
62
63 select { padding: .375em 0; }
64
65 input[type=radio], input[type=checkbox] {
66   vertical-align: baseline;
67 }
68
69 button, input[type=button],
70 .control a {
71   box-shadow: .125em .125em .25em;
72 }
73
74 label { margin-right: .75em; }
75 input + label {
76   margin-left: .375em;
77 }
78
79 /* =========== FILTER AND SEARCH Headers ========= */
80
81 form.search, form.sort, form.filter, form.newcard, form.newcourses {
82   margin-top: 1em; padding: 0 1em;
83   z-index: 1;
84 }
85 form.filter > h1 { display: none; }
86
87 form.filter fieldset { margin-top: .5em; }
88 form.filter fieldset.item + fieldset.item legend { display: none; }
89 form.filter fieldset.item input[type=radio] { display: none; }
90 form.filter fieldset.item input[type=radio] + label {
91   display: table-cell;
92   padding: .5em 1em;
93   background-color: #EEE;
94   border-style: solid;
95   border-width: .5pt .25pt 0 .25pt;
96 }
97 form.filter fieldset.item input[type=radio] + label:first-of-type {
98   border-left: 1pt solid;
99 }
100 form.filter fieldset.item input[type=radio]:checked + label {
101   position: relative;
102   background-color: #FFF;
103   box-shadow: .125em -.125em .125em #888;
104   z-index: 1;
105 }
106 form.filter fieldset.item input[type=text],
107 form.filter fieldset.item fieldset.categories {
108   position: relative;
109   display: block;
110   width: 100%;
111   margin-top: -1pt;
112   padding: .25em .75em;
113   border: 1pt solid;
114   box-shadow: .125em .125em .25em #888;
115 }
116 form.filter fieldset.item fieldset.categories { display: none; }
117 form.filter fieldset.item input[value=CATEGORIES]:checked + label + input[type=text] { display: none; }
118 form.filter fieldset.item input[value=CATEGORIES]:checked + label + input[type=text] + fieldset.categories { display: block; }
119
120 form.filter fieldset.order legend {
121   float: left; margin-right: 1em;
122 }
123
124 form.filter fieldset label,
125 form.filter fieldset a { white-space: pre;}
126 form.filter button[type=submit] {
127   margin-top: .5em; margin-bottom: .5em;
128 }
129
130
131 /* ============ LIST ITEMS, Generic ============= */
132
133 body > form,
134 div.card,
135 div.course {
136   position: relative;
137   width: 98%; width: calc(100% - 2em);
138   margin-left: auto; margin-right: auto;
139   margin-bottom: 1em;
140   box-shadow: .125em .125em .25em;
141   z-index: 1;
142 }
143
144 /* HACK: put anchor point 10em above card and highlight target element */
145     div:target { box-shadow: none; z-index: 0; }
146     div:target:before {
147       content: '';
148       display: block;
149       margin-top: -10em;
150       height: 10em;
151       visibility: hidden;
152     }
153     div:target:after {
154       content: '';
155       display: block;
156       position: absolute;
157       left: 0; right: 0;
158       top: 10em; bottom: 0;
159       box-shadow: .125em .125em .25em;
160       animation: highlight 4s;
161       z-index: -1;
162     }
163     @keyframes highlight { from { background-color: #FF0; } to { background-color: transparent; } }
164 /**/
165
166 div .section, form .section {
167   display: block;
168   vertical-align: top;
169   padding: 0 1em;
170   overflow: hidden;
171   word-break: break-word;
172 }
173
174 div .section :last-child, form .section :last-child {
175   margin-bottom: 1em;
176 }
177
178 div .section h2, form .section h2,
179 div .section h3, form .section h3 { 
180   border-bottom: 1pt solid #EEE;
181 }
182 div .control, form .control {
183   background-color: #EEE;
184   padding: .25em;
185   text-align: right;
186 }
187
188 @media(min-width: 60em) {
189   div .section, form .section {
190     display: table-cell;
191     width: calc(100% / 10);
192   }
193   div .section :last-child { margin-bottom: 0; }
194   div .control, form .control {
195     background-color: transparent;
196   }
197   div .section:nth-of-type(2n) {
198     background-color: #EEE;
199   }
200 }
201 @media(min-width: 80em) {
202   div .control, form .control {
203     display: table-cell;
204     width: calc(100% / 10);
205   }
206   div .control .item, form .control .item {
207     display: block;
208     margin-bottom: .25em;
209   }
210 }
211
212 div .section .item, form .section .item,
213 form .section.attendance > label {
214   display: block;
215   width: 100%;
216 }
217
218 form .section .item {
219   margin-bottom: .25em;
220 }
221
222 form .section button[value^=addfield] {
223   font-size: .75em;
224   margin-top: .5em; padding: 0 .375em;
225 }
226
227 /* HACK: "responsive" Delete Button above each field */
228     form input.delete { display: none; }
229     form input.delete + label {
230       float: right;
231       font-size: .75em;
232       line-height: 1;
233       max-width: .75em; height: .875em; overflow: hidden;
234       color: #FBB; background-color: #444;
235       margin: 0; padding: .125em .5em 0 .5em;
236       border-radius: 4pt 4pt 0 0;
237       transition: max-width .3s;
238     }
239     form input.delete + label:before  { content: '\274c '; margin-right: .5em; }
240     form input.delete + label:hover   { max-width: 10em; }
241     -form input.delete + label:hover:before { content: ''; }
242     -form input.delete + label:hover:after  { content: ' \274c'; }
243     form input.delete:checked + label,
244     form input.delete:checked + label + * {
245       display: none;
246     }
247 /**/
248
249
250 /* ====== right hand Control Buttons on list items ====== */
251
252 form .control {
253   position: relative;
254   padding-left: 11em;
255   padding-top: 1.5em;
256 }
257 form .control .item {
258   display: inline-block;
259   margin-bottom: .25em;
260   vertical-align: text-bottom;
261 }
262
263 /* Combined Select/Submit Box */
264     form .control .item.newfield { box-shadow: .125em .125em .25em; }
265     form .control .item.newfield select { margin-right: -1pt; }
266     form .control .item.newfield button { box-shadow: none; }
267 /**/
268
269 /* HACK: Delete Checkbox before delete Button */
270     form .control .item.delete {
271       position: absolute;
272       bottom: .375em; left: .25em; width: auto;
273       padding-bottom: calc(2.25em + 2pt);
274     }
275     
276     form .control .item.delete input + label + button {
277       display: none;
278       position: absolute;
279       bottom: 0; width: 100%;
280       color: #800;
281       background-color: #FEE;
282       z-index: 1;
283     }
284     form .control .item.delete:after {
285       content: attr(label);
286       display: block;
287       position: absolute;
288       bottom: 0; width: 100%;
289       text-align: center;
290       color: #BAA;
291       padding: .25em 0;
292       border: 1pt solid;
293       box-shadow: .125em .125em .25em;
294     }
295     form .control .item.delete input:checked + label + button { display: block; }
296 /**/
297
298 @media(min-width: 80em) {
299   form .control { padding: .25em; min-height: 16em; }
300   form .control .item { width: 100%; }
301   form .control .item.newfield select { width: calc(100% - 2.5em); }
302   form .control .item.delete { bottom: .125em; right: .25em; }
303 }