]> git.plutz.net Git - lobster/blob - style.css
style updates using common.css
[lobster] / style.css
1 h1:first-child, h2:first-child, h3:first-child,
2 p + h1, p + h2, p + h3 {
3   margin-top: 3pt;
4 }
5
6 /* ====== COMMON ELEMENTS ======*/
7
8 body > ul.menu {
9   display: block;
10   height: 1.75em;
11   margin: 0; -padding: 0 .5em;
12   list-style: none;
13   color: #CCC;
14   background-color: #444;
15   box-shadow: inset 0 -.25em .25em #000;
16   overflow: hidden;
17   z-index: 3;
18 }
19
20 body > .menu li {
21   display: inline-block;
22 }
23 body > .menu a {
24   color: inherit;
25   padding: .5em 3em;
26   box-shadow: inset 0 0 .5em #000;
27 }
28 body.cards > .menu a[href="/cards/"],
29 body.courses > .menu a[href="/courses/"] {
30   color: #000;
31   background-color: #FFF;
32   box-shadow: none;
33 }
34
35 /* =========== FILTER AND SEARCH Headers ========= */
36
37 form.categories,
38 form.search, form.sort, form.filter, form.newcard, form.newcourses {
39   margin-top: 1em; padding: 0 1em;
40   z-index: 1;
41 }
42 form.filter > h1 { display: none; }
43
44 form.filter fieldset { margin-top: .5em; }
45 form.filter fieldset.item + fieldset.item legend { display: none; }
46
47 form.filter fieldset.item input[type=text] { display: block; }
48
49 form.filter fieldset.order legend {
50   float: left; margin-right: 1em;
51 }
52
53 form.filter fieldset label,
54 form.filter fieldset a { white-space: pre;}
55 form.filter button[type=submit] {
56   margin-top: .5em; margin-bottom: .5em;
57 }
58
59 form.filter button[value=export_csv] { margin-left: 1em; }
60
61 body.courses form .order { display: inline-block; margin-right: 2em;}
62
63 body.cards form.newcard { display: flex; }
64 body.cards form.newcard input[name=seed] { flex: 1; }
65
66
67 /* ============ LIST ITEMS, Generic ============= */
68
69 body > form,
70 div.card,
71 div.course {
72   position: relative;
73   width: 98%; width: calc(100% - 2em);
74   margin-left: auto; margin-right: auto;
75   margin-bottom: 1em;
76   box-shadow: .125em .125em .25em;
77   z-index: 1;
78 }
79
80 /* HACK: put anchor point 10em above card and highlight target element */
81     div:target { box-shadow: none; z-index: 0; }
82     div:target:before {
83       content: '';
84       display: block;
85       margin-top: -10em;
86       height: 10em;
87       visibility: hidden;
88     }
89     div:target:after {
90       content: '';
91       display: block;
92       position: absolute;
93       left: 0; right: 0;
94       top: 10em; bottom: 0;
95       box-shadow: .125em .125em .25em;
96       animation: highlight 4s;
97       z-index: -1;
98     }
99     @keyframes highlight { from { background-color: #FF0; } to { background-color: transparent; } }
100 /**/
101
102 div .section, form .section {
103   display: block;
104   vertical-align: top;
105   padding: 0 1em;
106   overflow: hidden;
107   word-break: break-word;
108 }
109
110 div .section :last-child, form .section :last-child {
111   margin-bottom: 1em;
112 }
113
114 div .section h2, form .section h2,
115 div .section h3, form .section h3 { 
116   border-bottom: 1pt solid #EEE;
117 }
118 div .control, form .control {
119   background-color: #EEE;
120   padding: .25em;
121   text-align: right;
122 }
123
124 @media(min-width: 60em) {
125   div .section, form .section {
126     display: table-cell;
127     width: calc(100% / 10);
128   }
129   div .section :last-child { margin-bottom: 0; }
130   div .control, form .control {
131     background-color: transparent;
132   }
133   div .section:nth-of-type(2n) {
134     background-color: #EEE;
135   }
136 }
137 @media(min-width: 80em) {
138   div .control, form .control {
139     display: table-cell;
140     width: calc(100% / 10);
141   }
142   div .control .item, form .control .item {
143     display: block;
144     margin-bottom: .25em;
145   }
146 }
147
148 div .section .item, form .section .item,
149 form .section.attendance > label {
150   display: block;
151   width: 100%;
152 }
153
154 div .section .item.NOTE {
155   white-space: pre-wrap;
156 }
157
158 form .section .item {
159   margin-bottom: .25em;
160 }
161
162 form .section button[value^=addfield] {
163   font-size: .75em;
164   margin-top: .5em; padding: 0 .375em;
165 }
166
167 /* HACK: "responsive" Delete Button above each field */
168     form input.delete { display: none; }
169     form input.delete + label {
170       float: right;
171       font-size: .75em;
172       line-height: 1;
173       max-width: 1.75em; height: 1.125em; overflow: hidden;
174       color: #FBB; background-color: #444;
175       margin: 0; padding: .125em .5em 0 .5em;
176       border-radius: 4pt 4pt 0 0;
177       transition: max-width .3s;
178     }
179     form input.delete + label:before  { content: '\274c '; margin-right: .5em; }
180     form input.delete + label:hover   { max-width: 10em; }
181     -form input.delete + label:hover:before { content: ''; }
182     -form input.delete + label:hover:after  { content: ' \274c'; }
183     form input.delete:checked + label,
184     form input.delete:checked + label + *,
185     form input.delete:checked + label + .teltype + .TEL {
186       display: none;
187     }
188 /**/
189
190
191 /* ====== right hand Control Buttons on list items ====== */
192
193 form .control {
194   position: relative;
195   padding-left: 11em;
196   padding-top: 1.5em;
197 }
198 form .control .item {
199   display: inline-block;
200   margin-bottom: .25em;
201   vertical-align: text-bottom;
202 }
203
204 /* Combined Select/Submit Box */
205     form .control .item.newfield { box-shadow: .125em .125em .25em; }
206     form .control .item.newfield select { margin-right: -1pt; }
207     form .control .item.newfield button { box-shadow: none; }
208 /**/
209
210 /* HACK: Delete Checkbox before delete Button */
211     form .control .item.delete {
212       position: absolute;
213       bottom: .375em; left: .25em; width: auto;
214       padding-bottom: calc(2.25em + 2pt);
215     }
216     
217     form .control .item.delete input + label + button {
218       display: none;
219       position: absolute;
220       bottom: 0; width: 100%;
221       color: #800;
222       background-color: #FEE;
223       z-index: 1;
224     }
225     form .control .item.delete:after {
226       content: attr(label);
227       display: block;
228       position: absolute;
229       bottom: 0; width: 100%;
230       text-align: center;
231       color: #BAA;
232       padding: .25em 0;
233       border: 1pt solid;
234       box-shadow: .125em .125em .25em;
235     }
236     form .control .item.delete input:checked + label + button { display: block; }
237 /**/
238
239 @media(min-width: 80em) {
240   form .control { padding: .25em; min-height: 16em; }
241   form .control .item { width: 100%; }
242   form .control .item.newfield select { width: calc(100% - 2.5em); }
243   form .control .item.delete { bottom: .125em; right: .25em; }
244 }
245
246 /* ======= LIST ITEMS, Clients ======= */
247
248 div.card .therapies a.therapy.button { padding: .25em; line-height: .75em; }
249
250 form.card .insurance #hi_select_list:checked ~ .tab[name=hi_company] {display: block; }
251 form.card .insurance #hi_other:checked ~ .tab[name=hi_other] {display: block; }
252
253 /* ======= LIST ITEMS, Courses ======= */
254
255 form.course .dtstart input[name=DTS_YEAR],
256 form.course .dtstart select[name=DTS_MONTH] { width: calc(50% - 1.25em); }
257 form.course .dtstart input[name=DTS_YEAR] { margin-right: -.375em; }
258 form.course .dtstart table { width: 100%; margin: 1em 0; }
259 form.course .dtstart table td { text-align: right; -border: .5pt solid; }
260 form.course .dtstart table input[type=radio] { display: none; }
261 form.course .dtstart table input[type=radio] + label {
262   display: block;
263   width: 100%;
264   margin: 0; padding: 0 3pt;
265 }
266 form.course .dtstart table input[type=radio]:checked + label {
267   font-weight: bold;
268   padding: 0 2pt;
269   box-shadow: .125em .125em .25em;
270 }
271
272 form.course .dtstart label.DTSTIME {
273   display: inline-block;
274   font-weight: bold;
275   margin: 0;
276   width: calc(100% - 7.875em);
277 }
278 form.course .dtstart input[name=DTS_HOUR],
279 form.course .dtstart input[name=DTS_MINUTE] {
280   vertical-align: baseline;
281   width: 3.5em;
282   margin-bottom: 0;
283 }
284
285 form.course .recur .item { white-space: nowrap; }
286 form.course .recur .item > * { margin-bottom: 0; vertical-align: baseline; }
287 form.course .recur input[name=RRULE_INTERVAL],
288 form.course .recur input[name=RRULE_COUNT],
289 form.course .recur input[name=RRULE_UMONTH],
290 form.course .recur input[name=RRULE_UDAY] { width: 3.5em; }
291 form.course .recur input[name=RRULE_UYEAR] { width: 4.5em; }
292 form.course .recur input[name=RRULE_UYEAR],
293 form.course .recur input[name=RRULE_UMONTH],
294 form.course .recur input[name=RRULE_UDAY] {
295   margin-right: -.375em;
296 }
297
298 form.course .attendance div.attendance {
299   max-height: 16em;
300   overflow-y: scroll;
301 }
302 form.course .attendance label {
303   display: inline-block;
304   max-width: calc(100% - 2em);
305   vertical-align: top;
306   margin-bottom: 0;
307 }
308 form.course .attendance input { margin-top: .375em; }
309
310 /* ======== Categories Page ======== */
311
312 body.categories form ul { list-style: none; margin: 0; }
313
314 form.categories li {
315   display: inline-block;
316   background-color: #EEE;
317   margin-right: .5em; margin-bottom: .5em;
318   padding-left: .5em;
319   box-shadow: .125em .125em .25em;
320 }
321 form.categories li button[name=remove] {
322   font-size: .75em;
323   width: 2.5em;
324   background-color: #FBB;
325   overflow: hidden;
326   white-space: pre;
327 }
328 form.categories li button[name=remove]:before {
329   content: '\274C ';
330   margin-right: 3em;
331 }
332
333 form.categories li:last-child { padding-left: 0 }
334
335 body.categories form.namelist ul.namelist > li:nth-of-type(2n + 1) { background-color: #EEE; }
336 body.categories form.namelist ul.namelist > li h2,
337 body.categories form.namelist ul.namelist > li ul {
338   display: inline-block;
339 }
340 body.categories form.namelist ul.namelist > li h2 {
341   width: 20%;
342   min-width: 10em;
343 }
344 body.categories form.namelist ul.namelist > li ul li {
345   display: inline-block;
346 }