/**********************************************************************
* 
* 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);*/
}



/*********************************************************************/

/* 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;
}





/* 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 */

