| 
									
										
										
										
											2013-06-04 16:29:20 +04:00
										 |  |  | /********************************************************************** | 
					
						
							|  |  |  | *  | 
					
						
							|  |  |  | **********************************************************************/ | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-06-06 04:55:04 +04:00
										 |  |  | /******************************************************** Settings ***/ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | @ribbon-mark-offset: 5px; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | @ribbon-mark-size: 10px; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | @single-image-indicator-size: 10px; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-06-04 19:00:25 +04:00
										 |  |  | /********************************************************** Mixins ***/ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | .user-select (@mode: auto) { | 
					
						
							|  |  |  | 	-moz-user-select: @mode; | 
					
						
							|  |  |  | 	-webkit-user-select: @mode; | 
					
						
							|  |  |  | 	-o-user-select: @mode; | 
					
						
							|  |  |  | 	-ms-user-select: @mode; | 
					
						
							|  |  |  | 	user-select: @mode; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | .origin (@x:top, @y:left) { | 
					
						
							|  |  |  | 	-webkit-transform-origin: @arguments; | 
					
						
							|  |  |  | 	-ms-transform-origin: @arguments; | 
					
						
							|  |  |  | 	transform-origin: @arguments; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | .transform (@deg:0deg, @scaleX:1, @scaleY:1) { | 
					
						
							|  |  |  | 	-webkit-transform: rotate(@deg) scaleY(@scaleY) scaleX(@scaleX); | 
					
						
							|  |  |  | 	-moz-transform: rotate(@deg) scaleY(@scaleY) scaleX(@scaleX); | 
					
						
							|  |  |  | 	-o-transform: rotate(@deg) scaleY(@scaleY) scaleX(@scaleX); | 
					
						
							|  |  |  | 	-ms-transform: rotate(@deg) scaleY(@scaleY) scaleX(@scaleX); | 
					
						
							|  |  |  | 	transform: rotate(@deg) scaleY(@scaleY) scaleX(@scaleX); | 
					
						
							|  |  |  | } | 
					
						
							| 
									
										
										
										
											2013-06-09 17:34:24 +04:00
										 |  |  | .scale (@scale) { | 
					
						
							|  |  |  | 	.transform(0deg, @scale, @scale) | 
					
						
							|  |  |  | } | 
					
						
							| 
									
										
										
										
											2013-06-04 19:00:25 +04:00
										 |  |  | .rotate (@deg) { | 
					
						
							|  |  |  | 	.transform(@deg) | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .flipped-vertically () { | 
					
						
							|  |  |  | 	.transform(0deg, 1, -1) | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .flipped-horizontally () { | 
					
						
							|  |  |  | 	.transform(0deg, -1, 1) | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-06-04 23:29:44 +04:00
										 |  |  | /********************************************************* utility ***/ | 
					
						
							|  |  |  | .expanding-text .hidden { | 
					
						
							|  |  |  | 	display: none; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .expanding-text:hover .shown { | 
					
						
							|  |  |  | 	display: none; | 
					
						
							|  |  |  | } | 
					
						
							| 
									
										
										
										
											2013-06-08 15:10:58 +04:00
										 |  |  | .expanding-text .shown, | 
					
						
							| 
									
										
										
										
											2013-06-04 23:29:44 +04:00
										 |  |  | .expanding-text:hover .hidden { | 
					
						
							|  |  |  | 	display: inline; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-06-04 19:00:25 +04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-06-04 23:32:36 +04:00
										 |  |  | /*********************************************************************/ | 
					
						
							| 
									
										
										
										
											2013-06-04 19:00:25 +04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-06-04 16:29:20 +04:00
										 |  |  | body { | 
					
						
							|  |  |  | 	font-family: sans-serif; | 
					
						
							|  |  |  | 	padding: 0px; | 
					
						
							|  |  |  | 	margin: 0px; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-06-08 05:46:57 +04:00
										 |  |  | /************************************************************** UI ***/ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | .title-bar { | 
					
						
							|  |  |  | 	display: block; | 
					
						
							|  |  |  | 	position: fixed; | 
					
						
							|  |  |  | 	content: ""; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	top: 0px; | 
					
						
							|  |  |  | 	left: 0px; | 
					
						
							|  |  |  | 	height: 20px; | 
					
						
							|  |  |  | 	width: 100%; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	color: white; | 
					
						
							|  |  |  | 	background: black; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	overflow: hidden; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	opacity: 0; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	z-index: 10000; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	/* node-webkit */ | 
					
						
							|  |  |  | 	-webkit-app-region: drag; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .title-bar:hover { | 
					
						
							|  |  |  | 	opacity: 1; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | .title-bar .title { | 
					
						
							|  |  |  | 	display: inline-block; | 
					
						
							|  |  |  | 	float: left; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	height: 20px; | 
					
						
							|  |  |  | 	width: auto; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	color: white; | 
					
						
							|  |  |  | 	background: transparent; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	font-size: 11px; | 
					
						
							|  |  |  | 	font-style: italic; | 
					
						
							|  |  |  | 	font-weight: bold; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	vertical-align: middle; | 
					
						
							|  |  |  | 	text-align: left; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	margin: 2px; | 
					
						
							|  |  |  | 	margin-left: 10px; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | .title-bar .button { | 
					
						
							|  |  |  | 	display: inline-block; | 
					
						
							|  |  |  | 	float: right; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	width: 20px; | 
					
						
							|  |  |  | 	height: 20px; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	color: white; | 
					
						
							|  |  |  | 	background: transparent; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	font-size: 18px; | 
					
						
							|  |  |  | 	vertical-align: middle; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	/* node-webkit */ | 
					
						
							|  |  |  | 	-webkit-app-region: no-drag; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .title-bar .button:hover { | 
					
						
							|  |  |  | 	cursor: hand; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | .title-bar .close:hover { | 
					
						
							|  |  |  | 	color: red; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /* | 
					
						
							|  |  |  | .full-screen-mode .title-bar { | 
					
						
							|  |  |  | 	display: none; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-06-04 16:29:20 +04:00
										 |  |  | /********************************************************** Viewer ***/ | 
					
						
							|  |  |  | .viewer { | 
					
						
							|  |  |  | 	position: relative; | 
					
						
							|  |  |  | 	width: 100%; | 
					
						
							|  |  |  | 	height: 100%; | 
					
						
							|  |  |  | 	overflow: hidden; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	/*border: solid blue 1px;*/ | 
					
						
							|  |  |  | 	box-sizing: border-box; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-06-06 04:55:04 +04:00
										 |  |  | 	.user-select(none); | 
					
						
							| 
									
										
										
										
											2013-06-04 16:29:20 +04:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /****************************************************** Ribbon set ***/ | 
					
						
							|  |  |  | .ribbon-set { | 
					
						
							|  |  |  | 	position: absolute; | 
					
						
							|  |  |  | 	display: block; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	/* NOTE: this needs for scaling/zooming to behave correctly and not  | 
					
						
							| 
									
										
										
										
											2013-06-05 15:39:18 +04:00
										 |  |  | 		shift the element, when its dimensions change...  | 
					
						
							|  |  |  | 		...this is because .ribbon-set will both be used for scaling  | 
					
						
							|  |  |  | 		and aligning... */ | 
					
						
							| 
									
										
										
										
											2013-06-04 19:00:25 +04:00
										 |  |  | 	.origin(top, left); | 
					
						
							| 
									
										
										
										
											2013-06-04 16:29:20 +04:00
										 |  |  | } | 
					
						
							|  |  |  | .ribbon-set:empty:after { | 
					
						
							|  |  |  | 	display: block; | 
					
						
							|  |  |  | 	top: 0px; | 
					
						
							|  |  |  | 	left: 0px; | 
					
						
							|  |  |  | 	width: 100%; | 
					
						
							|  |  |  | 	height: 100%; | 
					
						
							|  |  |  | 	content: "Empty"; | 
					
						
							|  |  |  | 	text-align: center; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /********************************************************** Ribbon ***/ | 
					
						
							|  |  |  | .ribbon { | 
					
						
							|  |  |  | 	position: relative; | 
					
						
							|  |  |  | 	display: block; | 
					
						
							|  |  |  | 	height: auto; | 
					
						
							|  |  |  | 	min-width: 0px; | 
					
						
							|  |  |  | 	overflow: visible; | 
					
						
							|  |  |  | 	white-space: nowrap; | 
					
						
							|  |  |  | 	font-size: 0; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	margin-top: 20px; | 
					
						
							|  |  |  | 	margin-bottom: 20px; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .ribbon:empty { | 
					
						
							|  |  |  | 	display: none; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .ribbon:first-child { | 
					
						
							|  |  |  | 	margin-top: 0px; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .ribbon:last-child { | 
					
						
							|  |  |  | 	margin-bottom: 0px; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /*********************************************************** Image ***/ | 
					
						
							|  |  |  | .image { | 
					
						
							|  |  |  | 	position: relative; | 
					
						
							|  |  |  | 	display: inline-block; | 
					
						
							|  |  |  | 	vertical-align: middle; | 
					
						
							|  |  |  | 	text-align:left; | 
					
						
							|  |  |  | 	width: 300px; | 
					
						
							|  |  |  | 	height: 300px; | 
					
						
							|  |  |  | 	font-size: 12pt; | 
					
						
							|  |  |  | 	overflow: hidden; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	box-sizing: border-box; | 
					
						
							|  |  |  | 	color: white; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	text-shadow: black 0.1em 0.1em 0.4em, black 0.1em 0.1em; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	background: no-repeat 50% black; | 
					
						
							|  |  |  | 	background-size: contain; | 
					
						
							|  |  |  | 	/* XXX do we need this? */ | 
					
						
							|  |  |  | 	border: solid black 5px; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .current.image { | 
					
						
							|  |  |  | 	background: no-repeat 50% black; | 
					
						
							|  |  |  | 	background-size: contain; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	/* XXX remove this... */ | 
					
						
							|  |  |  | 	border: solid red 5px; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /* image turning... */ | 
					
						
							|  |  |  | /* NOTE: need to account for proportions after turning... */ | 
					
						
							|  |  |  | .image[orientation="90"] { | 
					
						
							|  |  |  | 	.rotate(90deg); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .image[orientation="180"] { | 
					
						
							| 
									
										
										
										
											2013-06-04 16:32:33 +04:00
										 |  |  | 	.rotate(180deg); | 
					
						
							| 
									
										
										
										
											2013-06-04 16:29:20 +04:00
										 |  |  | } | 
					
						
							|  |  |  | .image[orientation="270"] { | 
					
						
							| 
									
										
										
										
											2013-06-04 16:32:33 +04:00
										 |  |  | 	.rotate(270deg); | 
					
						
							| 
									
										
										
										
											2013-06-04 16:29:20 +04:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /* Flipped vertically only... */ | 
					
						
							|  |  |  | /* NOTE: wee need to do all possible combinations here as we can't  | 
					
						
							|  |  |  |  	combine different parts of a transform attr from different  | 
					
						
							|  |  |  |  	classes */ | 
					
						
							|  |  |  | .image[flipped*="vertical"] { | 
					
						
							| 
									
										
										
										
											2013-06-04 19:00:25 +04:00
										 |  |  | 	.flipped-vertically; | 
					
						
							| 
									
										
										
										
											2013-06-04 16:29:20 +04:00
										 |  |  | } | 
					
						
							|  |  |  | .image[orientation="90"][flipped="vertical"] { | 
					
						
							| 
									
										
										
										
											2013-06-04 19:00:25 +04:00
										 |  |  | 	.transform(90deg, 1, -1) | 
					
						
							| 
									
										
										
										
											2013-06-04 16:29:20 +04:00
										 |  |  | } | 
					
						
							|  |  |  | .image[orientation="180"][flipped="vertical"] { | 
					
						
							| 
									
										
										
										
											2013-06-04 19:00:25 +04:00
										 |  |  | 	.transform(180deg, 1, -1) | 
					
						
							| 
									
										
										
										
											2013-06-04 16:29:20 +04:00
										 |  |  | } | 
					
						
							|  |  |  | .image[orientation="270"][flipped="vertical"] { | 
					
						
							| 
									
										
										
										
											2013-06-04 19:00:25 +04:00
										 |  |  | 	.transform(270deg, 1, -1) | 
					
						
							| 
									
										
										
										
											2013-06-04 16:29:20 +04:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /* Flipped horizontally only... */ | 
					
						
							|  |  |  | .image[flipped*="horizontal"] { | 
					
						
							| 
									
										
										
										
											2013-06-04 19:00:25 +04:00
										 |  |  | 	.flipped-horizontally; | 
					
						
							| 
									
										
										
										
											2013-06-04 16:29:20 +04:00
										 |  |  | } | 
					
						
							|  |  |  | .image[orientation="90"][flipped="horizontal"] { | 
					
						
							| 
									
										
										
										
											2013-06-04 19:00:25 +04:00
										 |  |  | 	.transform(90deg, -1) | 
					
						
							| 
									
										
										
										
											2013-06-04 16:29:20 +04:00
										 |  |  | } | 
					
						
							|  |  |  | .image[orientation="180"][flipped="horizontal"] { | 
					
						
							| 
									
										
										
										
											2013-06-04 19:00:25 +04:00
										 |  |  | 	.transform(180deg, -1) | 
					
						
							| 
									
										
										
										
											2013-06-04 16:29:20 +04:00
										 |  |  | } | 
					
						
							|  |  |  | .image[orientation="270"][flipped="horizontal"] { | 
					
						
							| 
									
										
										
										
											2013-06-04 19:00:25 +04:00
										 |  |  | 	.transform(270deg, -1) | 
					
						
							| 
									
										
										
										
											2013-06-04 16:29:20 +04:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-06-05 15:39:18 +04:00
										 |  |  | /* Flipped vertically and horizontally... */ | 
					
						
							| 
									
										
										
										
											2013-06-04 16:29:20 +04:00
										 |  |  | .image[flipped*="vertical"][flipped*="horizontal"] { | 
					
						
							| 
									
										
										
										
											2013-06-04 19:00:25 +04:00
										 |  |  | 	.transform(0deg, -1, -1) | 
					
						
							| 
									
										
										
										
											2013-06-04 16:29:20 +04:00
										 |  |  | } | 
					
						
							|  |  |  | .image[orientation="90"][flipped*="vertical"][flipped*="horizontal"] { | 
					
						
							| 
									
										
										
										
											2013-06-04 19:00:25 +04:00
										 |  |  | 	.transform(90deg, -1, -1) | 
					
						
							| 
									
										
										
										
											2013-06-04 16:29:20 +04:00
										 |  |  | } | 
					
						
							|  |  |  | .image[orientation="180"][flipped*="vertical"][flipped*="horizontal"] { | 
					
						
							| 
									
										
										
										
											2013-06-04 19:00:25 +04:00
										 |  |  | 	.transform(180deg, -1, -1) | 
					
						
							| 
									
										
										
										
											2013-06-04 16:29:20 +04:00
										 |  |  | } | 
					
						
							|  |  |  | .image[orientation="270"][flipped*="vertical"][flipped*="horizontal"] { | 
					
						
							| 
									
										
										
										
											2013-06-04 19:00:25 +04:00
										 |  |  | 	.transform(270deg, -1, -1) | 
					
						
							| 
									
										
										
										
											2013-06-04 16:29:20 +04:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /* default backgrounds */ | 
					
						
							| 
									
										
										
										
											2013-06-04 23:32:36 +04:00
										 |  |  | /* XXX not sure if we need these...  | 
					
						
							| 
									
										
										
										
											2013-06-04 16:29:20 +04:00
										 |  |  | .image { | 
					
						
							|  |  |  | 	background-image: url(images/loading.gif); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .image[orientation="90"] { | 
					
						
							|  |  |  | 	background-image: url(images/loading-90deg.gif); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .image[orientation="180"] { | 
					
						
							|  |  |  | 	background-image: url(images/loading-180deg.gif); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .image[orientation="270"] { | 
					
						
							|  |  |  | 	background-image: url(images/loading-270deg.gif); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /***************************************************** Image marks ***/ | 
					
						
							| 
									
										
										
										
											2013-06-04 21:33:59 +04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-06-04 16:29:20 +04:00
										 |  |  | .marks-visible.viewer .marked.image:after { | 
					
						
							|  |  |  | 	display: block; | 
					
						
							|  |  |  | 	position: absolute; | 
					
						
							|  |  |  | 	content: ""; | 
					
						
							|  |  |  | 	font-size: 0pt; | 
					
						
							|  |  |  | 	border: none; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-06-06 04:55:04 +04:00
										 |  |  | 	width: @ribbon-mark-size; | 
					
						
							|  |  |  | 	height: @ribbon-mark-size; | 
					
						
							| 
									
										
										
										
											2013-06-04 16:29:20 +04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-06-04 19:00:25 +04:00
										 |  |  | 	top: auto; | 
					
						
							| 
									
										
										
										
											2013-06-06 04:55:04 +04:00
										 |  |  | 	bottom: @ribbon-mark-offset; | 
					
						
							| 
									
										
										
										
											2013-06-04 19:00:25 +04:00
										 |  |  | 	left: auto; | 
					
						
							| 
									
										
										
										
											2013-06-06 04:55:04 +04:00
										 |  |  | 	right: @ribbon-mark-offset; | 
					
						
							| 
									
										
										
										
											2013-06-04 16:29:20 +04:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	border-radius: 50%; | 
					
						
							|  |  |  | 	background: blue; | 
					
						
							|  |  |  | } | 
					
						
							| 
									
										
										
										
											2013-06-04 19:00:25 +04:00
										 |  |  | .marks-visible.viewer .marked.image[orientation="270"][flipped*="vertical"][flipped*="horizontal"]:after, | 
					
						
							|  |  |  | .marks-visible.viewer .marked.image:not([orientation])[flipped*="vertical"]:after, | 
					
						
							|  |  |  | .marks-visible.viewer .marked.image[orientation="0"][flipped*="vertical"]:after, | 
					
						
							|  |  |  | .marks-visible.viewer .marked.image[orientation="180"][flipped="horizontal"]:after, | 
					
						
							|  |  |  | .marks-visible.viewer .marked.image[orientation="90"]:not([flipped]):after { | 
					
						
							| 
									
										
										
										
											2013-06-06 04:55:04 +04:00
										 |  |  | 	top: @ribbon-mark-offset; | 
					
						
							| 
									
										
										
										
											2013-06-04 19:00:25 +04:00
										 |  |  | 	bottom: auto: | 
					
						
							|  |  |  | 	left: auto; | 
					
						
							| 
									
										
										
										
											2013-06-06 04:55:04 +04:00
										 |  |  | 	right: @ribbon-mark-offset; | 
					
						
							| 
									
										
										
										
											2013-06-04 16:29:20 +04:00
										 |  |  | } | 
					
						
							| 
									
										
										
										
											2013-06-04 19:00:25 +04:00
										 |  |  | .marks-visible.viewer .marked.image:not([orientation])[flipped*="vertical"][flipped*="horizontal"]:after, | 
					
						
							|  |  |  | .marks-visible.viewer .marked.image[orientation="0"][flipped*="vertical"][flipped*="horizontal"]:after, | 
					
						
							|  |  |  | .marks-visible.viewer .marked.image[orientation="270"][flipped="vertical"]:after, | 
					
						
							|  |  |  | .marks-visible.viewer .marked.image[orientation="90"][flipped="horizontal"]:after, | 
					
						
							|  |  |  | .marks-visible.viewer .marked.image[orientation="180"]:not([flipped]):after { | 
					
						
							| 
									
										
										
										
											2013-06-06 04:55:04 +04:00
										 |  |  | 	top: @ribbon-mark-offset; | 
					
						
							| 
									
										
										
										
											2013-06-04 19:00:25 +04:00
										 |  |  | 	bottom: auto; | 
					
						
							| 
									
										
										
										
											2013-06-06 04:55:04 +04:00
										 |  |  | 	left: @ribbon-mark-offset; | 
					
						
							| 
									
										
										
										
											2013-06-04 19:00:25 +04:00
										 |  |  | 	right: auto; | 
					
						
							| 
									
										
										
										
											2013-06-04 16:29:20 +04:00
										 |  |  | } | 
					
						
							| 
									
										
										
										
											2013-06-04 19:00:25 +04:00
										 |  |  | .marks-visible.viewer .marked.image[orientation="90"][flipped*="vertical"][flipped*="horizontal"]:after, | 
					
						
							|  |  |  | .marks-visible.viewer .marked.image[orientation="180"][flipped="vertical"]:after, | 
					
						
							|  |  |  | .marks-visible.viewer .marked.image:not([orientation])[flipped*="horizontal"]:after, | 
					
						
							|  |  |  | .marks-visible.viewer .marked.image[orientation="0"][flipped*="horizontal"]:after, | 
					
						
							|  |  |  | .marks-visible.viewer .marked.image[orientation="270"]:not([flipped]):after { | 
					
						
							|  |  |  | 	top: auto; | 
					
						
							| 
									
										
										
										
											2013-06-06 04:55:04 +04:00
										 |  |  | 	bottom: @ribbon-mark-offset; | 
					
						
							|  |  |  | 	left: @ribbon-mark-offset; | 
					
						
							| 
									
										
										
										
											2013-06-04 19:00:25 +04:00
										 |  |  | 	right: auto; | 
					
						
							| 
									
										
										
										
											2013-06-04 16:29:20 +04:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-06-04 21:33:59 +04:00
										 |  |  | /* NOTE: we use a different mark representation for single image mode... */ | 
					
						
							| 
									
										
										
										
											2013-06-04 16:29:20 +04:00
										 |  |  | .marks-visible.single-image-mode.viewer .marked.image:after { | 
					
						
							|  |  |  | 	display: none; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-06-05 15:39:18 +04:00
										 |  |  | /* corner mark... (a-la bookmarks in PortableMag)  | 
					
						
							|  |  |  |  * XXX account for flipping... */ | 
					
						
							| 
									
										
										
										
											2013-06-04 16:29:20 +04:00
										 |  |  | /* | 
					
						
							| 
									
										
										
										
											2013-06-06 04:55:04 +04:00
										 |  |  | @ribbon-mark-offset: -15px; | 
					
						
							| 
									
										
										
										
											2013-06-05 15:39:18 +04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-06-04 16:29:20 +04:00
										 |  |  | .marks-visible.viewer .marked.image:after { | 
					
						
							|  |  |  | 	display: block; | 
					
						
							|  |  |  | 	position: absolute; | 
					
						
							|  |  |  | 	content: ""; | 
					
						
							|  |  |  | 	font-size: 0pt; | 
					
						
							|  |  |  | 	border: none; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	width: 30px; | 
					
						
							|  |  |  | 	height: 30px; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-06-06 04:55:04 +04:00
										 |  |  | 	top: @ribbon-mark-offset; | 
					
						
							|  |  |  | 	right: @ribbon-mark-offset; | 
					
						
							| 
									
										
										
										
											2013-06-04 16:29:20 +04:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	background: blue; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-06-04 19:00:25 +04:00
										 |  |  | 	.rotate(45deg) | 
					
						
							| 
									
										
										
										
											2013-06-04 16:29:20 +04:00
										 |  |  | } | 
					
						
							|  |  |  | .marks-visible.viewer .marked.image[orientation="90"]:after { | 
					
						
							| 
									
										
										
										
											2013-06-06 04:55:04 +04:00
										 |  |  | 	top: @ribbon-mark-offset; | 
					
						
							|  |  |  | 	left: @ribbon-mark-offset; | 
					
						
							| 
									
										
										
										
											2013-06-04 16:29:20 +04:00
										 |  |  | } | 
					
						
							|  |  |  | .marks-visible.viewer .marked.image[orientation="180"]:after { | 
					
						
							| 
									
										
										
										
											2013-06-06 04:55:04 +04:00
										 |  |  | 	bottom: @ribbon-mark-offset; | 
					
						
							|  |  |  | 	left: @ribbon-mark-offset; | 
					
						
							| 
									
										
										
										
											2013-06-04 16:29:20 +04:00
										 |  |  | } | 
					
						
							|  |  |  | .marks-visible.viewer .marked.image[orientation="270"]:after { | 
					
						
							| 
									
										
										
										
											2013-06-06 04:55:04 +04:00
										 |  |  | 	bottom: @ribbon-mark-offset; | 
					
						
							|  |  |  | 	right: @ribbon-mark-offset; | 
					
						
							| 
									
										
										
										
											2013-06-04 16:29:20 +04:00
										 |  |  | } | 
					
						
							|  |  |  | */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /* XXX should we use opacity??? */ | 
					
						
							|  |  |  | .marked-only-view.viewer:not(.marks-visible) .image:not(.marked) { | 
					
						
							|  |  |  | 	opacity: 0.3; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /****************************************************** Image info ***/ | 
					
						
							|  |  |  | .image .inline-image-info { | 
					
						
							|  |  |  | 	display: none; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	position: absolute; | 
					
						
							|  |  |  | 	bottom: 0px; | 
					
						
							|  |  |  | 	width: 100%; | 
					
						
							|  |  |  | 	background: black; | 
					
						
							|  |  |  | 	opacity: 0.7; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .image .inline-image-info:hover { | 
					
						
							| 
									
										
										
										
											2013-06-04 19:00:25 +04:00
										 |  |  | 	.user-select(auto); | 
					
						
							| 
									
										
										
										
											2013-06-04 16:29:20 +04:00
										 |  |  | } | 
					
						
							|  |  |  | .image .inline-image-info::selection { | 
					
						
							|  |  |  | 	color: white; | 
					
						
							|  |  |  | 	background: red; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .image-info-visible.viewer .global-image-info, | 
					
						
							|  |  |  | .image-info-visible.viewer .image:hover .inline-image-info { | 
					
						
							|  |  |  | 	display: block; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .single-image-mode.viewer .image:hover .inline-image-info { | 
					
						
							|  |  |  | 	display: none; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .image[orientation="90"] .inline-image-info { | 
					
						
							|  |  |  | 	top: auto; | 
					
						
							|  |  |  | 	left: 100%; | 
					
						
							| 
									
										
										
										
											2013-06-04 19:00:25 +04:00
										 |  |  | 	.origin(bottom, left); | 
					
						
							|  |  |  | 	.rotate(-90deg); | 
					
						
							| 
									
										
										
										
											2013-06-04 16:29:20 +04:00
										 |  |  | } | 
					
						
							|  |  |  | .image[orientation="180"] .inline-image-info { | 
					
						
							|  |  |  | 	top: 0px; | 
					
						
							|  |  |  | 	bottom: auto; | 
					
						
							| 
									
										
										
										
											2013-06-04 19:00:25 +04:00
										 |  |  | 	.rotate(180deg); | 
					
						
							| 
									
										
										
										
											2013-06-04 16:29:20 +04:00
										 |  |  | } | 
					
						
							|  |  |  | .image[orientation="270"] .inline-image-info { | 
					
						
							|  |  |  | 	top: auto; | 
					
						
							|  |  |  | 	left: auto; | 
					
						
							|  |  |  | 	right: 100%; | 
					
						
							| 
									
										
										
										
											2013-06-04 19:00:25 +04:00
										 |  |  | 	.origin(bottom, right); | 
					
						
							|  |  |  | 	.rotate(90deg); | 
					
						
							| 
									
										
										
										
											2013-06-04 16:29:20 +04:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-06-04 21:45:36 +04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-06-04 21:33:59 +04:00
										 |  |  | /* compensate for flipping... */ | 
					
						
							| 
									
										
										
										
											2013-06-04 21:45:36 +04:00
										 |  |  | /* XXX START: I hate this code, will think if a better way to do this... */ | 
					
						
							| 
									
										
										
										
											2013-06-04 21:33:59 +04:00
										 |  |  | .image:not([orientation="90"])[flipped*="horizontal"] .inline-image-info { | 
					
						
							|  |  |  | 	.flipped-horizontally; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .image[orientation="90"][flipped*="horizontal"] .inline-image-info { | 
					
						
							|  |  |  | 	top: auto; | 
					
						
							|  |  |  | 	bottom: 100%; | 
					
						
							|  |  |  | 	left: -100%; | 
					
						
							|  |  |  | 	right: auto; | 
					
						
							|  |  |  | 	.origin(bottom, right); | 
					
						
							|  |  |  | 	.transform(90deg, -1, 1); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .image[orientation="180"][flipped*="horizontal"] .inline-image-info { | 
					
						
							|  |  |  | 	top: auto; | 
					
						
							|  |  |  | 	bottom: 100%; | 
					
						
							|  |  |  | 	left: 0px; | 
					
						
							|  |  |  | 	right: auto; | 
					
						
							|  |  |  | 	.origin(bottom, right); | 
					
						
							|  |  |  | 	.transform(180deg, -1, 1); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .image[orientation="270"][flipped*="horizontal"] .inline-image-info { | 
					
						
							|  |  |  | 	top: auto; | 
					
						
							|  |  |  | 	bottom: 0px; | 
					
						
							|  |  |  | 	left: 0px; | 
					
						
							|  |  |  | 	right: auto; | 
					
						
							|  |  |  | 	.origin(bottom, right); | 
					
						
							|  |  |  | 	.transform(270deg, -1, 1); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | .image[flipped*="vertical"] .inline-image-info { | 
					
						
							|  |  |  | 	top: 0px; | 
					
						
							|  |  |  | 	bottom: auto; | 
					
						
							|  |  |  | 	.flipped-vertically; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .image[orientation="90"][flipped*="vertical"] .inline-image-info { | 
					
						
							|  |  |  | 	top: auto; | 
					
						
							|  |  |  | 	bottom: 100%; | 
					
						
							|  |  |  | 	left: 100%; | 
					
						
							|  |  |  | 	right: auto; | 
					
						
							|  |  |  | 	.origin(bottom, left); | 
					
						
							|  |  |  | 	.transform(-270deg, 1, -1); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .image[orientation="180"][flipped*="vertical"] .inline-image-info { | 
					
						
							|  |  |  | 	top: auto; | 
					
						
							|  |  |  | 	bottom: 0px; | 
					
						
							|  |  |  | 	left: -100%; | 
					
						
							|  |  |  | 	right: auto; | 
					
						
							|  |  |  | 	.origin(bottom, right); | 
					
						
							|  |  |  | 	.transform(180deg, 1, -1); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .image[orientation="270"][flipped*="vertical"] .inline-image-info { | 
					
						
							|  |  |  | 	top: auto; | 
					
						
							|  |  |  | 	bottom: 100%; | 
					
						
							|  |  |  | 	left: -100%; | 
					
						
							|  |  |  | 	right: auto; | 
					
						
							|  |  |  | 	.origin(bottom, right); | 
					
						
							|  |  |  | 	.transform(270deg, 1, -1); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | .image[flipped*="vertical"][flipped*="horizontal"] .inline-image-info { | 
					
						
							|  |  |  | 	top: 0px; | 
					
						
							|  |  |  | 	bottom: auto; | 
					
						
							|  |  |  | 	.transform(0deg, -1, -1); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .image[orientation="90"][flipped*="vertical"][flipped*="horizontal"] .inline-image-info { | 
					
						
							|  |  |  | 	top: auto; | 
					
						
							|  |  |  | 	bottom: 0px; | 
					
						
							|  |  |  | 	left: -100%; | 
					
						
							|  |  |  | 	right: auto; | 
					
						
							|  |  |  | 	.origin(bottom, right); | 
					
						
							|  |  |  | 	.transform(-90deg, -1, -1); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .image[orientation="180"][flipped*="vertical"][flipped*="horizontal"] .inline-image-info { | 
					
						
							|  |  |  | 	top: auto; | 
					
						
							|  |  |  | 	bottom: 0px; | 
					
						
							|  |  |  | 	left: auto; | 
					
						
							|  |  |  | 	right: auto; | 
					
						
							|  |  |  | 	.origin(bottom, right); | 
					
						
							|  |  |  | 	.transform(180deg, -1, -1); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .image[orientation="270"][flipped*="vertical"][flipped*="horizontal"] .inline-image-info { | 
					
						
							|  |  |  | 	top: auto; | 
					
						
							|  |  |  | 	bottom: 100%; | 
					
						
							|  |  |  | 	left: auto; | 
					
						
							|  |  |  | 	right: auto; | 
					
						
							|  |  |  | 	.origin(bottom, right); | 
					
						
							|  |  |  | 	.transform(90deg, -1, -1); | 
					
						
							|  |  |  | } | 
					
						
							| 
									
										
										
										
											2013-06-04 21:45:36 +04:00
										 |  |  | /* XXX END */ | 
					
						
							| 
									
										
										
										
											2013-06-04 21:33:59 +04:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-06-04 16:29:20 +04:00
										 |  |  | .overlay-info { | 
					
						
							|  |  |  | 	display: none; | 
					
						
							|  |  |  | 	position: absolute; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	bottom: 0px; | 
					
						
							|  |  |  | 	left: 0px; | 
					
						
							|  |  |  | 	width: 100%; | 
					
						
							|  |  |  | 	padding: 2px; | 
					
						
							|  |  |  | 	padding-left: 10px; | 
					
						
							|  |  |  | 	padding-right: 10px; | 
					
						
							|  |  |  | 	box-sizing: border-box; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	background: black; | 
					
						
							|  |  |  | 	color: white; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	opacity: 0.6; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .overlay-info:hover { | 
					
						
							| 
									
										
										
										
											2013-06-04 19:00:25 +04:00
										 |  |  | 	.user-select(auto); | 
					
						
							| 
									
										
										
										
											2013-06-04 16:29:20 +04:00
										 |  |  | } | 
					
						
							|  |  |  | .overlay-info .float-right { | 
					
						
							|  |  |  | 	float: right; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .overlay-info .secondary { | 
					
						
							|  |  |  | 	font-style: italic; | 
					
						
							|  |  |  | 	font-size: small; | 
					
						
							|  |  |  | 	color: silver; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .overlay-info::selection, | 
					
						
							|  |  |  | .overlay-info ::selection { | 
					
						
							|  |  |  | 	color: white; | 
					
						
							|  |  |  | 	background: red; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /*************************************************** Global status ***/ | 
					
						
							|  |  |  | .global-status { | 
					
						
							|  |  |  | 	display: block; | 
					
						
							|  |  |  | 	opacity: 1; | 
					
						
							|  |  |  | 	z-index: 1000; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /****************************************************** Indicators ***/ | 
					
						
							|  |  |  | .up-indicator, | 
					
						
							|  |  |  | .down-indicator, | 
					
						
							|  |  |  | .start-indicator, | 
					
						
							| 
									
										
										
										
											2013-06-08 02:29:14 +04:00
										 |  |  | .end-indicator, | 
					
						
							|  |  |  | .top-indicator, | 
					
						
							|  |  |  | .bottom-indicator | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2013-06-04 16:29:20 +04:00
										 |  |  | 	display: block; | 
					
						
							|  |  |  | 	position: absolute; | 
					
						
							|  |  |  | 	content: ""; | 
					
						
							|  |  |  | 	top: 0px; | 
					
						
							|  |  |  | 	left: 50%; | 
					
						
							|  |  |  | 	height: 50px; | 
					
						
							|  |  |  | 	width: 100px; | 
					
						
							|  |  |  | 	margin-left: -50px; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	overflow: hidden; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	cursor: hand; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .up-indicator:after, | 
					
						
							|  |  |  | .down-indicator:after { | 
					
						
							|  |  |  | 	display: inline-block; | 
					
						
							|  |  |  | 	position: absolute; | 
					
						
							|  |  |  | 	content: ""; | 
					
						
							|  |  |  | 	width: 50px; | 
					
						
							|  |  |  | 	height: 50px; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	bottom: -25px; | 
					
						
							|  |  |  | 	left: 25px; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	background: yellow; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-06-04 19:00:25 +04:00
										 |  |  | 	.rotate(45deg); | 
					
						
							| 
									
										
										
										
											2013-06-04 16:29:20 +04:00
										 |  |  | } | 
					
						
							|  |  |  | .down-indicator { | 
					
						
							|  |  |  | 	top: auto; | 
					
						
							|  |  |  | 	bottom: 0px; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .down-indicator:after { | 
					
						
							|  |  |  | 	top: -25px; | 
					
						
							|  |  |  | 	bottom: auto; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .start-indicator, | 
					
						
							|  |  |  | .end-indicator { | 
					
						
							|  |  |  | 	left: 0px; | 
					
						
							|  |  |  | 	width: 10px; | 
					
						
							|  |  |  | 	height: 100%; | 
					
						
							|  |  |  | 	margin: 0px; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	background: yellow; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .end-indicator { | 
					
						
							|  |  |  | 	left: auto; | 
					
						
							|  |  |  | 	right: 0px; | 
					
						
							|  |  |  | } | 
					
						
							| 
									
										
										
										
											2013-06-08 02:29:14 +04:00
										 |  |  | .top-indicator, | 
					
						
							|  |  |  | .bottom-indicator { | 
					
						
							|  |  |  | 	left: 0px; | 
					
						
							|  |  |  | 	height: 10px; | 
					
						
							|  |  |  | 	width: 100%; | 
					
						
							|  |  |  | 	margin: 0px; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	background: yellow; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .bottom-indicator { | 
					
						
							|  |  |  | 	top: auto; | 
					
						
							|  |  |  | 	bottom: 0px; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-06-04 16:29:20 +04:00
										 |  |  | /* default state */ | 
					
						
							|  |  |  | .up-indicator, | 
					
						
							|  |  |  | .down-indicator, | 
					
						
							|  |  |  | .start-indicator, | 
					
						
							| 
									
										
										
										
											2013-06-08 02:29:14 +04:00
										 |  |  | .end-indicator,  | 
					
						
							|  |  |  | .top-indicator, | 
					
						
							|  |  |  | .bottom-indicator | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2013-06-04 16:29:20 +04:00
										 |  |  | 	display: none; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /* these are generic containers for indicators */ | 
					
						
							| 
									
										
										
										
											2013-06-08 01:48:22 +04:00
										 |  |  | .global-mode-indicators, | 
					
						
							|  |  |  | .context-mode-indicators { | 
					
						
							| 
									
										
										
										
											2013-06-04 16:29:20 +04:00
										 |  |  | 	position: absolute; | 
					
						
							|  |  |  | 	height: 20px; | 
					
						
							|  |  |  | 	width: auto; | 
					
						
							| 
									
										
										
										
											2013-06-08 01:48:22 +04:00
										 |  |  | 	min-width: 300px; | 
					
						
							|  |  |  | 	text-align: right; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	color: transparent; | 
					
						
							|  |  |  | } | 
					
						
							| 
									
										
										
										
											2013-06-04 16:29:20 +04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-06-08 01:48:22 +04:00
										 |  |  | .global-mode-indicators { | 
					
						
							| 
									
										
										
										
											2013-06-08 02:29:14 +04:00
										 |  |  | 	top: 20px; | 
					
						
							|  |  |  | 	right: 20px; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .context-mode-indicators { | 
					
						
							|  |  |  | 	right: 20px; | 
					
						
							|  |  |  | 	bottom: 20px; | 
					
						
							| 
									
										
										
										
											2013-06-08 01:48:22 +04:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | .global-mode-indicators .mode-tip, | 
					
						
							|  |  |  | .context-mode-indicators .mode-tip { | 
					
						
							| 
									
										
										
										
											2013-06-08 02:29:14 +04:00
										 |  |  | 	display: none; | 
					
						
							| 
									
										
										
										
											2013-06-08 01:48:22 +04:00
										 |  |  | 	opacity: 0.5; | 
					
						
							|  |  |  | 	font-weight: bold; | 
					
						
							| 
									
										
										
										
											2013-06-08 02:29:14 +04:00
										 |  |  | 	color: gray; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .global-mode-indicators:hover .mode-tip, | 
					
						
							|  |  |  | .context-mode-indicators:hover .mode-tip { | 
					
						
							|  |  |  | 	display: inline-block; | 
					
						
							| 
									
										
										
										
											2013-06-08 01:48:22 +04:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | .global-mode-indicators > *, | 
					
						
							|  |  |  | .context-mode-indicators > * { | 
					
						
							| 
									
										
										
										
											2013-06-04 16:29:20 +04:00
										 |  |  | 	font-size: small; | 
					
						
							| 
									
										
										
										
											2013-06-04 23:29:44 +04:00
										 |  |  | 	vertical-align: center; | 
					
						
							| 
									
										
										
										
											2013-06-04 16:29:20 +04:00
										 |  |  | 	margin-left: 10px; | 
					
						
							|  |  |  | } | 
					
						
							| 
									
										
										
										
											2013-06-08 02:29:14 +04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-06-06 04:55:04 +04:00
										 |  |  | .global-mode-indicators .circle, | 
					
						
							|  |  |  | .context-mode-indicators .circle { | 
					
						
							| 
									
										
										
										
											2013-06-04 16:29:20 +04:00
										 |  |  | 	display: inline-block; | 
					
						
							| 
									
										
										
										
											2013-06-06 04:55:04 +04:00
										 |  |  | 	width: @single-image-indicator-size; | 
					
						
							|  |  |  | 	height: @single-image-indicator-size; | 
					
						
							| 
									
										
										
										
											2013-06-04 16:29:20 +04:00
										 |  |  | 	border-radius: 50%; | 
					
						
							|  |  |  | } | 
					
						
							| 
									
										
										
										
											2013-06-08 01:48:22 +04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-06-04 16:29:20 +04:00
										 |  |  | /* hide indicators in single image mode */ | 
					
						
							|  |  |  | .single-image-mode.viewer .global-mode-indicators { | 
					
						
							|  |  |  | 	opacity: 0.5; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .light.single-image-mode.viewer .global-mode-indicators { | 
					
						
							|  |  |  | 	opacity: 0.1; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .dark.single-image-mode.viewer .global-mode-indicators { | 
					
						
							|  |  |  | 	opacity: 0.6; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .single-image-mode.viewer .global-mode-indicators:hover { | 
					
						
							|  |  |  | 	opacity: 1; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /* actual indicators */ | 
					
						
							|  |  |  | /* marks... */ | 
					
						
							|  |  |  | .global-mode-indicators .marked-only-visible, | 
					
						
							|  |  |  | .global-mode-indicators .marks-visible, | 
					
						
							|  |  |  | .context-mode-indicators .current-image-marked { | 
					
						
							|  |  |  | 	display: none; | 
					
						
							|  |  |  | 	color: blue; | 
					
						
							| 
									
										
										
										
											2013-06-04 23:29:44 +04:00
										 |  |  | 	height: 20px; | 
					
						
							|  |  |  | 	vertical-align: center; | 
					
						
							| 
									
										
										
										
											2013-06-04 16:29:20 +04:00
										 |  |  | } | 
					
						
							|  |  |  | .global-mode-indicators .marked-only-visible .shown, | 
					
						
							|  |  |  | .global-mode-indicators .marks-visible .shown, | 
					
						
							|  |  |  | .context-mode-indicators .current-image-marked .shown { | 
					
						
							|  |  |  | 	display: none; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .global-mode-indicators .marked-only-visible:after, | 
					
						
							|  |  |  | .global-mode-indicators .marks-visible:after, | 
					
						
							|  |  |  | .context-mode-indicators .current-image-marked:after { | 
					
						
							|  |  |  | 	display: inline-block; | 
					
						
							| 
									
										
										
										
											2013-06-04 23:29:44 +04:00
										 |  |  | 	width: 6px; | 
					
						
							|  |  |  | 	height: 6px; | 
					
						
							| 
									
										
										
										
											2013-06-04 16:29:20 +04:00
										 |  |  | 	border-radius: 50%; | 
					
						
							|  |  |  | 	content: ""; | 
					
						
							|  |  |  | 	background-color: blue; | 
					
						
							|  |  |  | 	border: solid 2px blue; | 
					
						
							|  |  |  | 	margin-left: 5px; | 
					
						
							| 
									
										
										
										
											2013-06-04 23:29:44 +04:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	margin-top: 3px; | 
					
						
							|  |  |  | 	top: 50%; | 
					
						
							| 
									
										
										
										
											2013-06-04 16:29:20 +04:00
										 |  |  | } | 
					
						
							|  |  |  | .marks-visible.viewer .global-mode-indicators .marks-visible { | 
					
						
							|  |  |  | 	display: inline-block; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .marked-only-view.viewer .global-mode-indicators .marks-visible { | 
					
						
							|  |  |  | 	display: none; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .marked-only-view.viewer .global-mode-indicators .marked-only-visible { | 
					
						
							|  |  |  | 	display: inline-block; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .marked-only-view.viewer:not(.marks-visible) .global-mode-indicators .marked-only-visible:after { | 
					
						
							|  |  |  | 	background-color: transparent; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | /* image mark in single image mode... */ | 
					
						
							|  |  |  | .context-mode-indicators .current-image-marked { | 
					
						
							|  |  |  | 	display: none; | 
					
						
							|  |  |  | 	color: blue; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .single-image-mode.marks-visible.viewer .context-mode-indicators .current-image-marked.shown { | 
					
						
							|  |  |  | 	display: inline-block; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /********************************************** Mode: single image ***/ | 
					
						
							| 
									
										
										
										
											2013-06-04 23:32:36 +04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-06-04 16:29:20 +04:00
										 |  |  | .single-image-mode.viewer .image { | 
					
						
							|  |  |  | 	background-color: transparent; | 
					
						
							|  |  |  | 	/* NOTE: need to keep a distance from screen borders... */ | 
					
						
							|  |  |  | 	border: solid transparent 2px; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .single-image-mode.viewer .image:not(.current) { | 
					
						
							|  |  |  | 	/* XXX for some reason this breaks the alignment on large magnifications... | 
					
						
							|  |  |  | 	display: none; | 
					
						
							|  |  |  | 	*/ | 
					
						
							|  |  |  | 	/* XXX this makes images pass through the :visible filter... | 
					
						
							|  |  |  | 	opacity: 0; | 
					
						
							|  |  |  | 	*/ | 
					
						
							|  |  |  | 	visibility: hidden; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /********************************************************** Themes ***/ | 
					
						
							| 
									
										
										
										
											2013-06-04 23:32:36 +04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-06-04 16:29:20 +04:00
										 |  |  | /* XXX this is by no means final... */ | 
					
						
							|  |  |  | .viewer, | 
					
						
							|  |  |  | .light.viewer, | 
					
						
							|  |  |  | .light.viewer .overlay-block .background { | 
					
						
							|  |  |  | 	background: white; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | .gray.viewer, | 
					
						
							|  |  |  | .gray.viewer .overlay-block .background { | 
					
						
							|  |  |  | 	background: #333; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | .dark.viewer, | 
					
						
							|  |  |  | .dark.viewer .overlay-block .background { | 
					
						
							|  |  |  | 	background: #0a0a0a; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-06-10 07:49:20 +04:00
										 |  |  | .large.viewer:not(.single-image-mode) .current.image { | 
					
						
							| 
									
										
										
										
											2013-06-09 17:34:24 +04:00
										 |  |  | 	border-width: 3px; | 
					
						
							|  |  |  | } | 
					
						
							| 
									
										
										
										
											2013-06-10 07:49:20 +04:00
										 |  |  | .large.viewer:not(.single-image-mode) .marked.image:after { | 
					
						
							| 
									
										
										
										
											2013-06-09 17:34:24 +04:00
										 |  |  | 	.scale(0.7); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-06-10 07:49:20 +04:00
										 |  |  | .small.viewer:not(.single-image-mode) .marked.image:after { | 
					
						
							| 
									
										
										
										
											2013-06-09 17:34:24 +04:00
										 |  |  | 	.scale(1.8); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-06-04 16:29:20 +04:00
										 |  |  | 
 | 
					
						
							|  |  |  | /********************************************************* Overlay ***/ | 
					
						
							| 
									
										
										
										
											2013-06-04 23:32:36 +04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-06-04 16:29:20 +04:00
										 |  |  | .overlay-block { | 
					
						
							|  |  |  | 	display: none; | 
					
						
							|  |  |  | 	position: absolute: | 
					
						
							|  |  |  | 	top: 0px; | 
					
						
							|  |  |  | 	left: 0px; | 
					
						
							|  |  |  | 	height: 100%; | 
					
						
							|  |  |  | 	width: 100%; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .viewer.overlay .overlay-block { | 
					
						
							|  |  |  | 	display: block; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .overlay-block .content { | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .overlay-block .background { | 
					
						
							|  |  |  | 	position: absolute: | 
					
						
							|  |  |  | 	top: 0px; | 
					
						
							|  |  |  | 	left: 0px; | 
					
						
							|  |  |  | 	height: 100%; | 
					
						
							|  |  |  | 	width: 100%; | 
					
						
							|  |  |  | 	opacity: 0.7; | 
					
						
							| 
									
										
										
										
											2013-06-10 16:10:16 +04:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	cursor: auto; | 
					
						
							| 
									
										
										
										
											2013-06-04 16:29:20 +04:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /************************************************************ Help ***/ | 
					
						
							| 
									
										
										
										
											2013-06-04 23:32:36 +04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-06-05 15:39:18 +04:00
										 |  |  | /* XXX make this more generic, and not just for the keyboard... */ | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-06-04 16:29:20 +04:00
										 |  |  | /* this is for sliding stuff */ | 
					
						
							|  |  |  | .viewer.drawer-mode { | 
					
						
							|  |  |  | 	box-shadow: 0px 0px 50px 0px silver; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /* help */ | 
					
						
							|  |  |  | .keyboard-help { | 
					
						
							|  |  |  | 	width: 80%; | 
					
						
							|  |  |  | 	margin-top: 20px; | 
					
						
							|  |  |  | 	margin-left: 15%; | 
					
						
							|  |  |  | 	margin-right: 5%; | 
					
						
							|  |  |  | 	margin-bottom: 100px; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .keyboard-help .section-doc { | 
					
						
							|  |  |  | 	font-size: small; | 
					
						
							|  |  |  | 	vertical-align: top; | 
					
						
							|  |  |  | 	font-style: italic; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .keyboard-help th { | 
					
						
							|  |  |  | 	text-align: left; | 
					
						
							|  |  |  | 	height: 50px; | 
					
						
							|  |  |  | 	vertical-align: bottom; | 
					
						
							|  |  |  | 	border-bottom: solid gray 1px; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .keyboard-help tr:hover { | 
					
						
							|  |  |  | 	background: #eee; | 
					
						
							|  |  |  | 	vertical-align: top; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .keyboard-help tr td:first-child { | 
					
						
							|  |  |  | 	color: gray; | 
					
						
							|  |  |  | 	font-style: italic; | 
					
						
							|  |  |  | 	padding-right: 20px; | 
					
						
							|  |  |  | 	padding-left: 10px; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .keyboard-help .section-doc td:only-child { | 
					
						
							|  |  |  | 	padding-right: 0px; | 
					
						
							|  |  |  | 	padding-left: 0px; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /********************************************************************** | 
					
						
							|  |  |  | * vim:set spell ft=css :                                             */ |