improved placement of color choosers (no touching browser controls by accident ;...
[confetti] / templates / therapy.css.sh
1 #!/bin/sh
2
3 cat <<EOF
4 * { box-sizing: border-box; }
5 body {
6   overflow: scroll;
7   position: relative;
8   width: 100%;
9   margin: 0; padding: 0;
10   padding-top: 2em;
11 }
12
13 input.tab { display: none; }
14 input.tab + label.tab { display: block; }
15 input.tab + label.tab::before { content: '\25b8 \00a0'; float: left;}
16 input.tab:checked + label.tab::before { content: '\25be \00a0'; }
17 input.tab + label.tab + div.tab { display: none; }
18 input.tab:checked + label.tab + div.tab { display: block; }
19
20 input.color { display: none }
21 input.color + label{
22   display: inline-block;
23   width: 1em; height: 1em;
24   border: 1px solid black;
25 }
26 input.color:checked + label{ border-width: 3px;}
27 input.color[value="#000"] + label,
28 input.color[value="#888"] + label { background-color: #888;}
29 input.color[value="#00A"] + label { background-color: #00F;}
30 input.color[value="#0A0"] + label { background-color: #0F0;}
31 input.color[value="#0AA"] + label { background-color: #0FF;}
32 input.color[value="#A00"] + label { background-color: #F00;}
33 input.color[value="#A0A"] + label { background-color: #F0F;}
34 input.color[value="#AA0"] + label { background-color: #FF0;}
35 input.color[value="#FFF"] + label { background-color: #FFF;}
36
37 h1, label.tab, div.tab, fieldset.tab,
38 div.patient, div.prescription {
39   display: block;
40   width: 96%;
41   margin: 0 2%;
42 }
43
44 div.prescription span {
45   display: inline-block;
46   width: 50%;
47   margin-right: -.75ex;
48   vertical-align: top;
49 }
50 div.prescription span label { font-weight: bold; margin-right: 1ex;}
51 div.prescription span.prescno,
52 div.prescription span.catalogue {
53   width: 33%;
54   font-weight: bold;
55   margin-bottom: .5em;
56   padding: .5ex 1ex;
57 }
58
59 div.prescription label.checkbox,
60 div.prescription label.radio {
61   display: block;
62   padding-left: 1.25em;
63   font-size: 1em;
64   margin: .5em 0;
65 }
66
67 div.prescription label.checkbox:before,
68 div.prescription label.radio:before {
69   display: inline-block;
70   color: #000;
71   background-color: #FFF;
72   height: 1.375em; width: 1.125em;
73   padding: .125em 0 0 .375em;
74   margin: 0 .5em .25em -1.25em;
75   border: 1px solid #000;
76   vertical-align: middle;
77   content: ' ';
78 }
79 div.prescription label.radio:before { border-radius: .5em;}
80 div.prescription label.checkbox.checked:before,
81 div.prescription label.radio.checked:before { content: "\2713";}
82
83 div.prescription label[for=prescreviewed] {
84   margin-left: 1ex;
85   font-weight: bold;
86   text-decoration: underline;
87   background-color: #FCC;
88 }
89 div.prescription label[for=prescreviewed].checked {
90   font-weight: normal;
91   text-decoration: none;
92   background-color: transparent;
93 }
94
95 fieldset.color {
96   position: absolute;
97   bottom: 0; right: 0; width: 2em;
98   margin: .5em .5em .125em 2%;
99   border: none;
100   padding: 0;
101 }
102 fieldset.color > input.color + label {
103   width: 2em; height: 2em;
104 }
105 .dotmark {
106   max-width: 90%;
107   margin: .5em 1em .125em 2%; padding: 0;
108   text-align: left;
109   border: 1px solid black;
110 }
111 .dotmark.ov {
112   position: absolute;
113   left: 0; bottom: .25em;
114   z-index: 1;
115 }
116
117 @media(min-width: 800px){
118   h1, label.tab, div.tab, fieldset.tab,
119   div.patient, div.prescription {
120     width: 38%;
121     margin-right: 0;
122   }
123   fieldset.color { position: fixed; }
124   .dotmark {
125     position: fixed;
126     max-width: 52%;
127     max-height: 98%;
128     right: 2em; bottom: .25em;
129   }
130   .dotmark.ov {
131     position: fixed;
132     right: 2em; left: auto;
133   }
134 }
135
136 h1 {display: none;}
137
138 div.patient, div.prescription { margin-top: 1em; }
139 div.prescription {
140   border: 1px solid black;
141   background-color: #EEE;
142   padding: .125em 1.25ex .5em 1.25ex;
143 }
144 div > h2 { margin: 0; border-bottom: 1px solid black; }
145 div:nth-child(n+2) > a:first-of-type {
146   display: block;
147   margin: .125em 0 .5em 0;
148   text-decoration: none;
149 }
150
151 fieldset.tab,
152 label.tab {
153   font-size: 1.25em;
154   font-weight: bold;
155   padding: .125em 1ex .25em 1ex;
156   color: #FFF;
157   background-color: #333;
158   margin-top: .125em;
159   text-align: right;
160   border: none;
161 }
162 label.heading {
163   background-color: #FFF;
164   margin-top: 1em;
165   border: 2px solid black;
166   border-bottom-width: 1px;
167   color: black;
168 }
169 label.heading > span {
170   text-decoration: underline;
171 }
172
173 fieldset.tab > *,
174 label > input,
175 label > span {
176   display: inline-block;
177   text-align: right;
178 }
179 .tab > .no {
180   width:  10%; float: left;
181   border: solid 1px #FFF;
182   background-color: #555;
183   border-radius: 2ex;
184   padding: 0;
185   text-align: center;
186 }
187 label.heading > span.no {
188   background-color: inherit;
189   border: none;
190 }
191 .tab > .date      { width: 30%; }
192 .tab > .therapist { width: 30%; }
193 .tab > .signature { width: 20%; }
194 label.tab > .signature { font-size: .75em; }
195 .tab > .signature > button { display: inline-block; margin: 0; }
196 /* fieldset.tab > button[type=submit] { width: 5%; text-align: center; margin-left: 5%;} */
197 fieldset.tab > button[type=submit] { height: 2em; color: #FFF; font-weight: bold;}
198 fieldset.tab > button[type=submit]::first-letter { font-size: 1.75em;}
199
200 .signature > button[value=pos],
201 .signature > button[value=neg] {
202   margin-bottom: .25em;
203   border: 1px solid black;
204   height: 1.5em; width: 1.5em;
205   vertical-align: top;
206   background-color: #FFF;
207   color: #000;
208   white-space: nowrap;
209 }
210 .signature > input[type=checkbox] {display: none;}
211 .signature > button[value=neg]::before { padding: 0 1ex 0 .25ex; content: "\2713"; }
212 .signature > button[value=pos]::before { padding: 0 1ex 0 .25ex; content: "\00a0 \00a0 \00a0"; }
213
214 input.tab + label.tab > input.date,
215 input.tab + label.tab > input.therapist {
216   display: none;
217 }
218 input.tab:checked + label.tab > input.date,
219 input.tab:checked + label.tab > input.therapist {
220   display: inline;
221 }
222 input.tab:checked + label.tab > span.date,
223 input.tab:checked + label.tab > span.therapist {
224   display: none;
225 }
226
227
228 div.tab {
229   border: 2px solid #333;
230   border-top-width: 1px;
231   margin-top: -1px;
232   padding: .25em .5ex;
233 }
234 div.tab > fieldset.note {
235   border: none;
236   margin: 0; padding: 0;
237 }
238 div.tab > fieldset.note > textarea {
239   display: block;
240   width: 95%; height: 8em;
241   margin: -8em 0 .5em 2em;
242   font: normal 1em sans-serif;
243 }
244 div.tab > fieldset.note > input.color + label { margin: 0; display: block; }
245 div.tab > fieldset.note > input.color[value="#888"]:checked ~ textarea { background-color: #AAA; }
246 div.tab > fieldset.note > input.color[value="#00A"]:checked ~ textarea { background-color: #88F; }
247 div.tab > fieldset.note > input.color[value="#0A0"]:checked ~ textarea { background-color: #8F8; }
248 div.tab > fieldset.note > input.color[value="#0AA"]:checked ~ textarea { background-color: #8FF; }
249 div.tab > fieldset.note > input.color[value="#A00"]:checked ~ textarea { background-color: #F88; }
250 div.tab > fieldset.note > input.color[value="#A0A"]:checked ~ textarea { background-color: #F8F; }
251 div.tab > fieldset.note > input.color[value="#AA0"]:checked ~ textarea { background-color: #FF8; }
252 div.tab > fieldset.note > input.color[value="#FFF"]:checked ~ textarea { background-color: #FFF; }
253
254 div.tab > button.delete {float: right; display: inline-block;}
255 EOF
256
257 # vi:set filetype=css: