/********************************************************************** * * This module is intended for quick and dirty tests and CSS experiments * * For production move the code from here to a more appropriate location * * **********************************************************************/ body { margin: 0; /* this will prevent odd blur effects when blurring out specific elements... */ background: black; } /* show image gid... */ .visible-gid .image:after { content: attr(gid); display: block; position: relative; color: red; margin: 10px; width: 20px; height: 20px; text-align: center; border: solid 2px red; border-radius: 50%; background: black; } /* .image.current { border-color: red; } */ .shadow { margin: 0px; z-index: 4000; } .ui-bounds-indicators { z-index: 5000; } .viewer:not(.no-transitions) .range-offscreen-indicator:not(.no-transitions) { transition: all 0.1s linear; } /* basic animation... */ .viewer:not(.no-transitions) { -webkit-transition: background-color 0.8s ease; -moz-transition: background-color 0.8s ease; -ms-transition: background-color 0.8s ease; -o-transition: background-color 0.8s ease; transition: background-color 0.8s ease; } .viewer:not(.no-transitions) .ribbon-set:not(.no-transitions) { -webkit-transition: all 0.1s linear, transform 0.1s linear; -moz-transition: all 0.1s linear, transform 0.1s linear; -ms-transition: all 0.1s linear, transform 0.1s linear; -o-transition: all 0.1s linear, transform 0.1s linear; transition: all 0.1s linear, transform 0.1s linear; } .viewer:not(.no-transitions) .ribbon-locator:not(.no-transitions) { -webkit-transition: all 0.1s linear, transform 0.1s linear; -moz-transition: all 0.1s linear, transform 0.1s linear; -ms-transition: all 0.1s linear, transform 0.1s linear; -o-transition: all 0.1s linear, transform 0.1s linear; transition: all 0.1s linear, transform 0.1s linear; } .viewer:not(.no-transitions) .ribbon:not(.no-transitions) { -webkit-transition: all 0.1s ease-out; -moz-transition: all 0.1s ease-out; -ms-transition: all 0.1s ease-out; -o-transition: all 0.1s ease-out; transition: all 0.1s ease-out; } /* XXX not 100% sure about this... */ :not(.no-transitions) .current-marker:not(.no-transitions) { -webkit-transition: transform 0.1s ease-out; -moz-transition: transform 0.1s ease-out; -ms-transition: transform 0.1s ease-out; -o-transition: transform 0.1s ease-out; transition: transform 0.1s ease-out; } /* XXX should this be !important */ .no-transitions { -webkit-transition: none !important; -moz-transition: none !important; -ms-transition: none !important; -o-transition: none !important; transition: none !important; } /* XXX think of a way not to use !important */ .single-image-mode .ribbon, .single-image-mode .ribbon-set { -webkit-transition: none !important; -moz-transition: none !important; -ms-transition: none !important; -o-transition: none !important; transition: none !important; } /* TEST: this is mostly speed limited... */ .ribbon { box-shadow: 5px 5px 50px -5px rgba(0, 0, 0, 0.2); -webkit-transition: box-shadow 0.8s ease; -moz-transition: box-shadow 0.8s ease; -ms-transition: box-shadow 0.8s ease; -o-transition: box-shadow 0.8s ease; transition: box-shadow 0.8s ease; } .current.ribbon { box-shadow: 5px 5px 60px -5px rgba(0, 0, 0, 0.3); } .single-image-mode .ribbon { box-shadow: none; } .viewer .lock-clicks { position: absolute; display: block; width: 100%; height: 100%; background: transparent; cursor: auto; z-index: 10000; } /*********************************************************************/ .image-bw { /*filter: saturate(0);*/ filter: grayscale(1); } .image-show-shadows { filter: contrast(0.8) brightness(3) contrast(1.5); } .image-show-highlights { filter: contrast(0.8) brightness(0.6) contrast(1.2); } .image-edge-detect { filter: url(#EdgeDetect); /* XXX this does not work in chrome + local file... */ /*filter: url(filters.svg#EdgeDetect);*/ } .image-shadows-and-highlights { filter: url(#ShadowsAndHilights); } .image-gamma-shadows { filter: url(#GammaShadows); } /*********************************************************************/ /* scrollbar setup... */ .browse-widget ::-webkit-scrollbar { width: 10px; height: 10px; } .browse-widget ::-webkit-scrollbar-button { display: none; } .browse-widget ::-webkit-scrollbar-track { } .browse-widget ::-webkit-scrollbar-track-piece { background: transparent; } .browse-widget ::-webkit-scrollbar-track-piece { background: rgba(0, 0, 0, 0.05); } .browse-widget ::-webkit-scrollbar-thumb { background: rgba(0, 0, 0, 0.15); } .browse-widget ::-webkit-scrollbar-thumb:hover { background: rgba(0, 0, 0, 0.3); } .browse-widget ::-webkit-scrollbar-corner { } .browse-widget ::-webkit-resizer { } .keyboard-shortcut { text-decoration: none !important; position: relative; display: inline-block; } .keyboard-shortcut:after { content: ""; position: absolute; display: block; width: 100%; margin-top: -0.2em; border-top: solid 0.1em silver; opacity: 1; } .browse-widget.cloud-view .list .item { font-size: small; } /* browse pinned items... */ .browse-widget .list .item:not(.pinned) .pin-set { display: none; } .browse-widget .list .item.pinned .pin-unset { display: none; } .browse-widget .list .item .sort-handle { display: inline-block; float: left; padding-left: 0.2em; padding-right: 0.5em; opacity: 0.2; } /* .browse-widget .list .item.pinned + :not(.pinned) { border-top: solid 1px rgba(255, 255, 255, 0.3); } */ .browse-widget .list .pinned-separator:first-child, .browse-widget .list .pinned-separator:last-child { display: none; } /* Metadata viewer */ .item-value-view .text:first-child, .browse-widget.table-view .list .item .text:first-child { width: 50%; font-weight: bold; } .item-value-view .text:nth-child(2), .browse-widget.table-view .list .item .text:nth-child(2) { font-style: italic; -moz-user-select: auto; -webkit-user-select: auto; -o-user-select: auto; -ms-user-select: auto; user-select: auto; cursor: text; } /* Collection list */ .browse-widget.collection-list .list .item .text[cropped]:after { content: "(cropped)"; margin-left: 5px; opacity: 0.5; font-style: italic; } .browse-widget.collection-list .list .item .text[unsaved]:after { content: "*"; margin-left: 0px; opacity: 0.5; font-style: italic; } .browse-widget.collection-list .list .item .text[unsaved][cropped]:after { content: "* (cropped)"; margin-left: 0px; opacity: 0.5; font-style: italic; } /* Feature list */ .browse-widget.feature-list .list .item[root="true"] .text:after { content: "*"; margin-left: 0px; opacity: 0.5; font-style: italic; } /* External Editor List */ .browse-widget.editor-list .list .item:first-child .text:after { content: "(primary)"; margin-left: 5px; opacity: 0.5; font-style: italic; } /* XXX this is ugly -- use a class... */ .browse-widget.editor-list .list .item:first-child .button:nth-child(4) { opacity: 0.1; } .browse-widget.editor-list .list .item:nth-child(2):not(:last-child) .text:after { content: "(secondary)"; margin-left: 5px; opacity: 0.5; font-style: italic; } /* XXX this is ugly -- use a class... */ .browse-widget.editor-list .list .item:nth-child(2) .button:nth-child(3) { opacity: 0.1; } /* slideshow interval list... */ .browse-widget.tail-action .list .item:last-child { margin-top: 0.2em; border-top: solid 1px rgba(255,255,255, 0.2); } .browse-widget.tail-action .list .item:last-child .text { font-style: italic; } .browse-widget.tail-action .list .item:last-child .button { /*display: none;*/ } /* do not show top border if after another action or separator... */ .browse-widget .list>.warn { background-color: yellow !important; color: red !important; font-weight: bolder !important; } /* Dialog highlight experiment... */ .browse-widget { border-bottom: solid 7px rgba(100, 100, 100, 0.5); } /* .light .browse-widget { border-bottom: solid 7px rgba(100, 100, 100, 0.5); } .dark .browse-widget { border-bottom: solid 7px rgba(100, 100, 100, 0.5); } */ .browse-widget.file-browser { border-bottom: solid 7px rgba(255, 255, 0, 0.5); } /* .light .browse-widget.file-browser { border-bottom: solid 7px rgba(255, 255, 0, 0.5); } .dark .browse-widget.file-browser { border-bottom: solid 7px rgba(255, 255, 0, 0.5); } */ /* XXX not sure about these... */ .browse-widget.save-history, .browse-widget.location-history { border-bottom: solid 7px rgba(0, 0, 255, 0.2); } /* XXX experimental key mappings... */ .browse-widget.show-keys .list .item:after { display: inline; position: relative; content: attr(keys); float: right; margin-left: 0.5em; margin-right: 0.5em; opacity: 0.3; font-style: italic; } .browse-widget.show-keys .list .item.disabled:after { opacity: 0.5; } .browse-widget.show-keys .list .item:hover:after { opacity: 0.5; } .browse-widget.show-keys .list .item.disabled:hover:after { opacity: 1; } /* make buttons a bit different in action browser... */ .browse-widget.browse-actions .list .button { background-color: rgba(0, 0, 0, 0.12); } .dark .browse-widget.browse-actions .list .button { background-color: rgba(255, 255, 255, 0.2); } /* key binding editor... */ .browse-widget.key-bindings .list .item:not(.selected):not(.mode):nth-child(even) { background: rgba(0, 0, 0, 0.03); } .browse-widget.key-bindings .list .item .button { background-color: rgba(0, 0, 0, 0.12); } .browse-widget.key-bindings .list>.drop-list .text:first-child { font-weight: bold; font-style: italic; } .browse-widget.key-bindings .list>.special-action .text:first-child { font-style: italic; font-weight: bold; } .browse-widget.key-bindings .list>.info { font-style: italic; } .browse-widget.key-bindings .list .item .text:not(:first-child) { display: inline; position: relative; float: right; margin-left: 1em; margin-right: 1em; opacity: 0.8; font-style: italic; } /* NOTE: the last element is a space... */ .browse-widget.key-bindings.browse .list .item .text:last-child { margin-right: 0em; } /* key doc... */ .browse-widget.key-bindings .list>.key[doc]:after { display: inline; content: " -- " attr(doc); font-style: italic; opacity: 0.5; margin-left: 0.5em; } .browse-widget.key-bindings.edit .list>.key.non-action:before { display: inline; content: " (non-action) "; opacity: 0.5; margin-left: 0.5em; float: none; } .browse-widget.key-bindings .list>.new { font-style: italic; } .browse-widget.key-bindings .list>.new:not(.selected) { opacity: 0.3; } .browse-widget.key-bindings .list>.new.selected { } /* dark theme... */ .dark .browse-widget.key-bindings .list .item:not(.selected):not(.mode):nth-child(even) { background: rgba(255, 255, 255, 0.03); } /* light theme... */ .light .browse-widget.key-bindings .list>.key[doc]:after { opacity: 0.7; } /* help... */ .help-dialog { max-width: 80vw; max-height: 80vh; overflow: auto; padding: 1em; padding-bottom: 2em; background: white; } /* scrollbar setup... */ .help-dialog::-webkit-scrollbar { width: 10px; height: 10px; } .help-dialog::-webkit-scrollbar-button { display: none; } .help-dialog::-webkit-scrollbar-track { } .help-dialog::-webkit-scrollbar-track-piece { background: transparent; } .help-dialog::-webkit-scrollbar-track-piece { background: rgba(0, 0, 0, 0.05); } .help-dialog::-webkit-scrollbar-thumb { background: rgba(0, 0, 0, 0.15); } .help-dialog::-webkit-scrollbar-thumb:hover { background: rgba(0, 0, 0, 0.3); } .help-dialog::-webkit-scrollbar-corner { } .help-dialog::-webkit-resizer { } .help-dialog .comment { color: gray; font-style: italic; } .help-dialog .warning { color: blue; background: yellow; } /* metadata view */ /* remove preview text and center image... */ .metadata-view .item.index { text-align: center; } .metadata-view .item.preview { text-align: center; opacity: 1; } .metadata-view .index .text, .metadata-view .preview .text { float: initial; } .metadata-view .index .text:first-child, .metadata-view .preview .text:first-child { left: 50%; display: none; } .metadata-view .preview.image { border: rgba(200, 200, 200, 0.3) 1px solid; visibility: visible !important; } .metadata-view .text+.text { font-style: italic; } .metadata-view .text+.text+.text { margin-left: 1em; } .metadata-view small span { opacity: 0.7; } .metadata-view small small { opacity: 0.5; } /* DEBUG stuff... */ .container-center { position: absolute; top: 50%; left: 50%; width: 10px; height: 10px; border-top: solid 1px black; border-left: solid 1px black; } .container-center:after { content: ""; position: absolute; top: -11px; left: -11px; width: 10px; height: 10px; border-top: none; border-left: none; border-bottom: solid 1px black; border-right: solid 1px black; } .point { position: absolute; width: 4px; height: 4px; border: solid 1px blue; margin-top: -2px; margin-left: -2px; background: yellow; transition-origin: 50% 50%; z-index: 9999; } .point { -webkit-transition: all 0.2s linear; -moz-transition: all 0.2s linear; transition: all 0.2s linear; } /* DEBUG end */