use native radio and check buttons, do not break line between input and label
[confetti] / templates / attendees.css.sh
index ce0b82b..796c701 100755 (executable)
@@ -1,4 +1,4 @@
-# Copyright 2014 Paul Hänsch
+# Copyright 2014, 2015 Paul Hänsch
 #
 # This file is part of Confetti.
 # 
 
 cat <<EOF
 
+/*
+input[type="checkbox"] { display: none; }
+input[type="checkbox"] + label::before {content: '\2610'; padding-right: .5ex;}
+input[type="checkbox"]:checked + label { text-decoration: underline; }
+input[type="checkbox"]:checked + label::before {content: '\2611';}
+/*
+input[type="radio"] { display: none; }
+input[type="radio"] + label::before {content: '\25cb'; margin-right: .75ex; font-size: .75em;}
+input[type="radio"]:checked + label { text-decoration: underline; }
+input[type="radio"]:checked + label::before {content: '\29bf';}
+*/
+
 .filter {
   display: block;
-  width: 128ex;
-  border-width: 1px;
-  border-style: solid;
+  border: solid 1px;
   border-radius: 4px 4px 0 0;
-  margin: .5em auto .25em auto;
-  padding: .25em 1ex .25em 1ex;
+  margin: .5em 2em .25em 2em;
+  padding: 0 2ex .5em 2ex;
   background: #EFF;
 }
 
-.filter > .label {
+.filter h1 {
   display: block;
   font-weight: bold;
-  font-size: 1.2em;
+  font-size: 1.25em;
   border-style: none none solid none;
+  border-radius: 4px 4px 0 0;
   border-width: 1px;
-  margin: 0em 0ex .5em 0ex;
+  margin: 0 -1.625ex .5em -1.625ex;
+  padding: .125em 1ex;
   background: #EEF;
 }
-
-.filter .search {
-  margin: 0em 2ex .5em 2ex;
+.filter input[type="text"] {
+  width: 100%;
+  margin-bottom: .5em;
 }
-.filter .search .label {
-  display: inline-block;
-  width: 12ex;
+.filter fieldset {
+  position: relative;
+  display: block;
+  border: none;
+  padding: 0 0 0 12ex;
+  margin: 0 0 .5em 0;
+}
+.filter fieldset legend {
+  position: absolute;
+  font-size: 1em;
   font-weight: bold;
-  margin-top: .5em;
+  margin-left: -12ex;
 }
-.filter .search input[type="radio"] {
-  margin-top: .5em;
-  margin-left: 1ex;
+.filter label {
+  display: inline-block;
+  vertical-align: top;
+  margin: .125em 2ex 0 0;
+  white-space: nowrap;
 }
-.filter .search button {
+.filter button {
   margin-top: .5em;
 }
 
-.filter .search input[type="text"] {
-  width: 124ex;
-}
-
 .newcard {
   display: block;
-  width: 126ex;
   border-width: 1px;
   border-style: solid;
   border-radius: 0 0 4px 4px;
-  margin: .25em auto 1em auto;
+  margin: .25em 2em 1em 2em;
   padding: .25em 2ex .25em 2ex;
   background: #EFF;
 }
 
-.cardlist .card {
+.card {
   display: block;
-  width: 130ex;
+  position: relative;
   border-style: solid;
   border-width: 1px;
-  margin: .25em auto;
-  padding: 0;
+  margin: .25em 2em;
+  padding: 0 20ex 0 0;
   overflow: auto;
   background: #FFF;
 }
-
-.cardlist .card .section {
+.card .control {
   display: inline-block;
-  float:left;
-  width: 20ex;
-  margin: .125em .25ex .5ex .25ex;
-  padding: 0 .2em .2em .2em;
-  background: #EEE;
-}
-.cardlist .card .section a.attendance {
-  display: inline-block;
-  margin-right: 1ex;
-  word-wrap: break-word;
-}
-
-.cardlist .card .attendance {
-  width: 83.5ex;
-}
-.cardlist .card .attendance .check {
-  display: inline-block;
-  width: 27ex;
-}
-
-.cardlist .card .control {
-  float: right;
+  position: absolute;
+  top: 0; right: 0;
   text-align: right;
-  margin-right: 0;
   background: #EEF;
+  margin: 0;
+  height: 100%;
+  width: 20ex;
+  max-width: 33%;
+  padding: .25em 1ex;
 }
-
-.cardlist .card div.control {
-  width: 23ex;
-}
-
-.cardlist .card .control .item {
+.card .control .item {
+  display: block;
   color: #008;
   margin-top: .2em;
   margin-right: 1ex;
 }
-.cardlist .card .control a.item {
+.card .control a.item {
   min-width: 10ex;
   border-style: solid double solid solid;
   border-width: 1px 3px 1px 1px;
@@ -127,38 +122,72 @@ cat <<EOF
   padding: .1em 1ex;
   background: #FFF;
 }
-.cardlist .card .control a.item:hover{
+.card .control a.item:hover{
   border-width: 1px 1px 1px 1px;
 }
 
-.cardlist .card .section .sectitle {
+.card .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;
+}
+.card .section:nth-of-type(2n){ background: #EEE;}
+.card .section h2, .card .section h3 {
+  font-size: 1em;
   display: block;
   font-weight: bold;
-  margin: .2em .2em .2em .2em;
+  margin: .25em -.5ex .25em -.5ex;
+  border-style: none none solid none;
+  border-width: 1px;
+}
+.card .section .FN {  /* will override h2 */
+  font-size: 1.2em;
+  margin-top: 0;
 }
 
-.cardlist .card .section .item {
+.card .section.attendance ul { margin: 0; padding: 0; }
+.card .section.attendance ul li {
   display: block;
-  max-width: 20ex;
   word-wrap: break-word;
 }
 
-.cardlist .card .section textarea.NOTE {
+form.card .attendance {
+  min-width: 66%;
+}
+form.card .attendance label {
+  position: relative;
+  display: inline-block;
+  width: 25ex;
+  padding-left: 3ex;
+}
+form.card .attendance label input[type=checkbox] {
+  position: absolute;
+  margin-left: -3ex;
+}
+
+.card .section .item {
+  display: block;
+  max-width: 100%;
+  word-wrap: break-word;
+}
+
+.card .section textarea.NOTE {
   min-height: 6em;
 }
-.cardlist .card .section textarea.ADR {
+.card .section textarea.ADR {
   min-height: 4em;
 }
 
-.cardlist .card .section .PHOTO {
-  width: 20ex;
-  max-heigth: 30ex;
+.card .section .PHOTO {
+  width: 100%;
+  max-height: 10em;
 }
 
-.cardlist .card .section .FN {
-  font-weight: bold;
-  font-size: 1.2em;
-}
 
 EOF