2 box-sizing: border-box;
3 font-family: sans-serif;
9 color: inherit; background: transparent;
10 padding: 0; margin: 0;
15 color: #000; background-color: #FFF;
18 p { margin-bottom: 1em; }
21 text-decoration: underline;
26 i, em { font-style: italic; }
27 b, strong { font-weight: bolder; }
28 ul, ol { margin-left: 1.125em; }
29 table th { font-weight: bold; }
37 h1:first-child, h2:first-child, h3:first-child,
38 p + h1, p + h2, p + h3 {
42 h4, h5, h6, form legend {
47 h1 { font-size: 1.5em; }
48 h2 { font-size: 1.125em; }
50 select, input, button, textarea,
52 display: inline-block;
53 background-color: #FFF;
56 vertical-align: text-bottom;
61 text-decoration: none;
64 select { padding: .375em 0; }
66 input[type=radio], input[type=checkbox] {
67 vertical-align: baseline;
69 input[type=number] { text-align: right; padding-right: 0; }
71 button, input[type=button],
73 box-shadow: .125em .125em .25em;
76 label { margin-right: .75em; }
81 /* =========== FILTER AND SEARCH Headers ========= */
83 form.search, form.sort, form.filter, form.newcard, form.newcourses {
84 margin-top: 1em; padding: 0 1em;
87 form.filter > h1 { display: none; }
89 form.filter fieldset { margin-top: .5em; }
90 form.filter fieldset.item + fieldset.item legend { display: none; }
91 form.filter fieldset.item input[type=radio] { display: none; }
92 form.filter fieldset.item input[type=radio] + label {
95 background-color: #EEE;
97 border-width: .5pt .25pt 0 .25pt;
99 form.filter fieldset.item input[type=radio] + label:first-of-type {
100 border-left: 1pt solid;
102 form.filter fieldset.item input[type=radio]:checked + label {
104 background-color: #FFF;
105 box-shadow: .125em -.125em .125em #888;
108 form.filter fieldset.item input[type=text],
109 form.filter fieldset.item fieldset.categories {
114 padding: .25em .75em;
116 box-shadow: .125em .125em .25em #888;
118 form.filter fieldset.item fieldset.categories { display: none; }
119 form.filter fieldset.item input[value=CATEGORIES]:checked + label + input[type=text] { display: none; }
120 form.filter fieldset.item input[value=CATEGORIES]:checked + label + input[type=text] + fieldset.categories { display: block; }
122 form.filter fieldset.order legend {
123 float: left; margin-right: 1em;
126 form.filter fieldset label,
127 form.filter fieldset a { white-space: pre;}
128 form.filter button[type=submit] {
129 margin-top: .5em; margin-bottom: .5em;
132 body.courses form .order { display: inline-block; margin-right: 2em;}
135 /* ============ LIST ITEMS, Generic ============= */
141 width: 98%; width: calc(100% - 2em);
142 margin-left: auto; margin-right: auto;
144 box-shadow: .125em .125em .25em;
148 /* HACK: put anchor point 10em above card and highlight target element */
149 div:target { box-shadow: none; z-index: 0; }
162 top: 10em; bottom: 0;
163 box-shadow: .125em .125em .25em;
164 animation: highlight 4s;
167 @keyframes highlight { from { background-color: #FF0; } to { background-color: transparent; } }
170 div .section, form .section {
175 word-break: break-word;
178 div .section :last-child, form .section :last-child {
182 div .section h2, form .section h2,
183 div .section h3, form .section h3 {
184 border-bottom: 1pt solid #EEE;
186 div .control, form .control {
187 background-color: #EEE;
192 @media(min-width: 60em) {
193 div .section, form .section {
195 width: calc(100% / 10);
197 div .section :last-child { margin-bottom: 0; }
198 div .control, form .control {
199 background-color: transparent;
201 div .section:nth-of-type(2n) {
202 background-color: #EEE;
205 @media(min-width: 80em) {
206 div .control, form .control {
208 width: calc(100% / 10);
210 div .control .item, form .control .item {
212 margin-bottom: .25em;
216 div .section .item, form .section .item,
217 form .section.attendance > label {
222 div .section .item.NOTE {
226 form .section .item {
227 margin-bottom: .25em;
230 form .section button[value^=addfield] {
232 margin-top: .5em; padding: 0 .375em;
235 /* HACK: "responsive" Delete Button above each field */
236 form input.delete { display: none; }
237 form input.delete + label {
241 max-width: 1.75em; height: 1.125em; overflow: hidden;
242 color: #FBB; background-color: #444;
243 margin: 0; padding: .125em .5em 0 .5em;
244 border-radius: 4pt 4pt 0 0;
245 transition: max-width .3s;
247 form input.delete + label:before { content: '\274c '; margin-right: .5em; }
248 form input.delete + label:hover { max-width: 10em; }
249 -form input.delete + label:hover:before { content: ''; }
250 -form input.delete + label:hover:after { content: ' \274c'; }
251 form input.delete:checked + label,
252 form input.delete:checked + label + * {
258 /* ====== right hand Control Buttons on list items ====== */
265 form .control .item {
266 display: inline-block;
267 margin-bottom: .25em;
268 vertical-align: text-bottom;
271 /* Combined Select/Submit Box */
272 form .control .item.newfield { box-shadow: .125em .125em .25em; }
273 form .control .item.newfield select { margin-right: -1pt; }
274 form .control .item.newfield button { box-shadow: none; }
277 /* HACK: Delete Checkbox before delete Button */
278 form .control .item.delete {
280 bottom: .375em; left: .25em; width: auto;
281 padding-bottom: calc(2.25em + 2pt);
284 form .control .item.delete input + label + button {
287 bottom: 0; width: 100%;
289 background-color: #FEE;
292 form .control .item.delete:after {
293 content: attr(label);
296 bottom: 0; width: 100%;
301 box-shadow: .125em .125em .25em;
303 form .control .item.delete input:checked + label + button { display: block; }
306 @media(min-width: 80em) {
307 form .control { padding: .25em; min-height: 16em; }
308 form .control .item { width: 100%; }
309 form .control .item.newfield select { width: calc(100% - 2.5em); }
310 form .control .item.delete { bottom: .125em; right: .25em; }
313 /* ======= LIST ITEMS, Courses ======= */
315 form.course .dtstart input[name=DTS_YEAR],
316 form.course .dtstart select[name=DTS_MONTH] { width: calc(50% - 1.25em); }
317 form.course .dtstart input[name=DTS_YEAR] { margin-right: -.375em; }
318 form.course .dtstart table { width: 100%; margin: 1em 0; }
319 form.course .dtstart table td { text-align: right; -border: .5pt solid; }
320 form.course .dtstart table input[type=radio] { display: none; }
321 form.course .dtstart table input[type=radio] + label {
324 margin: 0; padding: 0 3pt;
326 form.course .dtstart table input[type=radio]:checked + label {
329 box-shadow: .125em .125em .25em;
332 form.course .dtstart label.DTSTIME {
333 display: inline-block;
336 width: calc(100% - 7.875em);
338 form.course .dtstart input[name=DTS_HOUR],
339 form.course .dtstart input[name=DTS_MINUTE] {
340 vertical-align: baseline;
345 form.course .recur .item { white-space: nowrap; }
346 form.course .recur .item > * { margin-bottom: 0; vertical-align: baseline; }
347 form.course .recur input[name=RRULE_INTERVAL],
348 form.course .recur input[name=RRULE_COUNT],
349 form.course .recur input[name=RRULE_UMONTH],
350 form.course .recur input[name=RRULE_UDAY] { width: 3.5em; }
351 form.course .recur input[name=RRULE_UYEAR] { width: 4.5em; }
352 form.course .recur input[name=RRULE_UYEAR],
353 form.course .recur input[name=RRULE_UMONTH],
354 form.course .recur input[name=RRULE_UDAY] {
355 margin-right: -.375em;
358 form.course .attendance div.attendance {
362 form.course .attendance label {
363 display: inline-block;
364 max-width: calc(100% - 2em);
368 form.course .attendance input { margin-top: .375em; }