]> git.plutz.net Git - serve0/blobdiff - style.css
Merge commit 'b931bbd0c30907b9cc956d3707b26b449bf41f76'
[serve0] / style.css
index bcd6e378a9e6e105ddfd2dd7d5b12eb7bfcc85a4..79ddfe81e46ca885862212b56571779851331291 100644 (file)
--- a/style.css
+++ b/style.css
-* {
-  box-sizing: border-box;
-}
-
 body {
-  color: white;
-  background-color: black;
-  margin: 0;
-  padding: 0;
+  color: #EEE;
+  background-color: #000;
+  padding-bottom: 2.5em;
 }
 
-input.toggle {
-  display: none;
+/* ====== TOP CONTROL BAR ====== */
+
+#navigation {
+  text-align: center;
+  margin-bottom: 1em; padding: 0 2em;
+  background-color: #333;
+  box-shadow: .125em .125em .25em #000;
 }
-input.toggle + label + * {
-  display: block;
-  overflow: hidden;
+#navigation > a {
+  position: absolute; bottom: .25em;
+  padding: 0 .125em;
+  font-size: 1.5em;
+  text-decoration: none;
+}
+#navigation > a[href="#bookmarks"] { left: 0; }
+#navigation > a[href="#prefs"] { right: 0; }
+
+#bookmarks, #advsearch, #prefs, #multitag {
+  -display: none;
   height: 0;
+  overflow: hidden;
 }
-input.toggle:checked + label + * { height: auto; }
 
-#search {
-  text-align: center;
+#editing {
+  position: fixed;
+  bottom: 0; width: 100%;
+  padding: 0 .5em;
   background-color: #333;
-  padding: .25em;
-  border-bottom: 1px solid;
-  margin: 0;
 }
 
-label[for=t_prefs] {
+:target a[href="#"] {
   position: absolute;
+  top: 0; right: 0;
   font-size: 1.5em;
-  top: 0; right: .25em;
+  font-weight: bold;
+  text-decoration: none;
+  padding: 0 .25em;
+  z-index: 1;
+}
+
+/* ====== MAIN LIST VIEW ====== */
+
+.itemlist { text-align: center; }
+.itemlist > * { text-align: left; }
+.itemlist .list {
+  display: inline-block;
+  vertical-align: top;
+  width: 99%;
+  -padding: 0 .25em;
+  margin: 0 .5%;
+  margin-bottom: 1em;
+  overflow: hidden;
 }
 
-#t_prefs:checked + label + #prefs {
+.itemlist .list img {
+  -width: 1000%; height: 11em;
+  max-width: unset;
+  background-color: #111;
+  object-fit: cover;
+  transform: translate(-05%, 0);
+  margin-left: 50%;
+}
+.itemlist .list:hover img {
+  animation: thumbscroll 8s steps(10, end) infinite;
+}
+@keyframes thumbscroll {
+  from { transform: translate(-05%, 0);}
+  to   { transform: translate(-105%, 0);}
+}
+
+.itemlist .list label {
+  display: block;
+  font-weight: bolder;
+  word-break: break-word;
+}
+.itemlist .list .time,
+.itemlist .list .dim {
+  position: absolute; top: 9.75em;
+  background-color: rgba(0,0,0,.5);
+  padding: .125em .25em;
+}
+.itemlist .list .time { right: 0; }
+.itemlist .list .dim { left: 0; }
+.itemlist .list input[type=checkbox] { display: none; }
+.itemlist .list .tag,
+.itemlist .list input[type=checkbox] + label {
+  display: inline-block;
   background-color: #333;
-  border: 1px solid;
-  border-top: none;
-  border-right: none;
-  padding: .5em 1em;
-  margin: 0;
-  position: relative;
-  top: -1px;
-  width: 13em;
-  margin-left: auto;
-}
-
-#prefs label[for=prefs_ps] {
+  margin-top: .125em;
+  margin-left: 0;
+  padding: 0 .25em;
+  border-radius: 1pt;
+}
+.itemlist .list input[type=checkbox]:checked + label {
+  background-color: #383;
+}
+
+
+/* ====== PAGINATION LIST ====== */
+
+.pagination {
+  display: block;
+  font-size: 1.25em;
+  max-width: 98%;
+  margin: 0 auto;
+  padding: .25em 0;
+  background-color: #333;
+  border-radius: 2pt;
+}
+.pagination a {
+  display: inline-block;
+  padding: 0 .5em;
+  margin: 0 .5em;
+  border-radius: 2pt;
+}
+.pagination a.current {
+  background-color: #BBB;
+}
+
+/* ====== BOOKMARK PANEL ====== */
+
+#bookmarks:target,
+#prefs:target {
+  display: block; position: fixed;
+  top: 50%; left: 50%;
+  transform: translate( -50%, -50% );
+  width: 40em; max-width: 90%;
+  height: 30em; max-height: 90vh;
+  background-color: #333;
+  padding: 0 .5em;
+  z-index: 1;
+  box-shadow: .25em .25em .5em #000;
+  overflow-y: auto;
+}
+
+#bookmarks label {
+  display: inline;
   font-weight: bold;
+  font-size: 1.125em;
+  margin-left: 0;
+  margin-top: .75em;
+  word-break: break-word;
 }
-#prefs #prefs_ps {
-  max-width: 3em;
-  margin-bottom: 1em;
+#bookmarks label:before,
+#bookmarks a.conjunct:after {
+  content: '\0a';
+  white-space: pre;
 }
