]> git.plutz.net Git - serve0/blob - templates/common.css.sh
full page list for pagination, playctl in listview
[serve0] / templates / common.css.sh
1 # Copyright 2014 - 2016 Paul Hänsch
2 #
3 # This file is part of Serve0
4
5 # Serve0 is free software: you can redistribute it and/or modify
6 # it under the terms of the GNU Affero General Public License as published by
7 # the Free Software Foundation, either version 3 of the License, or
8 # (at your option) any later version.
9
10 # Serve0 is distributed in the hope that it will be useful,
11 # but WITHOUT ANY WARRANTY; without even the implied warranty of
12 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13 # GNU Affero General Public License for more details.
14
15 # You should have received a copy of the GNU Affero General Public License
16 # along with Serve0  If not, see <http://www.gnu.org/licenses/>. 
17
18 cat <<EOF
19
20 * {
21   -moz-box-sizing: border-box;
22   box-sizing: border-box;
23   -moz-transition: all .3s linear;
24   transition: all .3s linear;
25 }
26
27 body {
28   padding: 0;
29   margin: 0;
30   background-color: #000;
31   color: #DDD;
32 }
33 a { color: #EEE; }
34 legend, label, .label { font-weight: bold; }
35
36 input.tabhandle { display: none; }
37 .tabcontent { display: none; }
38 input.tabhandle:checked + label.tabhandle + .tabcontent { display: inline-block; }
39 input.tabhandle:checked + .tabcontent { display: inline-block; }
40
41 textarea {
42   display: block;
43   width: 100%;
44 }
45
46 .info {
47   margin: 0;
48   padding: 0 .25em;
49   background-color: #BBD;
50   color: #000;
51   border: #000 1px solid;
52 }
53 .info.tag {
54   line-height: 1.6em;
55   background-color: #DBB;
56   margin-right: -.75ex;
57 }
58
59 .pagination_nav {
60   display: inline-block;
61   position: absolute;
62   border: none;
63   right: 0; bottom: .25em;
64   padding: .125em .5em 0 0;
65 }
66
67 .pagination_nav a {
68   display: none;
69   margin: 1ex 1px;
70   padding: 0 1ex;
71   text-decoration: none;
72 }
73
74 .pagination_nav a.current {
75   display: inline;
76   color: #F66;
77   font-weight: bold;
78 }
79 .pagination_nav:hover {
80   position: fixed;
81   bottom: auto;
82   text-align: right;
83   background-color: #333;
84   border-bottom: 1px solid #FFF;
85   line-height: 1.75em;
86   transition: none;
87 }
88 .pagination_nav:hover a {
89   display: inline;
90 }
91
92 /* == Panels == */
93
94 .panel {
95   position: relative;
96   display: block;
97   width: 100%;
98   margin: 0;
99   padding: .25em .5em;
100   background-color: #333;
101   border-width: 1px;
102   border-style: none none solid none;
103 }
104
105 a.panel {
106   font-weight: bold;
107   display: inline-block;
108   border: none;
109   width: auto;
110   padding: 0;
111   margin-right: 1em;
112   margin-bottom: 1ex;
113 }
114
115 .panel .help { display: block;}
116
117 /* == Top Panel == */
118 .panel#advfilter {
119   position: absolute;
120   top: 0;
121 }
122
123 /* == Bottom Panels == */
124 .panel#preferences,
125 .panel#tagger,
126 .panel#foot {
127   position: fixed;
128   bottom: 0px;
129   border-style: solid none none none;
130 }
131
132
133 /* == Switchable Panels == */
134
135 form.panel,
136 div.panel {
137   z-index: 1;
138   overflow: hidden;
139   min-height: 0; max-height: 0;
140   padding-top: 0; padding-bottom: 0;
141 }
142
143 .panel#search,
144 .panel#foot {
145   max-height: 100%;
146   z-index: 0;
147   padding: .25em 6em 0 .5em;
148 }
149
150 .panel:target {
151   max-height: 100%;
152   overflow-y: scroll;
153 }
154 .panel#advfilter:target{ padding-bottom: 1em; }
155
156 /* == Panel Switches == */
157
158 .panel#playctl a.panel,
159 .panel#advfilter a.panel,
160 .panel#preferences a.panel,
161 .panel#tagger a.panel {
162   display: block;
163   border-style: none none solid none;
164   border-width: 1px;
165 }
166 .panel#preferences a.panel,
167 .panel#tagger a.panel {
168   border-style: solid none none none;
169   margin-top: .5em;
170 }
171
172
173 /* == Panel Elements == */
174
175 .panel#advfilter .quicklinks,
176 .panel#advfilter .filter,
177 .panel#tagger .newtag,
178 .panel#tagger input[type=submit],
179 .panel#preferences > * {
180   display: inline-block;
181   vertical-align: top;
182   margin-top: 1em;
183 }
184
185
186 /* == Advanced Filters == */
187
188 /* == Filter Boxes == */
189 #advfilter .filter {
190   border: solid 1px #FFF;
191   border-radius: .25em;
192   padding: .25em .5em;
193 }
194 #advfilter .filter .tabcontainer {
195   position: relative;
196   width: 16em;
197   font-weight:normal;
198 }
199 #advfilter .filter .tabcontainer input + .category.tabhandle {
200   display: block;
201   width: 50%;
202 }
203 #advfilter .filter .tabcontainer input:checked + .category.tabhandle {
204   background: #FFF;
205   color: #000;
206 }
207 #advfilter .filter .tabcontainer .category.tabcontent {
208   position: absolute;
209   top: 0; right: 0;
210   width: 50%;
211   height: 100%;
212   min-height: 4em;
213   border: 2px #FFF solid;
214   border-radius: 0 .25em .25em 0;
215 }
216
217 #advfilter > label.tabhandle {
218   text-align: right;
219   width: 4em;
220   margin-left: 4em;
221 }
222
223 /* == Dynamic Appearance of Boxes == */
224 .panel#advfilter > .tabhandle + label { display: none; }
225 .panel#advfilter > .tabhandle:checked + label + .tabcontent + .tabhandle + label { display: inline-block; }
226 .panel#advfilter > .tabhandle:checked + label + .tabcontent + .tabhandle:checked + label { display: none; }
227 .panel#advfilter > .tabhandle + label + .tabcontent {
228   display: inline-block;
229   overflow: hidden;
230   max-width: 0;
231   max-height: 0;
232   padding: 0;
233   border: none;
234 }
235 .panel#advfilter > .tabhandle:checked + label + .tabcontent {
236   max-width: 100%;
237   max-height: 100%;
238   padding: .25em .5em;
239   border: solid 1px #FFF;
240 }
241
242 #advfilter .filter.final {
243   width: 16em;
244   margin-left: 1em;
245 }
246
247 #advfilter .quicklinks {max-width: 100%;}
248 #advfilter .quicklinks * {
249   display: block;
250   word-wrap: break-word;
251   margin-bottom: .75em;
252 }
253
254 /* == Thumblist == */
255
256 #thumblist {
257   width: 100%;
258   padding: .5em 0 3em 0;
259   text-align: center;
260 }
261
262 #thumblist .thumb {
263   display: inline-block;
264   text-align: left;
265   width: 90%;
266   padding: 0 .5em;
267   margin: .5%;
268   margin-bottom: .75em;
269   vertical-align: top;
270   word-wrap: break-word;
271 }
272 @media (min-width: 460px){#thumblist .thumb{width: 48%;}}
273 @media (min-width: 620px){#thumblist .thumb{width: 32%;}}
274 @media (min-width: 1004px){#thumblist .thumb{width: 250px; margin: 2px;}}
275
276 #thumblist .thumb img {
277   width: 100%;
278 }
279 #thumblist .thumb h2 {
280   font-size: 1em;
281   font-weight: normal;
282   margin: 0;
283 }
284 #thumblist .thumb a {
285   display: block;
286 }
287 #thumblist .thumb a.alt {
288   display: inline-block;
289   margin-top: .3em;
290 }
291 #thumblist input {
292   margin: .75em .5em;
293 }
294
295 /* == Filelist == */
296
297 #thumblist .file {
298   color: #000;
299   display: inline-block;
300   text-align: left;
301   width: 90%;
302   padding: .5em .5em;
303   margin: .5%;
304   margin-bottom: .75em;
305   vertical-align: top;
306   word-wrap: break-word;
307 }
308 @media (min-width: 460px){#thumblist .file{width: 48%;}}
309 @media (min-width: 620px){#thumblist .file{width: 32%;}}
310 @media (min-width: 1004px){#thumblist .file{width: 250px; margin: 2px;}}
311
312 #thumblist .file.directory { background-color: #BBD; }
313 #thumblist .file.plain { background-color: #111; color: #777; }
314 #thumblist .file.video { background-color: #DBB; }
315
316 .panel#tagger .newtag select,
317 .panel#tagger .newtag .label{
318   display: block;
319   width: 10em;
320 }
321
322 .panel#preferences > fieldset {
323   border: solid 1px;
324   border-radius: .25em;
325 }
326 .panel#preferences > input { display: block; }
327
328 #videoview h1, 
329 #playctl h1 { font-size: 1.25em;}
330 #videoview h1, #videoview > a,
331 #playctl h1, #playctl > a {
332   display: inline-block;
333   margin-right: 1em;
334   padding: 0; margin: .5em 0;
335 }
336 #videoview video {
337   display: block;
338   margin: 0;
339   width: 100%;
340 }
341
342 #playctl form { text-align: center; }
343 #playctl form button {
344   display: inline-block;
345   height: 100%;
346   min-height: 4em;
347   margin: 0 -.75ex .5em 0;
348   background-color: #EEE;
349   border: 1px solid #333;
350   vertical-align: bottom;
351   padding-top: 1em;
352 }
353 #playctl form button[name="seek"],
354 #playctl form button[name="ctl"] { width: 40%;}
355 #playctl form button[name="amp"] { width: 40%; margin-top: 2em;}
356 #playctl form button[name="vol"] { width: 5%; min-height: 1em;}
357 #playctl form button[name="vol"].selected { background-color: #FA6;}
358 #playctl form button[name="vol"][value="100"],
359 #playctl form button[name="vol"][value="0"] { width: 6%;}
360
361 @media (min-width: 460px){
362   #playctl form button {
363     max-width: 4em;
364     min-height: 2em;
365     padding-top: 0em;
366     margin-bottom: 2em;
367   }
368   #playctl form button[name="seek"],
369   #playctl form button[name="ctl"] { width: 16%;}
370   #playctl form button[name="amp"] { width: 15%;}
371   #playctl form button[name="vol"] { width: 3%;}
372   #playctl form button[name="amp"] + br {display: none;}
373 }
374 EOF
375
376 # vi:set filetype=css: