From b5ffb9d90da32513277d4c65a4a0e37854d4dee2 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Paul=20H=C3=A4nsch?= Date: Mon, 18 Jan 2021 02:44:10 +0100 Subject: [PATCH] style changes --- cards/l10n.sh | 31 +-- cards/list.sh | 21 +- cards/widgets.sh | 19 +- courses/courses.css | 195 ------------------- courses/widgets.sh | 4 +- style.css | 127 +----------- style_new.css | 244 +++++++++++++++++++++++ cards/cards.css => style_old.css | 321 +++++++++++++++++++++++++++++++ 8 files changed, 606 insertions(+), 356 deletions(-) delete mode 100644 courses/courses.css mode change 100644 => 120000 style.css create mode 100644 style_new.css rename cards/cards.css => style_old.css (55%) diff --git a/cards/l10n.sh b/cards/l10n.sh index ec52766..ae50260 100755 --- a/cards/l10n.sh +++ b/cards/l10n.sh @@ -1,4 +1,4 @@ -# Copyright 2014, 2016, 2019 Paul Hänsch +# Copyright 2014, 2016, 2019, 2021 Paul Hänsch # # This file is part of Confetti. # @@ -25,25 +25,25 @@ l10n(){ N) printf %s "Name";; n_pre) printf %s "Titel";; n_first) printf %s "Vorname";; - n_middle) printf %s "Mittelnamen";; + n_middle) printf %s "Mittel­namen";; n_last) printf %s "Nachname";; n_post) printf %s "Zusätze";; - NICKNAME) printf %s "Spitzname";; - SOUND) printf %s "Aussprache";; - GENDER) printf %s "Geschlecht";; + NICKNAME) printf %s "Spitz­name";; + SOUND) printf %s "Aus­sprache";; + GENDER) printf %s "Ge­schlecht";; KIND) printf %s "Typ";; TITLE) printf %s "Beruf";; ROLE) printf %s "Position";; - ORG) printf %s "Organisation";; + ORG) printf %s "Orga­ni­sation";; MEMBER) printf %s "Mitglied";; CATEGORIES) printf %s "Kategorien";; ANNIVERSARY) printf %s "Jubiläum";; BDAY) printf %s "Geburtstag";; EMAIL) printf %s "E-Mail";; TEL) printf %s "Telefon";; - teltype) printf %s "Anschlusstyp:";; + teltype) printf %s "Anschluss­typ:";; TYPE=HOME) printf %s "Privat";; - TYPE=WORK) printf %s "Geschäftlich";; + TYPE=WORK) printf %s "Geschäft­lich";; TYPE=CELL) printf %s "Mobil";; TYPE=FAX) printf %s "Fax";; IMPP) printf %s "Chat";; @@ -82,12 +82,12 @@ l10n(){ hi_status) printf %s "Ver­sich­er­ten­sta­tus";; X-HEALTH-INSURANCE-NOCONTRIB) printf %s "Zu­zahl­ungs­be­frei­ung";; X-CLIENT-REFERRAL) printf %s "Empfehl­ung durch";; - prescriptions) printf %s "Verordnungen";; - new_prescription) printf %s "Neue Verordnung";; + prescriptions) printf %s "Verord­nungen";; + new_prescription) printf %s "Neue Verord­nung";; no_icd) printf %s "Kein ICD Code";; - X-ZACK-JOINDATE) printf %s "An­mel­de­da­tum";; - X-ZACK-LEAVEDATE) printf %s "Ab­mel­de­da­tum";; + X-ZACK-JOINDATE) printf %s "Anmelde­datum";; + X-ZACK-LEAVEDATE) printf %s "Abmelde­datum";; X-ZACK-JOINDATE_short) printf %s "Anm.";; X-ZACK-LEAVEDATE_short) printf %s "Abm.";; @@ -95,6 +95,7 @@ l10n(){ edit_categories) printf %s "Kategorien Bearbeiten";; vcf_export) printf %s "Vcard Exportieren";; control) printf %s "Aktionen";; + delete) printf %s "entfernen";; edit_update) printf %s "Daten übernehmen";; edit_cancel) printf %s "Abbrechen";; edit_delete) printf %s "Eintrag löschen";; @@ -112,14 +113,14 @@ l10n(){ filter_street) printf %s "Straße";; filter_zip) printf %s "PLZ.";; filter_TEL) printf %s "Telefon";; - filter_BDAY) printf %s "Geburtsjahr";; - filter_bdate) printf %s "Geburtsdatum";; + filter_BDAY) printf %s "Geburts­jahr";; + filter_bdate) printf %s "Geburts­datum";; filter_course) printf %s "Kurs";; filter_CATEGORIES) printf %s "Kategorien";; filter_apply) printf %s "Filtern";; filter_cancel) printf %s "Filter löschen";; newcard) printf %s "Neuen Eintrag anlegen";; - course_attendance) printf %s "Kursteilnahme";; + course_attendance) printf %s "Kurs­teil­nahme";; gender_none) printf %s "keine Angabe";; gender_female) printf %s "Weiblich";; diff --git a/cards/list.sh b/cards/list.sh index 1c60291..74ad020 100755 --- a/cards/list.sh +++ b/cards/list.sh @@ -55,15 +55,20 @@ edit_card(){ done) ] [div .control - [select .item name="newfield" - [option value="" disabled="disabled" selected="selected" $(l10n edit_addfieldtext)] - $(for f in NICKNAME EMAIL TEL IMPP ADR URL NOTE; do - printf '[option value="%s" %s] ' "$f" "$(l10n "$f")" - done) - ][button .item type="submit" name="action" value="addfield" $(l10n edit_addfield)] + [div .item .delete label="$(l10n edit_delete)" + [input type="checkbox" #delete] + [label for="delete" $(l10n edit_delete)] + [button type="submit" name="action" value="delete" $(l10n edit_delete)] + ] + [div .item .newfield + [select name="newfield" + [option value="" disabled="disabled" selected="selected" $(l10n edit_addfieldtext)] + $(for f in NICKNAME EMAIL TEL IMPP ADR URL NOTE; do + printf '[option value="%s" %s] ' "$f" "$(l10n "$f")" + done) + ][button type="submit" name="action" value="addfield" $(l10n edit_addfield)] + ] [button .item type="submit" name="action" value="update" $(l10n edit_update)] - [input type="checkbox" #delete] [label .item for="delete" $(l10n edit_delete)] - [button .item type="submit" name="action" value="delete"] [button .item type="submit" name="action" value="cancel" $(l10n edit_cancel)] ] [input type="hidden" name="UID" value="$(pdi_value "$card" UID |HTML)"] diff --git a/cards/widgets.sh b/cards/widgets.sh index 5fbf125..544fd73 100755 --- a/cards/widgets.sh +++ b/cards/widgets.sh @@ -1,4 +1,4 @@ -# Copyright 2014 - 2019 Paul Hänsch +# Copyright 2014 - 2019, 2021 Paul Hänsch # # This file is part of Confetti. # @@ -26,8 +26,7 @@ cat <. -*/ - -.sort { - display: block; - border: solid 1px; - border-radius: 4px 4px 0 0 ; - margin: .5em 2em .25em 2em; - padding: .25em 2ex .25em 2ex; - background: #EFF; -} -.sort .label { - font-weight: bold; -} - -.newcourse { - display: block; - border: solid 1px; - border-radius: 0 0 4px 4px; - margin: .25em 2em 1em 2em; - padding: .25em 2ex .25em 2ex; - background: #EFF; -} - -.course { - display: block; - position: relative; - border: solid 1px; - margin: .25em 2em; - padding: 0 20ex 0 0; - overflow: auto; - background: #FFF; - min-height: 9em; -} -.course .control { - display: inline-block; - position: absolute; - top 0; right: 0; - text-align: right; - background: #EEF; - margin: 0; - height: 100%; - width: 20ex; - max-width: 33%; - padding: .25em 1ex; -} -.course .control .item { - display: inline-block; - vertical-align: top; - width: 100%; - color: #008; - margin: .25em 0 0 0; - border: 1px solid black; - background: #FFF; -} -.course .control a.item { - border-right: 3px double; - padding: .125em 1ex; -} -.course .control a.item:hover{ - border-right: 1px solid; -} - -.course .control .item[name=newfield] { width: 85%;} -.course .control .item[value=addfield] { width: 15%;} - -.course .section { - display: inline-block; - vertical-align: top; - float: left; - width: 20ex; - min-width: 16.5%; - min-height: 6em; - margin: .125em 0 .5ex 0; - padding: 0 1ex .25em 1ex; -} -.course .section:nth-of-type(2n){ background: #EEE;} - -.course .section .item { - display: block; - max-width: 100%; - word-wrap: break-word; -} - -.course .section h2, .course .section h3 { - font-size: 1em; - display: block; - font-weight: bold; - margin: .25em -.5ex .25em -.5ex; - border-style: none none solid none; - border-width: 1px; -} -.course .section h2 { - font-size: 1.2em; - margin-top: 0; -} - -.course .attendance { - min-width: 66%; -} -.course .attendance a { - display: inline-block; - vertical-align: top; - min-width: 13.5ex; - width: 19%; - color: #008; - border-style: solid; - border-width: 1px; - margin: .25em .125ex .25em .125ex; - padding: .125em 1ex .125em 1ex; - background: #EFF; -} - -.course .dtstart { width: 37ex; } -.course .dtstart .DTSYEAR, -.course .dtstart .DTSMONTH, -.course .dtstart .DTS{ - font-size: .875em; - margin: .25em .25ex 1em .25ex; - display: inline-block; - text-align: center; - font-weight: bold; -} - -.course .dtstart .DTSYEAR{ width: 11.5ex; } -.course .dtstart .DTSMONTH{ width: 18.5ex; } -.course .dtstart .DTS{ width: 5.5ex; } - -.course .dtstart .DTSCAL, -.course .dtstart .DTSCALHEAD { - display: inline-block; - overflow: hidden; - text-align: center; - width: 5ex; - margin: 0; -} -.course .dtstart .DTSCALHEAD { - font-weight: bold; - border-top: 1px solid; - border-bottom: 1px solid; -} - -.course .dtstart input[name=DTSDAY] { display: none; margin: 0; height: 0; width: 0; } -.course .dtstart input[name=DTSDAY]:checked + label.DTSCAL { font-weight: bold; border: solid 1px; } - -.course .dtstart .DTSTIME{ - display: inline-block; - width: 10ex; - font-weight: bold; -} - -.course .recur{ width: 37ex; } -.course .section select, -.course .section button, -.course .section input { - border: 1px solid; - margin: .5em 0; -} - -.course .select_attendance { - max-height: 17em; - overflow-y: scroll; -} -.course .select_attendance label{ - display: block; - position: relative; - margin: 0; padding: 0; - padding-left: 3ex; -} -.course .select_attendance label input{ - position: absolute; - margin: 0; padding: 0; - margin-left: -3ex; - top: 0; -} - -.course .section input[type="text"] { width: 100%; } -.course .section textarea.COMMENT { min-height: 6em; width: 100%; overflow: auto; } - diff --git a/courses/widgets.sh b/courses/widgets.sh index d4ce22a..ec0acc2 100755 --- a/courses/widgets.sh +++ b/courses/widgets.sh @@ -92,13 +92,13 @@ cal_item(){ attendance);; COMMENT)[ $cnt -gt 0 ] && printf '[h3 %s]' "$(l10n "$item")" seq 1 $cnt |while read c; do - printf '[p .item .%s ­%s]' "$item" \ + printf '[p .item .%s . %s]' "$item" \ "$(pdi_value "$course" "$item" $c |unescape |HTML)" done ;; *)[ $cnt -gt 0 ] && printf '[h3 %s]' "$(l10n "$item")" seq 1 $cnt |while read c; do - printf '[span .item .%s ­%s]' "$item" \ + printf '[span .item .%s . %s]' "$item" \ "$(pdi_value "$course" "$item" $c |unescape |HTML)" done ;; diff --git a/style.css b/style.css deleted file mode 100644 index 33e7cd0..0000000 --- a/style.css +++ /dev/null @@ -1,126 +0,0 @@ -* { - font-family: sans-serif; - -moz-box-sizing: border-box; - -webkit-box-sizing: border-box; - box-sizing: border-box; - padding: 0; margin: 0; - font-size: initial; - line-height: 1.25em; - z-index: 0; -} - -input, textarea, select, select * { - font-size: .875em; - padding: .125em .125em; -} -input, select { - height: 1.5em; - vertical-align: bottom; -} -button { padding: 0 .5em; } - -body { - background: #EEE; - margin: 0; - padding: 0; - padding-top: 2.5em; - position: absolute; - min-height: 100%; - width: 100%; - padding-bottom: 2em; -} -.NAVIGATION { - position: fixed; - top: 0; - display: inline-block; - border-style: none solid solid solid; - border-width: 0 1px 1px 1px; - border-radius: 0 0 4px 4px; - margin: 0 2em; - padding: .5em 1ex; - background: #FFF; - z-index: 1; -} -.NAVIGATION label, -.NAVIGATION a { - color: #008; - border: solid 1px #BBF; - margin: .5em .5ex .25em .5ex; - padding: .2em 3ex .2em 3ex; - background: #EFF; -} -.NAVIGATION label:hover, -.NAVIGATION a:hover { - border-width: 2px 1px; - background: #F3FFFF; -} - -#CONFIGURE label[for="navigationconfig"] { display: none; } -#CONFIGURE:target label[for="navigationconfig"] { display: inline; } - -.NAVIGATION input#navigationconfig { display: none; } -.NAVIGATION input + form.config { - position: static; - display: none; -} - -.NAVIGATION .config a { display: block; } -.NAVIGATION .config a:hover { border-width: 1px 2px; } -.NAVIGATION input:checked + form.config { display: block; } -.NAVIGATION .config input[type=text], -.NAVIGATION .config button { - font-size: .875em; - line-height: 1.5em; - height: 1.75em; - padding: 0 .25em; - vertical-align: bottom; - border: 1px solid #000; - background-color: #FFF; -} -.NAVIGATION .config input[type=text] { - margin: .25em 0 0 .375em; - border-right: none; - width: 70%; -} -.NAVIGATION .config button { - min-width: 2.5em; - text-align: center; - max-width: 30%; -} -.NAVIGATION .config button[value=del] { - background: #FCC; -} - -#message { - display: block; - position: fixed; - top: 0; width: 100%; - margin: 0; padding: 1em; - text-align: center; - font-weight: bold; - background-color: #FAA; - border: 1px solid #000; - border-style: none none solid none; -} - -.trailbtn { display: none; } -.trailbtn + .trailbox { display: none; } -.trailbtn:checked + .trailbox { display: inline-block; } -.trailbtn:checked + .trailbox + .trailbtn { display: block; } -.trailbtn:checked + .trailbox + .trailbtn:before { - display: block; content: '+'; - width: 3ex; text-align: center; - margin-top: .25em; padding: .25em 0; - background-color: #FFF; - border-width: 1px; border-style: solid; -} -.trailbtn:checked + .trailbox + .trailbtn:checked, -.trailbtn:checked { display: none; } - -#footer { - width: 100%; - background-color: #FFF; - border-top: 1px solid #BBF; - margin: 0; padding: .5em 2em; - position: absolute; bottom: 0; -} diff --git a/style.css b/style.css new file mode 120000 index 0000000..a7e9ebe --- /dev/null +++ b/style.css @@ -0,0 +1 @@ +style_new.css \ No newline at end of file diff --git a/style_new.css b/style_new.css new file mode 100644 index 0000000..24b01ac --- /dev/null +++ b/style_new.css @@ -0,0 +1,244 @@ +* { + font-family: sans-serif; + font-weight: normal; + font-size: initial; + font-style: normal; + text-decoration: none; + line-height: 1.5em; + color: inherit; background: transparent; + padding: 0; margin: 0; + border: none; +} + +body { + color: #000; background-color: #FFF; +} + +p { margin-bottom: 1em; } + +a { + text-decoration: underline; + font-style: italic; + color: #068; +} + +i, em { font-style: italic; } +b, strong { font-weight: bolder; } +ul, ol { margin-left: 1.125em; } + +h1, h2, h3 { + font-weight: bold; + margin-top: 1em; + margin-bottom: .5em; +} + +h1:first-child, h2:first-child, h3:first-child, +p + h1, p + h2, p + h3 { + margin-top: 0; +} + +h4, h5, h6, form legend { + font-weight: bolder; + margin-bottom: .25em; +} + +h1 { font-size: 1.5em; } +h2 { font-size: 1.125em; } + +select, input, button, textarea, +.control a { + display: inline-block; + background-color: #FFF; + border: 1pt solid; + padding: .25em .75em; + vertical-align: text-bottom; +} +.control a { + color: inherit; + font-style: normal; + text-decoration: none; +} + +select { padding: .375em 0; } + +input[type=radio], input[type=checkbox] { + vertical-align: baseline; +} + +button, input[type=button], +.control a { + box-shadow: .125em .125em .25em; +} + +label { margin-right: .75em; } +input + label { + margin-left: .375em; +} + +body > form, +div.card, +div.courselist { + position: relative; + width: 98%; width: calc(100% - 2em); + margin-left: auto; margin-right: auto; + margin-bottom: 1em; + box-shadow: .125em .125em .25em; + z-index: 1; +} + +/* HACK: put anchor point 10em above card and highlight target element */ + div:target { box-shadow: none; z-index: 0; } + div:target:before { + content: ''; + display: block; + margin-top: -10em; + height: 10em; + visibility: hidden; + } + div:target:after { + content: ''; + display: block; + position: absolute; + left: 0; right: 0; + top: 10em; bottom: 0; + box-shadow: .125em .125em .25em; + animation: highlight 4s; + z-index: -1; + } + @keyframes highlight { from { background-color: #FF0; } to { background-color: transparent; } } +/**/ + +div .section, form .section { + display: block; + vertical-align: top; + padding: 0 1em; + overflow: hidden; + word-break: break-word; +} + +div .section :last-child, form .section :last-child { + margin-bottom: 1em; +} + +div .section h2, form .section h2, +div .section h3, form .section h3 { + border-bottom: 1pt solid #EEE; +} +div .control, form .control { + background-color: #EEE; + padding: .25em; + text-align: right; +} + +@media(min-width: 60em) { + div .section, form .section { + display: table-cell; + width: calc(100% / 10); + } + div .section :last-child { margin-bottom: 0; } + div .control, form .control { + background-color: transparent; + } + div .section:nth-of-type(2n) { + background-color: #EEE; + } +} +@media(min-width: 80em) { + div .control, form .control { + display: table-cell; + width: calc(100% / 10); + } + div .control .item, form .control .item { + display: block; + margin-bottom: .25em; + } +} + +div .section .item, form .section .item, +form .section.attendance > label { + display: block; + width: 100%; +} + +form .section .item { + margin-bottom: .25em; +} + +form .section button[value^=addfield] { + font-size: .75em; + 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; +} + +form .control { + position: relative; + padding-left: 11em; + padding-top: 1.5em; +} +form .control .item { + display: inline-block; + margin-bottom: .25em; + 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; +} + +form .control .item.delete { + position: absolute; + bottom: .375em; left: .25em; width: auto; + padding-bottom: calc(2.25em + 2pt); +} + +@media(min-width: 80em) { + form .control { padding: .25em; min-height: 16em; } + form .control .item { width: 100%; } + 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); + 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; } diff --git a/cards/cards.css b/style_old.css similarity index 55% rename from cards/cards.css rename to style_old.css index 6349f8a..c4f89be 100644 --- a/cards/cards.css +++ b/style_old.css @@ -1,3 +1,129 @@ +* { + font-family: sans-serif; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + box-sizing: border-box; + padding: 0; margin: 0; + font-size: initial; + line-height: 1.25em; + z-index: 0; +} + +input, textarea, select, select * { + font-size: .875em; + padding: .125em .125em; +} +input, select { + height: 1.5em; + vertical-align: bottom; +} +button { padding: 0 .5em; } + +body { + background: #EEE; + margin: 0; + padding: 0; + padding-top: 2.5em; + position: absolute; + min-height: 100%; + width: 100%; + padding-bottom: 2em; +} +.NAVIGATION { + position: fixed; + top: 0; + display: inline-block; + border-style: none solid solid solid; + border-width: 0 1px 1px 1px; + border-radius: 0 0 4px 4px; + margin: 0 2em; + padding: .5em 1ex; + background: #FFF; + z-index: 1; +} +.NAVIGATION label, +.NAVIGATION a { + color: #008; + border: solid 1px #BBF; + margin: .5em .5ex .25em .5ex; + padding: .2em 3ex .2em 3ex; + background: #EFF; +} +.NAVIGATION label:hover, +.NAVIGATION a:hover { + border-width: 2px 1px; + background: #F3FFFF; +} + +#CONFIGURE label[for="navigationconfig"] { display: none; } +#CONFIGURE:target label[for="navigationconfig"] { display: inline; } + +.NAVIGATION input#navigationconfig { display: none; } +.NAVIGATION input + form.config { + position: static; + display: none; +} + +.NAVIGATION .config a { display: block; } +.NAVIGATION .config a:hover { border-width: 1px 2px; } +.NAVIGATION input:checked + form.config { display: block; } +.NAVIGATION .config input[type=text], +.NAVIGATION .config button { + font-size: .875em; + line-height: 1.5em; + height: 1.75em; + padding: 0 .25em; + vertical-align: bottom; + border: 1px solid #000; + background-color: #FFF; +} +.NAVIGATION .config input[type=text] { + margin: .25em 0 0 .375em; + border-right: none; + width: 70%; +} +.NAVIGATION .config button { + min-width: 2.5em; + text-align: center; + max-width: 30%; +} +.NAVIGATION .config button[value=del] { + background: #FCC; +} + +#message { + display: block; + position: fixed; + top: 0; width: 100%; + margin: 0; padding: 1em; + text-align: center; + font-weight: bold; + background-color: #FAA; + border: 1px solid #000; + border-style: none none solid none; +} + +.trailbtn { display: none; } +.trailbtn + .trailbox { display: none; } +.trailbtn:checked + .trailbox { display: inline-block; } +.trailbtn:checked + .trailbox + .trailbtn { display: block; } +.trailbtn:checked + .trailbox + .trailbtn:before { + display: block; content: '+'; + width: 3ex; text-align: center; + margin-top: .25em; padding: .25em 0; + background-color: #FFF; + border-width: 1px; border-style: solid; +} +.trailbtn:checked + .trailbox + .trailbtn:checked, +.trailbtn:checked { display: none; } + +#footer { + width: 100%; + background-color: #FFF; + border-top: 1px solid #BBF; + margin: 0; padding: .5em 2em; + position: absolute; bottom: 0; +} /* # Copyright 2014 - 2017 Paul Hänsch # @@ -347,3 +473,198 @@ form.card .insurance input[type=radio]:checked + label + select + input { padding: .25ex 0; margin-top: -1px; } +/* +# Copyright 2014 Paul Hänsch +# +# This file is part of Confetti. +# +# Confetti is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# Confetti is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with Confetti. If not, see . +*/ + +.sort { + display: block; + border: solid 1px; + border-radius: 4px 4px 0 0 ; + margin: .5em 2em .25em 2em; + padding: .25em 2ex .25em 2ex; + background: #EFF; +} +.sort .label { + font-weight: bold; +} + +.newcourse { + display: block; + border: solid 1px; + border-radius: 0 0 4px 4px; + margin: .25em 2em 1em 2em; + padding: .25em 2ex .25em 2ex; + background: #EFF; +} + +.course { + display: block; + position: relative; + border: solid 1px; + margin: .25em 2em; + padding: 0 20ex 0 0; + overflow: auto; + background: #FFF; + min-height: 9em; +} +.course .control { + display: inline-block; + position: absolute; + top 0; right: 0; + text-align: right; + background: #EEF; + margin: 0; + height: 100%; + width: 20ex; + max-width: 33%; + padding: .25em 1ex; +} +.course .control .item { + display: inline-block; + vertical-align: top; + width: 100%; + color: #008; + margin: .25em 0 0 0; + border: 1px solid black; + background: #FFF; +} +.course .control a.item { + border-right: 3px double; + padding: .125em 1ex; +} +.course .control a.item:hover{ + border-right: 1px solid; +} + +.course .control .item[name=newfield] { width: 85%;} +.course .control .item[value=addfield] { width: 15%;} + +.course .section { + display: inline-block; + vertical-align: top; + float: left; + width: 20ex; + min-width: 16.5%; + min-height: 6em; + margin: .125em 0 .5ex 0; + padding: 0 1ex .25em 1ex; +} +.course .section:nth-of-type(2n){ background: #EEE;} + +.course .section .item { + display: block; + max-width: 100%; + word-wrap: break-word; +} + +.course .section h2, .course .section h3 { + font-size: 1em; + display: block; + font-weight: bold; + margin: .25em -.5ex .25em -.5ex; + border-style: none none solid none; + border-width: 1px; +} +.course .section h2 { + font-size: 1.2em; + margin-top: 0; +} + +.course .attendance { + min-width: 66%; +} +.course .attendance a { + display: inline-block; + vertical-align: top; + min-width: 13.5ex; + width: 19%; + color: #008; + border-style: solid; + border-width: 1px; + margin: .25em .125ex .25em .125ex; + padding: .125em 1ex .125em 1ex; + background: #EFF; +} + +.course .dtstart { width: 37ex; } +.course .dtstart .DTSYEAR, +.course .dtstart .DTSMONTH, +.course .dtstart .DTS{ + font-size: .875em; + margin: .25em .25ex 1em .25ex; + display: inline-block; + text-align: center; + font-weight: bold; +} + +.course .dtstart .DTSYEAR{ width: 11.5ex; } +.course .dtstart .DTSMONTH{ width: 18.5ex; } +.course .dtstart .DTS{ width: 5.5ex; } + +.course .dtstart .DTSCAL, +.course .dtstart .DTSCALHEAD { + display: inline-block; + overflow: hidden; + text-align: center; + width: 5ex; + margin: 0; +} +.course .dtstart .DTSCALHEAD { + font-weight: bold; + border-top: 1px solid; + border-bottom: 1px solid; +} + +.course .dtstart input[name=DTSDAY] { display: none; margin: 0; height: 0; width: 0; } +.course .dtstart input[name=DTSDAY]:checked + label.DTSCAL { font-weight: bold; border: solid 1px; } + +.course .dtstart .DTSTIME{ + display: inline-block; + width: 10ex; + font-weight: bold; +} + +.course .recur{ width: 37ex; } +.course .section select, +.course .section button, +.course .section input { + border: 1px solid; + margin: .5em 0; +} + +.course .select_attendance { + max-height: 17em; + overflow-y: scroll; +} +.course .select_attendance label{ + display: block; + position: relative; + margin: 0; padding: 0; + padding-left: 3ex; +} +.course .select_attendance label input{ + position: absolute; + margin: 0; padding: 0; + margin-left: -3ex; + top: 0; +} + +.course .section input[type="text"] { width: 100%; } +.course .section textarea.COMMENT { min-height: 6em; width: 100%; overflow: auto; } + -- 2.39.2