-#prefs button {
-  margin-top: 1em;
+#bookmarks label:before {
+  line-height: 2.5em;
+  vertical-align: top;
+}
+
+
+/* ====== ADVSEARCH / FILTER PANEL ====== */
+
+#advsearch:target {
+  display: block; position: fixed;
+  top: 0; width: 100%;
+  height: 30em; max-height: 90vh;
+  background-color: #333;
+  padding: 0 .5em;
+  z-index: 1;
+  box-shadow: .25em .25em .5em #000;
+  overflow-y: auto;
 }
-#prefs input { vertical-align: top; }
-#prefs input[type=radio] + label,
-#prefs input[type=checkbox] + label {
+
+-#advsearch { text-align: center; }
+-#advsearch > * { text-align: left; }
+
+#advsearch .help {
+  width: 95%;
+  margin: 1em auto; padding: 0 .5em;
+  background-color: #444;
+  white-space: pre-line;
+}
+
+#advsearch input.and + label {
   display: inline-block;
-  margin-bottom: .5em;
-  max-width: 85%;
-}
-
-.itemlist { overflow: hidden;}
-.list {
-  position: relative;
-  display: block; float: left;
-  width: 25%;
-  min-width: 250px;
-  padding: .5em 1em;
-  margin: 0;
-  overflow: none;
-  word-wrap: break-word;
   vertical-align: top;
+  font-weight: bold;
 }
-.list, .list a { color: black; }
-.list:before {
-  position: absolute;
-  top: .25em; left: .25em;
-  bottom: .25em; right: .25em;
-  z-index: -2;
-  content: '';
+#advsearch fieldset.select {
+  display: inline-block;
+  width: 99%;
+  margin: 0 .5%; margin-bottom: .75em; padding: 0 .375em;
+  box-shadow: .125em .125em .25em #000;
 }
-.list.file:first-of-type { clear: left; }
-.list.dir:before { background-color: #CCF; }
-.list.file:before { background-color: #FDD; }
 
-.list.file img {
+#advsearch fieldset.select > label.head {
+  display: none;
+  width: 40%;
+  text-align: right;
+}
+#advsearch fieldset.select > input.cat { display: none; }
+#advsearch fieldset.select > input.cat + label + .catselect { display: none; }
+#advsearch fieldset.select > input.cat + label {
   display: block;
-  width: 100%;
+  width: 40%;
+  margin: 0; padding: 0 .5em;
+  text-align: right;
 }
-.pagination {
+#advsearch fieldset.select > input.cat:checked + label { background-color: #444; }
+#advsearch fieldset.select > input.cat:checked + label + .catselect {
+  display: block; position: absolute;
+  top: 1.5em; bottom: 0; right: 0;
+  width: 60%;
+  padding: 0 .25em;
+  background-color: #444;
+  overflow-y: auto;
+}
+#advsearch fieldset.select > input.cat + label + .catselect > * {
   display: block;
-  text-align: center;
-  margin-top: 1em;
+  white-space: pre;
+}
+
+#advsearch input.and { display: none; }
+#advsearch input.and + label { display: none; }
+#advsearch input.and + label + fieldset { display: none; }
+#advsearch input.and:checked + label + fieldset,
+#advsearch input.and:first-of-type + label + fieldset { display: inline-block; }
+#advsearch input.and:checked + label + fieldset + input + label,
+#advsearch input.and:first-of-type + label + fieldset + input + label { display: inline-block; }
+#advsearch input.and:checked + label + fieldset + input:checked + label { display: none; }
+#advsearch input.and:first-of-type + label + fieldset + input:checked + label { display: none; }
+
+
+/* ====== MULTITAG DIALOG ====== */
+
+#multitag:target {
+  display: block; position: fixed;
+  bottom: 0; left: 0; width: 100%;
+  height: 30em; max-height: 90vh;
+  background-color: #333;
+  padding: 0 .5em;
+  z-index: 1;
+  box-shadow: .25em .25em .5em #000;
+  overflow-y: auto;
 }
-.page {
+
+-#multitag { text-align: center; }
+-#multitag > * { text-align: left; }
+
+#multitag fieldset {
   display: inline-block;
-  padding: .25em .5em;
-  background-color: #FAA;
-  border: 1px solid;
+  width: 99%;
+  margin: 0 .5%; margin-top: 1em;
+}
+
+#multitag fieldset select {
+  width: 100%; height: 10em;
+}
+#multitag fieldset .tagselect {
+  height: 10em;
+  background-color: #444;
+  overflow-y: auto;
+}
+#multitag fieldset .tagselect > label {
+  display: block;
+  white-space: pre;
+}
+#multitag fieldset textarea[name=newtag] + label {
+  display: block;
 }
-.page:nth-of-type(1) {clear: left;}
+
+
+/* ====== VIEW PAGE ====== */
+
+body#view video {
+  display: block;
+  max-height: 80vh;
+  margin: 0 auto;
+}
+
+body#view .tag {
+  display: inline-block;
+  background-color: #333;
+  margin-top: .125em;
+  margin-left: 0;
+  padding: 0 .25em;
+  border-radius: 1pt;
+}
+
+body#view .itemlist {
+  margin-top: 2em;
+}
+
+
+/* ====== SCALE BLOCK ELEMENTS ====== */
+
+@media(min-width:  20em) { .itemlist .list, #advsearch fieldset.select, #multitag fieldset { max-width: 49%; } }
+@media(min-width:  40em) { .itemlist .list, #advsearch fieldset.select, #multitag fieldset { max-width: 32%; } }
+@media(min-width:  60em) { .itemlist .list, #advsearch fieldset.select, #multitag fieldset { max-width: 24%; } }
+@media(min-width:  80em) { .itemlist .list, #advsearch fieldset.select, #multitag fieldset { max-width: 19%; } }
+@media(min-width: 100em) { .itemlist .list, #advsearch fieldset.select, #multitag fieldset { max-width: 19em; } }