* {
+ box-sizing: border-box;
font-family: sans-serif;
font-weight: normal;
font-size: initial;
i, em { font-style: italic; }
b, strong { font-weight: bolder; }
ul, ol { margin-left: 1.125em; }
+table th { font-weight: bold; }
h1, h2, h3 {
font-weight: bold;
input[type=radio], input[type=checkbox] {
vertical-align: baseline;
}
+input[type=number] { text-align: right; padding-right: 0; }
button, input[type=button],
.control a {
margin-left: .375em;
}
+/* =========== FILTER AND SEARCH Headers ========= */
+
+form.search, form.sort, form.filter, form.newcard, form.newcourses {
+ margin-top: 1em; padding: 0 1em;
+ z-index: 1;
+}
+form.filter > h1 { display: none; }
+
+form.filter fieldset { margin-top: .5em; }
+form.filter fieldset.item + fieldset.item legend { display: none; }
+form.filter fieldset.item input[type=radio] { display: none; }
+form.filter fieldset.item input[type=radio] + label {
+ display: table-cell;
+ padding: .5em 1em;
+ background-color: #EEE;
+ border-style: solid;
+ border-width: .5pt .25pt 0 .25pt;
+}
+form.filter fieldset.item input[type=radio] + label:first-of-type {
+ border-left: 1pt solid;
+}
+form.filter fieldset.item input[type=radio]:checked + label {
+ position: relative;
+ background-color: #FFF;
+ box-shadow: .125em -.125em .125em #888;
+ z-index: 1;
+}
+form.filter fieldset.item input[type=text],
+form.filter fieldset.item fieldset.categories {
+ position: relative;
+ display: block;
+ width: 100%;
+ margin-top: -1pt;
+ padding: .25em .75em;
+ border: 1pt solid;
+ box-shadow: .125em .125em .25em #888;
+}
+form.filter fieldset.item fieldset.categories { display: none; }
+form.filter fieldset.item input[value=CATEGORIES]:checked + label + input[type=text] { display: none; }
+form.filter fieldset.item input[value=CATEGORIES]:checked + label + input[type=text] + fieldset.categories { display: block; }
+
+form.filter fieldset.order legend {
+ float: left; margin-right: 1em;
+}
+
+form.filter fieldset label,
+form.filter fieldset a { white-space: pre;}
+form.filter button[type=submit] {
+ margin-top: .5em; margin-bottom: .5em;
+}
+
+body.courses form .order { display: inline-block; margin-right: 2em;}
+
+
+/* ============ LIST ITEMS, Generic ============= */
+
body > form,
div.card,
-div.courselist {
+div.course {
position: relative;
width: 98%; width: calc(100% - 2em);
margin-left: auto; margin-right: auto;
margin-top: .5em; padding: 0 .375em;
}
-form input.delete { display: none; }
-form input.delete + label {
- float: right;
- font-size: .75em;
- line-height: 1;
- max-width: .75em; height: .875em; overflow: hidden;
- color: #FBB; background-color: #444;
- margin: 0; padding: .125em .5em 0 .5em;
- border-radius: 4pt 4pt 0 0;
- transition: max-width .3s;
-}
-form input.delete + label:before { content: '\274c '; margin-right: .5em; }
-form input.delete + label:hover { max-width: 10em; }
--form input.delete + label:hover:before { content: ''; }
--form input.delete + label:hover:after { content: ' \274c'; }
-form input.delete:checked + label,
-form input.delete:checked + label + * {
- display: none;
-}
+/* HACK: "responsive" Delete Button above each field */
+ form input.delete { display: none; }
+ form input.delete + label {
+ float: right;
+ font-size: .75em;
+ line-height: 1;
+ max-width: 1.75em; height: 1.125em; overflow: hidden;
+ color: #FBB; background-color: #444;
+ margin: 0; padding: .125em .5em 0 .5em;
+ border-radius: 4pt 4pt 0 0;
+ transition: max-width .3s;
+ }
+ form input.delete + label:before { content: '\274c '; margin-right: .5em; }
+ form input.delete + label:hover { max-width: 10em; }
+ -form input.delete + label:hover:before { content: ''; }
+ -form input.delete + label:hover:after { content: ' \274c'; }
+ form input.delete:checked + label,
+ form input.delete:checked + label + * {
+ display: none;
+ }
+/**/
+
+
+/* ====== right hand Control Buttons on list items ====== */
form .control {
position: relative;
vertical-align: text-bottom;
}
-form .control .item.newfield {
- box-shadow: .125em .125em .25em;
-}
-form .control .item.newfield select {
- margin-right: -1pt;
-}
-form .control .item.newfield button {
- box-shadow: none;
-}
+/* Combined Select/Submit Box */
+ form .control .item.newfield { box-shadow: .125em .125em .25em; }
+ form .control .item.newfield select { margin-right: -1pt; }
+ form .control .item.newfield button { box-shadow: none; }
+/**/
-form .control .item.delete {
- position: absolute;
- bottom: .375em; left: .25em; width: auto;
- padding-bottom: calc(2.25em + 2pt);
-}
+/* HACK: Delete Checkbox before delete Button */
+ form .control .item.delete {
+ position: absolute;
+ bottom: .375em; left: .25em; width: auto;
+ padding-bottom: calc(2.25em + 2pt);
+ }
+
+ form .control .item.delete input + label + button {
+ display: none;
+ position: absolute;
+ bottom: 0; width: 100%;
+ color: #800;
+ background-color: #FEE;
+ z-index: 1;
+ }
+ form .control .item.delete:after {
+ content: attr(label);
+ display: block;
+ position: absolute;
+ bottom: 0; width: 100%;
+ text-align: center;
+ color: #BAA;
+ padding: .25em 0;
+ border: 1pt solid;
+ box-shadow: .125em .125em .25em;
+ }
+ form .control .item.delete input:checked + label + button { display: block; }
+/**/
@media(min-width: 80em) {
form .control { padding: .25em; min-height: 16em; }
form .control .item.newfield select { width: calc(100% - 2.5em); }
form .control .item.delete { bottom: .125em; right: .25em; }
}
-form .control .item.delete input + label + button {
- display: none;
- position: absolute;
- bottom: 0; width: 100%;
- color: #800;
- background-color: #FEE;
- z-index: 1;
-}
-form .control .item.delete:after {
- content: attr(label);
+
+/* ======= LIST ITEMS, Courses ======= */
+
+form.course .dtstart input[name=DTS_YEAR],
+form.course .dtstart select[name=DTS_MONTH] { width: calc(50% - 1.25em); }
+form.course .dtstart input[name=DTS_YEAR] { margin-right: -.375em; }
+form.course .dtstart table { width: 100%; margin: 1em 0; }
+form.course .dtstart table td { text-align: right; -border: .5pt solid; }
+form.course .dtstart table input[type=radio] { display: none; }
+form.course .dtstart table input[type=radio] + label {
display: block;
- position: absolute;
- bottom: 0; width: 100%;
- text-align: center;
- color: #BAA;
- padding: .25em 0;
- border: 1pt solid;
+ width: 100%;
+ margin: 0; padding: 0 3pt;
+}
+form.course .dtstart table input[type=radio]:checked + label {
+ font-weight: bold;
+ padding: 0 2pt;
box-shadow: .125em .125em .25em;
}
-form .control .item.delete input:checked + label + button { display: block; }
+
+form.course .dtstart label.DTSTIME {
+ display: inline-block;
+ font-weight: bold;
+ margin: 0;
+ width: calc(100% - 7.875em);
+}
+form.course .dtstart input[name=DTS_HOUR],
+form.course .dtstart input[name=DTS_MINUTE] {
+ vertical-align: baseline;
+ width: 3.5em;
+ margin-bottom: 0;
+}
+
+form.course .recur .item { white-space: nowrap; }
+form.course .recur .item > * { margin-bottom: 0; vertical-align: baseline; }
+form.course .recur input[name=RRULE_INTERVAL],
+form.course .recur input[name=RRULE_COUNT],
+form.course .recur input[name=RRULE_UMONTH],
+form.course .recur input[name=RRULE_UDAY] { width: 3.5em; }
+form.course .recur input[name=RRULE_UYEAR] { width: 4.5em; }
+form.course .recur input[name=RRULE_UYEAR],
+form.course .recur input[name=RRULE_UMONTH],
+form.course .recur input[name=RRULE_UDAY] {
+ margin-right: -.375em;
+}
+
+form.course .attendance div.attendance {
+ max-height: 16em;
+ overflow-y: scroll;
+}
+form.course .attendance label {
+ display: inline-block;
+ max-width: calc(100% - 2em);
+ vertical-align: top;
+ margin-bottom: 0;
+}
+form.course .attendance input { margin-top: .375em; }