| 
									
										
										
										
											2014-07-20 03:02:18 +04:00
										 |  |  | /********************************************************************** | 
					
						
							|  |  |  | *  | 
					
						
							|  |  |  | **********************************************************************/ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /******************************************************** Settings ***/ | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-08-10 16:40:07 +03:00
										 |  |  | // new style config... | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-05-13 02:45:54 +03:00
										 |  |  | //@image-tile-size: 300px; | 
					
						
							|  |  |  | //@image-tile-size: 600px; | 
					
						
							|  |  |  | // Experimental... | 
					
						
							|  |  |  | @image-tile-size: 50vmin; | 
					
						
							| 
									
										
										
										
											2014-11-03 06:20:16 +03:00
										 |  |  | //@image-tile-size: 100vmax; | 
					
						
							| 
									
										
										
										
											2014-07-20 03:02:18 +04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-05-13 02:45:54 +03:00
										 |  |  | @image-mark-size: @image-tile-size/60; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-07-25 02:00:50 +04:00
										 |  |  | // these are relative to image tile size... | 
					
						
							| 
									
										
										
										
											2014-11-03 06:43:23 +03:00
										 |  |  | //@image-border: @image-tile-size/200; | 
					
						
							|  |  |  | @image-border: @image-tile-size/80; | 
					
						
							| 
									
										
										
										
											2014-07-25 02:00:50 +04:00
										 |  |  | @ribbon-margin: @image-tile-size/30; | 
					
						
							|  |  |  | @ribbon-mark-offset: @image-tile-size/200; | 
					
						
							| 
									
										
										
										
											2014-07-20 03:02:18 +04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-05-13 02:45:54 +03:00
										 |  |  | @ribbon-mark-size: @image-tile-size/30; | 
					
						
							|  |  |  | @single-image-indicator-size: @image-tile-size/30; | 
					
						
							| 
									
										
										
										
											2014-07-20 03:02:18 +04:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /********************************************************** Mixins ***/ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | .user-select (@mode: auto) { | 
					
						
							|  |  |  | 	user-select: @mode; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | .origin (@x:top, @y:left) { | 
					
						
							|  |  |  | 	transform-origin: @arguments; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | .transform (@deg:0deg, @scaleX:1, @scaleY:1) { | 
					
						
							|  |  |  | 	transform: rotate(@deg) scaleY(@scaleY) scaleX(@scaleX); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	/* This prevents elements from aligning to sub-pixels...*/ | 
					
						
							|  |  |  | 	/* | 
					
						
							|  |  |  | 	-webkit-transform-style: preserve-3d; | 
					
						
							|  |  |  | 	-moz-transform-style: preserve-3d; | 
					
						
							|  |  |  | 	transform-style: preserve-3d; | 
					
						
							|  |  |  | 	*/ | 
					
						
							|  |  |  | 	 | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .scale (@scale) { | 
					
						
							|  |  |  | 	.transform(0deg, @scale, @scale) | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .rotate (@deg) { | 
					
						
							|  |  |  | 	.transform(@deg) | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .flipped-vertically () { | 
					
						
							|  |  |  | 	.transform(0deg, 1, -1) | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .flipped-horizontally () { | 
					
						
							|  |  |  | 	.transform(0deg, -1, 1) | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | .transition (@attr:all, @t:0.2s, @easing:ease) { | 
					
						
							|  |  |  | 	-webkit-transition: @attr @t @easing; | 
					
						
							|  |  |  | 	-moz-transition: @attr @t @easing; | 
					
						
							|  |  |  | 	-o-transition: @attr @t @easing; | 
					
						
							|  |  |  | 	-ms-transition: @attr @t @easing;	 | 
					
						
							|  |  |  | 	transition: @attr @t @easing; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /********************************************************* utility ***/ | 
					
						
							|  |  |  | .expanding-text .hidden { | 
					
						
							|  |  |  | 	display: none; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .expanding-text:hover .shown { | 
					
						
							|  |  |  | 	display: none; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .expanding-text .shown, | 
					
						
							|  |  |  | .expanding-text:hover .hidden { | 
					
						
							|  |  |  | 	display: inline; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /* XXX cleanup and style...  | 
					
						
							|  |  |  |  	- make the arrow exact (like in .tooltip-right) | 
					
						
							|  |  |  | 	- need to align correctly for really narrow elements... | 
					
						
							|  |  |  | */ | 
					
						
							|  |  |  | [tooltip] { | 
					
						
							|  |  |  | 	position: relative; | 
					
						
							|  |  |  | 	text-decoration: none; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | [tooltip]:after { | 
					
						
							|  |  |  | 	display: none; | 
					
						
							|  |  |  | 	content: attr(tooltip); | 
					
						
							|  |  |  | 	position: absolute; | 
					
						
							|  |  |  | 	bottom: 130%; | 
					
						
							|  |  |  | 	left: 20%; | 
					
						
							|  |  |  | 	background: #ffcb66; | 
					
						
							|  |  |  | 	padding: 5px 15px; | 
					
						
							|  |  |  | 	color: black; | 
					
						
							|  |  |  | 	border-radius: 10px; | 
					
						
							|  |  |  | 	white-space: pre; | 
					
						
							|  |  |  | 	text-align: left; | 
					
						
							|  |  |  | 	font-size: 10px; | 
					
						
							|  |  |  | 	opacity: 0; | 
					
						
							|  |  |  | 	-webkit-transition: all 0.4s ease; | 
					
						
							|  |  |  | 	-moz-transition: all 0.4s ease; | 
					
						
							|  |  |  | 	transition: all 0.4s ease; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | [tooltip]:before { | 
					
						
							|  |  |  | 	display: none; | 
					
						
							|  |  |  | 	content: ""; | 
					
						
							|  |  |  | 	position: absolute; | 
					
						
							|  |  |  | 	width: 0; | 
					
						
							|  |  |  | 	height: 0; | 
					
						
							|  |  |  | 	border-top: 20px solid #ffcb66; | 
					
						
							|  |  |  | 	border-left: 20px solid transparent; | 
					
						
							|  |  |  | 	border-right: 20px solid transparent; | 
					
						
							|  |  |  | 	-webkit-transition: all 0.4s ease; | 
					
						
							|  |  |  | 	-moz-transition : all 0.4s ease; | 
					
						
							|  |  |  | 	transition : all 0.4s ease; | 
					
						
							|  |  |  | 	opacity: 0; | 
					
						
							|  |  |  | 	left: 30%; | 
					
						
							|  |  |  | 	bottom: 90%; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | [tooltip]:hover:after { | 
					
						
							|  |  |  | 	display: block; | 
					
						
							|  |  |  | 	bottom: 100%; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | [tooltip]:hover:before { | 
					
						
							|  |  |  | 	display: block; | 
					
						
							|  |  |  | 	bottom: 70%; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | [tooltip]:hover:after,  | 
					
						
							|  |  |  | [tooltip]:hover:before { | 
					
						
							|  |  |  | 	opacity: 1; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | /* make this above everything else...  | 
					
						
							|  |  |  | * XXX not sure if this is the best way... | 
					
						
							|  |  |  | */ | 
					
						
							|  |  |  | [tooltip]:hover { | 
					
						
							|  |  |  | 	z-index: 1000; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | .tooltip-right[tooltip] { | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .tooltip-right[tooltip]:after { | 
					
						
							|  |  |  | 	min-height: 30px; | 
					
						
							|  |  |  | 	bottom: auto; | 
					
						
							|  |  |  | 	top: -50%; | 
					
						
							|  |  |  | 	left: 15px; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .tooltip-right[tooltip]:before { | 
					
						
							|  |  |  | 	border-left: 5px solid transparent; | 
					
						
							|  |  |  | 	border-right: 5px solid #ffcb66; | 
					
						
							|  |  |  | 	border-bottom: 5px solid transparent; | 
					
						
							|  |  |  | 	border-top: 5px solid transparent; | 
					
						
							|  |  |  | 	bottom: auto; | 
					
						
							|  |  |  | 	left: 5px; | 
					
						
							|  |  |  | 	top: 25%; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .tooltip-right[tooltip]:hover:after { | 
					
						
							|  |  |  | 	bottom: auto; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .tooltip-right[tooltip]:hover:before { | 
					
						
							|  |  |  | 	bottom: auto; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /* XXX might be good to move this to forms... */ | 
					
						
							|  |  |  | .tooltip-icon { | 
					
						
							|  |  |  | 	font-size: small; | 
					
						
							|  |  |  | 	opacity: 0.9; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-03 20:43:24 +03:00
										 |  |  | .cursor-hidden { | 
					
						
							|  |  |  | 	cursor: none; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .cursor-hidden-r, | 
					
						
							|  |  |  | .cursor-hidden-r * { | 
					
						
							|  |  |  | 	cursor: none !important; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-03-20 04:25:22 +03:00
										 |  |  | .blink{ | 
					
						
							|  |  |  | 	animation: blink 200ms; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | @keyframes blink { | 
					
						
							|  |  |  | 	from {  | 
					
						
							|  |  |  | 		opacity: 1;  | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 	to {  | 
					
						
							|  |  |  | 		opacity: 0;  | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-03 20:43:24 +03:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-07-20 03:02:18 +04:00
										 |  |  | /*********************************************************************/ | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-11-10 04:01:53 +03:00
										 |  |  | .svg-filters { | 
					
						
							|  |  |  | 	display: none; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-05-14 22:50:26 +03:00
										 |  |  | :focus { | 
					
						
							|  |  |  | 	outline: rgba(255, 255, 255, 0.5) 1px solid; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-07-20 03:02:18 +04:00
										 |  |  | body { | 
					
						
							| 
									
										
										
										
											2017-12-25 05:50:45 +03:00
										 |  |  | 	font-family: opensans, sans-serif; | 
					
						
							| 
									
										
										
										
											2014-07-20 03:02:18 +04:00
										 |  |  | 	padding: 0px; | 
					
						
							|  |  |  | 	margin: 0px; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | input, | 
					
						
							|  |  |  | button { | 
					
						
							|  |  |  | 	border: solid silver 1px; | 
					
						
							|  |  |  | 	border-radius: 3px; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | button:hover { | 
					
						
							|  |  |  | 	box-shadow: 0px 0px 7px 0px black; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /************************************************************** 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 { | 
					
						
							| 
									
										
										
										
											2016-02-05 08:24:48 +03:00
										 |  |  | 	cursor: pointer; | 
					
						
							| 
									
										
										
										
											2014-07-20 03:02:18 +04:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | .title-bar .close:hover { | 
					
						
							|  |  |  | 	color: red; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /* | 
					
						
							|  |  |  | .full-screen-mode .title-bar { | 
					
						
							|  |  |  | 	display: none; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-11-08 18:57:11 +03:00
										 |  |  | .buttons { | 
					
						
							| 
									
										
										
										
											2016-05-05 01:32:47 +03:00
										 |  |  | 	display: block; | 
					
						
							| 
									
										
										
										
											2016-11-16 04:57:31 +03:00
										 |  |  | 	position: relative; | 
					
						
							|  |  |  | 	float: left; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-05-05 01:32:47 +03:00
										 |  |  | 	size: 30px; | 
					
						
							| 
									
										
										
										
											2016-05-08 15:58:22 +03:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	cursor: default; | 
					
						
							| 
									
										
										
										
											2016-05-08 19:03:04 +03:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-11-15 22:15:14 +03:00
										 |  |  | 	z-index: 4000; | 
					
						
							| 
									
										
										
										
											2016-05-05 01:32:47 +03:00
										 |  |  | } | 
					
						
							| 
									
										
										
										
											2019-08-01 18:45:29 +03:00
										 |  |  | 
 | 
					
						
							|  |  |  | /* general button visibility */ | 
					
						
							|  |  |  | .buttons .button { | 
					
						
							|  |  |  | 	opacity: 0.4; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .buttons:hover .button { | 
					
						
							| 
									
										
										
										
											2016-11-16 04:57:31 +03:00
										 |  |  | 	opacity: 1; | 
					
						
							|  |  |  | } | 
					
						
							| 
									
										
										
										
											2019-08-01 18:45:29 +03:00
										 |  |  | .buttons .button.visible { | 
					
						
							|  |  |  | 	opacity: 1 !important; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .light .buttons .button { | 
					
						
							| 
									
										
										
										
											2016-11-09 04:53:42 +03:00
										 |  |  | 	opacity: 0.5; | 
					
						
							|  |  |  | } | 
					
						
							| 
									
										
										
										
											2019-08-01 18:45:29 +03:00
										 |  |  | .dark .buttons .button { | 
					
						
							| 
									
										
										
										
											2016-11-09 04:53:42 +03:00
										 |  |  | 	opacity: 0.2; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-11-08 18:57:11 +03:00
										 |  |  | .buttons .button { | 
					
						
							| 
									
										
										
										
											2016-05-05 01:32:47 +03:00
										 |  |  | 	display: inline-block; | 
					
						
							|  |  |  | 	color: silver; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-11-09 04:53:42 +03:00
										 |  |  | 	box-sizing: border-box; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	min-width: 40px; | 
					
						
							| 
									
										
										
										
											2016-05-05 01:32:47 +03:00
										 |  |  | 	height: 40px; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-11-09 04:53:42 +03:00
										 |  |  | 	padding-left: 5px; | 
					
						
							|  |  |  | 	padding-right: 5px; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-05-05 01:32:47 +03:00
										 |  |  | 	text-align: center; | 
					
						
							|  |  |  | 	line-height: 40px; | 
					
						
							|  |  |  | } | 
					
						
							| 
									
										
										
										
											2016-11-08 18:57:11 +03:00
										 |  |  | .buttons .button:hover { | 
					
						
							| 
									
										
										
										
											2016-05-05 01:32:47 +03:00
										 |  |  | 	color: white; | 
					
						
							|  |  |  | 	background: rgba(0, 0, 0, 0.5); | 
					
						
							|  |  |  | } | 
					
						
							| 
									
										
										
										
											2016-11-16 04:57:31 +03:00
										 |  |  | .buttons .button.spacer:hover { | 
					
						
							|  |  |  | 	background: transparent; | 
					
						
							|  |  |  | } | 
					
						
							| 
									
										
										
										
											2018-01-06 01:23:41 +03:00
										 |  |  | .buttons .button sub { | 
					
						
							| 
									
										
										
										
											2019-08-01 18:45:29 +03:00
										 |  |  | 	font-size: x-small; | 
					
						
							| 
									
										
										
										
											2018-01-06 01:23:41 +03:00
										 |  |  | } | 
					
						
							| 
									
										
										
										
											2016-11-16 04:57:31 +03:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-01-15 03:59:53 +03:00
										 |  |  | /* Custom buttons... */ | 
					
						
							| 
									
										
										
										
											2016-11-16 04:57:31 +03:00
										 |  |  | .buttons .button.ui-settings { | 
					
						
							|  |  |  | 	opacity: 0.5; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .buttons .button.ui-settings:hover { | 
					
						
							|  |  |  | 	opacity: 1; | 
					
						
							|  |  |  | } | 
					
						
							| 
									
										
										
										
											2016-05-05 01:32:47 +03:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-01-15 03:59:53 +03:00
										 |  |  | .buttons .button.touch-controls:after { | 
					
						
							|  |  |  | 	display: inline-block; | 
					
						
							|  |  |  | 	content: ""; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	width: 0.7em; | 
					
						
							|  |  |  | 	height: 0.6em; | 
					
						
							|  |  |  | 	border: solid 0.05em silver; | 
					
						
							|  |  |  | 	border-left: solid 0.2em silver; | 
					
						
							|  |  |  | 	border-right: solid 0.2em silver; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	border-radius: 1px; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	opacity: 0.5; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .buttons .button.touch-controls:hover:after { | 
					
						
							|  |  |  | 	border: solid 0.05em white; | 
					
						
							|  |  |  | 	border-left: solid 0.2em white; | 
					
						
							|  |  |  | 	border-right: solid 0.2em white; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	opacity: 1; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-11-15 22:15:14 +03:00
										 |  |  | /* main buttons... */ | 
					
						
							|  |  |  | .main-buttons.buttons { | 
					
						
							| 
									
										
										
										
											2016-11-08 18:57:11 +03:00
										 |  |  | 	top: 0px; | 
					
						
							|  |  |  | 	left: 0px; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-11-15 22:15:14 +03:00
										 |  |  | /* secondary buttons... */ | 
					
						
							|  |  |  | .secondary-buttons.buttons { | 
					
						
							|  |  |  | 	top: 0px; | 
					
						
							| 
									
										
										
										
											2016-11-16 04:57:31 +03:00
										 |  |  | 	float: right; | 
					
						
							| 
									
										
										
										
											2016-11-15 22:15:14 +03:00
										 |  |  | } | 
					
						
							| 
									
										
										
										
											2016-11-16 04:57:31 +03:00
										 |  |  | /* | 
					
						
							| 
									
										
										
										
											2016-11-15 22:15:14 +03:00
										 |  |  | .secondary-buttons.buttons { | 
					
						
							|  |  |  | 	top: 40px; | 
					
						
							|  |  |  | 	left: 0px; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .secondary-buttons.buttons .button { | 
					
						
							|  |  |  | 	display: block; | 
					
						
							|  |  |  | } | 
					
						
							| 
									
										
										
										
											2016-11-16 04:57:31 +03:00
										 |  |  | */ | 
					
						
							| 
									
										
										
										
											2016-11-15 22:15:14 +03:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /* app buttons... */ | 
					
						
							|  |  |  | .app-buttons.buttons { | 
					
						
							| 
									
										
										
										
											2016-11-16 04:57:31 +03:00
										 |  |  | 	float: right; | 
					
						
							|  |  |  | 	margin-left: 40px; | 
					
						
							| 
									
										
										
										
											2016-11-15 22:15:14 +03:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	z-index: 9999; | 
					
						
							| 
									
										
										
										
											2016-11-08 18:57:11 +03:00
										 |  |  | } | 
					
						
							| 
									
										
										
										
											2016-11-15 22:15:14 +03:00
										 |  |  | .app-buttons .button.close:hover { | 
					
						
							| 
									
										
										
										
											2016-05-05 01:32:47 +03:00
										 |  |  | 	background: rgba(255, 0, 0, 0.8); | 
					
						
							|  |  |  | } | 
					
						
							| 
									
										
										
										
											2016-11-15 22:15:14 +03:00
										 |  |  | .blur .app-buttons.buttons { | 
					
						
							|  |  |  | 	-webkit-filter: none !important; | 
					
						
							|  |  |  | 	filter: none !important; | 
					
						
							|  |  |  | } | 
					
						
							| 
									
										
										
										
											2016-05-05 01:32:47 +03:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-11-15 23:05:46 +03:00
										 |  |  | /* side buttons... */ | 
					
						
							|  |  |  | .side-buttons-left, | 
					
						
							|  |  |  | .side-buttons-right { | 
					
						
							| 
									
										
										
										
											2016-11-16 04:57:31 +03:00
										 |  |  | 	position: absolute; | 
					
						
							|  |  |  | 	float: auto; | 
					
						
							| 
									
										
										
										
											2016-11-15 23:05:46 +03:00
										 |  |  | 	width: 80px; | 
					
						
							|  |  |  | 	height: 100%; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-12-27 06:18:04 +03:00
										 |  |  | 	opacity: 0.4; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-11-16 04:57:31 +03:00
										 |  |  | 	font-size: larger; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-11-16 00:14:09 +03:00
										 |  |  | 	background: rgba(0, 0, 0, 0.5); | 
					
						
							| 
									
										
										
										
											2016-11-15 23:05:46 +03:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-11-16 01:48:14 +03:00
										 |  |  | 	width: 120px; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-11-15 23:05:46 +03:00
										 |  |  | 	z-index: 900; | 
					
						
							|  |  |  | } | 
					
						
							| 
									
										
										
										
											2016-12-27 06:18:04 +03:00
										 |  |  | .side-buttons-left:hover, | 
					
						
							|  |  |  | .side-buttons-right:hover { | 
					
						
							|  |  |  | 	opacity: 0.4; | 
					
						
							|  |  |  | } | 
					
						
							| 
									
										
										
										
											2016-11-15 23:05:46 +03:00
										 |  |  | .side-buttons-left { | 
					
						
							|  |  |  | 	left: 0px; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .side-buttons-right { | 
					
						
							|  |  |  | 	right: 0px; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .side-buttons-left .button, | 
					
						
							|  |  |  | .side-buttons-right .button { | 
					
						
							|  |  |  | 	display: flex; | 
					
						
							| 
									
										
										
										
											2016-11-16 00:14:09 +03:00
										 |  |  | 	justify-content: center; | 
					
						
							|  |  |  | 	align-content: center; | 
					
						
							|  |  |  | 	flex-direction: row; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	padding: 10px; | 
					
						
							|  |  |  | 	line-height: 10px; | 
					
						
							| 
									
										
										
										
											2016-11-08 18:57:11 +03:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-11-16 01:48:14 +03:00
										 |  |  | 	width: 100%; | 
					
						
							| 
									
										
										
										
											2016-11-15 23:05:46 +03:00
										 |  |  | 	height: 33.3%; | 
					
						
							|  |  |  | } | 
					
						
							| 
									
										
										
										
											2016-11-16 00:14:09 +03:00
										 |  |  | .side-buttons-left .button { | 
					
						
							|  |  |  | 	justify-content: flex-end; | 
					
						
							|  |  |  | 	align-content: flex-start; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .side-buttons-right .button { | 
					
						
							|  |  |  | 	justify-content: flex-start; | 
					
						
							|  |  |  | 	align-content: flex-start; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .side-buttons-left .button:first-child { | 
					
						
							|  |  |  | 	flex-direction: column; | 
					
						
							|  |  |  | 	justify-content: flex-end; | 
					
						
							|  |  |  | 	align-items: flex-end; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .side-buttons-right .button:first-child { | 
					
						
							|  |  |  | 	flex-direction: column; | 
					
						
							|  |  |  | 	justify-content: flex-end; | 
					
						
							|  |  |  | 	align-items: flex-start; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-11-15 23:05:46 +03:00
										 |  |  | .side-buttons-left .button:nth-child(1), | 
					
						
							|  |  |  | .side-buttons-left .button:nth-child(2), | 
					
						
							|  |  |  | .side-buttons-right .button:nth-child(1), | 
					
						
							|  |  |  | .side-buttons-right .button:nth-child(2) { | 
					
						
							|  |  |  | 	height: 16.65%; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .side-buttons-left .button, | 
					
						
							|  |  |  | .side-buttons-right .button { | 
					
						
							|  |  |  | 	border-bottom: solid 1px rgba(255, 255, 255, 0.3); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .side-buttons-left .button:last-child, | 
					
						
							|  |  |  | .side-buttons-right .button:last-child { | 
					
						
							|  |  |  | 	border-bottom: none;  | 
					
						
							|  |  |  | } | 
					
						
							| 
									
										
										
										
											2016-11-08 18:57:11 +03:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-11-16 04:57:31 +03:00
										 |  |  | .light .side-buttons-left, | 
					
						
							|  |  |  | .light .side-buttons-right { | 
					
						
							|  |  |  | 	opacity: 0.3; | 
					
						
							|  |  |  | 	background: rgba(0, 0, 0, 0.3); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .light .side-buttons-left .button, | 
					
						
							|  |  |  | .light .side-buttons-right .button { | 
					
						
							|  |  |  | 	color: white; | 
					
						
							|  |  |  | } | 
					
						
							| 
									
										
										
										
											2016-11-16 00:20:27 +03:00
										 |  |  | .single-image-mode .side-buttons-left, | 
					
						
							|  |  |  | .single-image-mode .side-buttons-right { | 
					
						
							|  |  |  | 	opacity: 0.1; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .single-image-mode.light .side-buttons-left, | 
					
						
							|  |  |  | .single-image-mode.light .side-buttons-right { | 
					
						
							|  |  |  | 	opacity: 0.05; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-11-19 19:58:55 +03:00
										 |  |  | /* XXX not sure if this is the right way to go... */ | 
					
						
							| 
									
										
										
										
											2019-08-01 18:45:29 +03:00
										 |  |  | .single-image-mode .main-buttons:not(:hover) .button, | 
					
						
							|  |  |  | .single-image-mode .app-buttons:not(:hover) .button { | 
					
						
							| 
									
										
										
										
											2016-11-20 01:11:30 +03:00
										 |  |  | 	opacity: 0.1; | 
					
						
							|  |  |  | } | 
					
						
							| 
									
										
										
										
											2019-08-01 18:45:29 +03:00
										 |  |  | .slideshow-running .main-buttons:not(:hover) .button, | 
					
						
							|  |  |  | .slideshow-running .app-buttons:not(:hover) .button { | 
					
						
							| 
									
										
										
										
											2016-11-19 19:58:55 +03:00
										 |  |  | 	opacity: 0; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-11-16 00:20:27 +03:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-11-08 18:57:11 +03:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-07-20 03:02:18 +04:00
										 |  |  | /********************************************************** Viewer ***/ | 
					
						
							|  |  |  | .viewer { | 
					
						
							|  |  |  | 	position: relative; | 
					
						
							| 
									
										
										
										
											2014-07-21 02:30:24 +04:00
										 |  |  | 	width: 100vw; | 
					
						
							|  |  |  | 	height: 100vh; | 
					
						
							| 
									
										
										
										
											2014-07-20 03:02:18 +04:00
										 |  |  | 	overflow: hidden; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	/*border: solid blue 1px;*/ | 
					
						
							|  |  |  | 	box-sizing: border-box; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	.user-select(none); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /* XXX this is a stub for printing help/docs... */ | 
					
						
							|  |  |  | @media print { | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | .viewer { | 
					
						
							|  |  |  | 	display: none; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-11-22 16:52:32 +03:00
										 |  |  | /****************************************** Ribbon set and locator ***/ | 
					
						
							| 
									
										
										
										
											2014-07-20 03:02:18 +04:00
										 |  |  | .ribbon-set { | 
					
						
							|  |  |  | 	position: absolute; | 
					
						
							|  |  |  | 	display: block; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-11-22 16:52:32 +03:00
										 |  |  | 	top: 50%; | 
					
						
							|  |  |  | 	left: 50%; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-07-20 03:02:18 +04:00
										 |  |  | 	/* NOTE: this needs for scaling/zooming to behave correctly and not  | 
					
						
							|  |  |  | 		shift the element, when its dimensions change...  | 
					
						
							|  |  |  | 		...this is because .ribbon-set will both be used for scaling  | 
					
						
							|  |  |  | 		and aligning... */ | 
					
						
							|  |  |  | 	.origin(top, left); | 
					
						
							| 
									
										
										
										
											2017-02-15 02:10:35 +03:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	will-change: transform; | 
					
						
							| 
									
										
										
										
											2014-07-20 03:02:18 +04:00
										 |  |  | } | 
					
						
							| 
									
										
										
										
											2016-11-22 16:52:32 +03:00
										 |  |  | .ribbon-locator { | 
					
						
							|  |  |  | 	position: relative; | 
					
						
							| 
									
										
										
										
											2014-07-20 03:02:18 +04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-11-22 16:52:32 +03:00
										 |  |  | 	top: 0; | 
					
						
							|  |  |  | 	left: 0; | 
					
						
							| 
									
										
										
										
											2017-02-15 02:10:35 +03:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	will-change: transform; | 
					
						
							| 
									
										
										
										
											2014-07-20 03:02:18 +04:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /********************************************************** Ribbon ***/ | 
					
						
							| 
									
										
										
										
											2014-07-25 02:00:50 +04:00
										 |  |  | /* XXX for some reason setting image size in vmin stops this from  | 
					
						
							|  |  |  | stretching in width... */ | 
					
						
							| 
									
										
										
										
											2014-11-15 03:17:21 +03:00
										 |  |  | .shadow, | 
					
						
							| 
									
										
										
										
											2014-07-20 03:02:18 +04:00
										 |  |  | .ribbon { | 
					
						
							|  |  |  | 	position: relative; | 
					
						
							|  |  |  | 	display: block; | 
					
						
							|  |  |  | 	/* XXX BUG: setting this will mess up new ribbon creation.... | 
					
						
							|  |  |  | 	display: inline-block;*/ | 
					
						
							|  |  |  | 	height: auto; | 
					
						
							| 
									
										
										
										
											2014-07-25 02:00:50 +04:00
										 |  |  | 	/*min-width: 0px;*/ | 
					
						
							|  |  |  | 	width: auto; | 
					
						
							| 
									
										
										
										
											2014-07-20 03:02:18 +04:00
										 |  |  | 	overflow: visible; | 
					
						
							|  |  |  | 	white-space: nowrap; | 
					
						
							|  |  |  | 	font-size: 0; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	float: left; | 
					
						
							|  |  |  | 	clear: both; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	background: black; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-07-25 02:00:50 +04:00
										 |  |  | 	margin-top: @ribbon-margin; | 
					
						
							|  |  |  | 	margin-bottom: @ribbon-margin; | 
					
						
							| 
									
										
										
										
											2017-02-15 02:10:35 +03:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	will-change: transform; | 
					
						
							| 
									
										
										
										
											2014-07-20 03:02:18 +04:00
										 |  |  | } | 
					
						
							|  |  |  | .ribbon:empty { | 
					
						
							|  |  |  | 	display: none; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-02-06 02:53:42 +03:00
										 |  |  | /* XXX would be good to make this sticky -- always visible... */ | 
					
						
							|  |  |  | .ribbon[title]:before { | 
					
						
							|  |  |  | 	display: block; | 
					
						
							|  |  |  | 	position: absolute; | 
					
						
							|  |  |  | 	content: attr(title); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	font-size: 52pt; | 
					
						
							|  |  |  | 	font-style: italic; | 
					
						
							|  |  |  | 	font-weight: bold; | 
					
						
							|  |  |  | 	 | 
					
						
							|  |  |  | 	color: white; | 
					
						
							|  |  |  | 	text-shadow: black 2px 2px 15px; | 
					
						
							|  |  |  | 	 | 
					
						
							|  |  |  | 	top: -2pt; | 
					
						
							|  |  |  | 	right: 100%; | 
					
						
							|  |  |  | 	margin-right: 20pt; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .single-image-mode .ribbon[title]:before { | 
					
						
							|  |  |  | 	display: none; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-12-20 20:59:19 +03:00
										 |  |  | .base-ribbon-marker { | 
					
						
							|  |  |  | 	position: absolute; | 
					
						
							|  |  |  | 	height: 100%; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	color: transparent; | 
					
						
							|  |  |  | 	font-size: 20pt; | 
					
						
							|  |  |  | 	font-weight: bold; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .base-ribbon-marker:after { | 
					
						
							|  |  |  | 	content: "base ribbon"; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	display: block; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	position: absolute; | 
					
						
							|  |  |  | 	width: @image-tile-size; | 
					
						
							|  |  |  | 	bottom: 0px; | 
					
						
							|  |  |  | 	left: 0px; | 
					
						
							|  |  |  | 	padding: 5px; | 
					
						
							|  |  |  | 	box-sizing: border-box; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	z-index: 1000; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	color: white; | 
					
						
							|  |  |  | 	background: black; | 
					
						
							|  |  |  | 	opacity: 0.2; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	font-size: 20pt; | 
					
						
							|  |  |  | 	font-weight: bold; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	transform-origin: bottom left; | 
					
						
							|  |  |  | 	transform: rotate(-90deg); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .single-image-mode.viewer .base-ribbon-marker { | 
					
						
							|  |  |  | 	display: none; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-07-20 03:02:18 +04:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /*********************************************************** Image ***/ | 
					
						
							|  |  |  | .marker, | 
					
						
							|  |  |  | .current-marker, | 
					
						
							|  |  |  | .mark, | 
					
						
							|  |  |  | .image { | 
					
						
							|  |  |  | 	position: relative; | 
					
						
							|  |  |  | 	display: inline-block; | 
					
						
							|  |  |  | 	vertical-align: middle; | 
					
						
							|  |  |  | 	text-align:left; | 
					
						
							|  |  |  | 	width: @image-tile-size; | 
					
						
							|  |  |  | 	height: @image-tile-size; | 
					
						
							|  |  |  | 	font-size: 12pt; | 
					
						
							|  |  |  | 	overflow: hidden; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	box-sizing: border-box; | 
					
						
							|  |  |  | 	color: white; | 
					
						
							| 
									
										
										
										
											2019-10-09 03:04:46 +03:00
										 |  |  | 	/* XXX do we need this??? | 
					
						
							|  |  |  | 	text-shadow:  | 
					
						
							|  |  |  | 		black 0.1em 0.1em 0.4em,  | 
					
						
							|  |  |  | 		black 0.1em 0.1em; */ | 
					
						
							| 
									
										
										
										
											2014-07-20 03:02:18 +04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-07-25 02:00:50 +04:00
										 |  |  | 	/* NOTE: we can't set the bg color here because it will get  | 
					
						
							|  |  |  | 	 	affected by filters... */ | 
					
						
							| 
									
										
										
										
											2014-07-20 03:02:18 +04:00
										 |  |  | 	background: no-repeat 50% transparent; | 
					
						
							|  |  |  | 	background-size: contain; | 
					
						
							| 
									
										
										
										
											2014-07-25 02:00:50 +04:00
										 |  |  | 	border: solid @image-border transparent; | 
					
						
							| 
									
										
										
										
											2014-07-20 03:02:18 +04:00
										 |  |  | } | 
					
						
							| 
									
										
										
										
											2017-09-03 05:26:24 +03:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-10-09 03:04:46 +03:00
										 |  |  | .image { | 
					
						
							|  |  |  | 	padding: @single-image-indicator-size; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .image div { | 
					
						
							|  |  |  | 	display: block; | 
					
						
							|  |  |  | 	position: absolute; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	max-width: @image-tile-size; | 
					
						
							|  |  |  | 	width: auto; | 
					
						
							|  |  |  | 	max-height: @image-tile-size; | 
					
						
							|  |  |  | 	height: auto; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	left: 50%; | 
					
						
							|  |  |  | 	top: 50%; | 
					
						
							|  |  |  | 	transform: translate(-50%,-50%); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	white-space: normal; | 
					
						
							|  |  |  | 	text-align: center; | 
					
						
							|  |  |  | 	text-overflow: ellipsis; | 
					
						
							|  |  |  | 	/*font-size: 2vh;*/ | 
					
						
							| 
									
										
										
										
											2019-10-09 03:25:53 +03:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	pointer-events: none; | 
					
						
							| 
									
										
										
										
											2019-10-09 03:04:46 +03:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-09-03 05:26:24 +03:00
										 |  |  | .crisp-resize .image { | 
					
						
							|  |  |  | 	image-rendering: -webkit-optimize-contrast; | 
					
						
							|  |  |  | 	image-rendering: crisp-edges; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-10-11 01:02:22 +03:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-07-20 03:02:18 +04:00
										 |  |  | /* | 
					
						
							|  |  |  | .current.image { | 
					
						
							|  |  |  | 	border: solid 5px red; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | */ | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-11-10 04:11:06 +03:00
										 |  |  | /* NOTE: this is essentially a ribbon... */ | 
					
						
							| 
									
										
										
										
											2014-11-03 06:43:23 +03:00
										 |  |  | .shadow { | 
					
						
							|  |  |  | 	position: absolute; | 
					
						
							|  |  |  | 	overflow: visible; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	width: auto; | 
					
						
							|  |  |  | 	height: auto; | 
					
						
							| 
									
										
										
										
											2014-11-10 04:11:06 +03:00
										 |  |  | 	margin: 0px; | 
					
						
							| 
									
										
										
										
											2014-11-03 06:43:23 +03:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	background: black; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	-webkit-transition: all 0.1s ease-in; | 
					
						
							|  |  |  | 	-moz-transition: all 0.1s ease-in; | 
					
						
							|  |  |  | 	-ms-transition: all 0.1s ease-in; | 
					
						
							|  |  |  | 	-o-transition: all 0.1s ease-in; | 
					
						
							|  |  |  | 	transition: all 0.1s ease-in; | 
					
						
							|  |  |  | } | 
					
						
							| 
									
										
										
										
											2014-11-17 01:21:14 +03:00
										 |  |  | .shadow { | 
					
						
							| 
									
										
										
										
											2014-11-03 06:43:23 +03:00
										 |  |  | 	-webkit-transform-origin: 0 0; | 
					
						
							|  |  |  | 	-moz-transform-origin: 0 0; | 
					
						
							|  |  |  | 	-ms-transform-origin: 0 0; | 
					
						
							|  |  |  | 	-o-transform-origin: 0 0; | 
					
						
							|  |  |  | 	transform-origin: 0 0; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .image.moving { | 
					
						
							|  |  |  | 	visibility: hidden; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-07-20 03:02:18 +04:00
										 |  |  | .current-marker { | 
					
						
							| 
									
										
										
										
											2017-05-04 00:46:11 +03:00
										 |  |  | 	display: none; | 
					
						
							| 
									
										
										
										
											2014-07-20 03:02:18 +04:00
										 |  |  | 	position: absolute; | 
					
						
							|  |  |  | 	border: solid 5px red; | 
					
						
							|  |  |  | 	background: none; | 
					
						
							|  |  |  | 	z-index: 100; | 
					
						
							| 
									
										
										
										
											2016-03-05 02:45:02 +03:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-05-04 00:46:11 +03:00
										 |  |  | 	top: 0; | 
					
						
							|  |  |  | 	left: 0; | 
					
						
							|  |  |  | 	margin-top: -@image-tile-size / 2; | 
					
						
							|  |  |  | 	margin-left: -@image-tile-size / 2; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-05 02:45:02 +03:00
										 |  |  | 	/* pass events through... (do we need IE10-?) */ | 
					
						
							|  |  |  | 	pointer-events: none; | 
					
						
							| 
									
										
										
										
											2014-07-20 03:02:18 +04:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | .marker { | 
					
						
							|  |  |  | 	width: 50px; | 
					
						
							|  |  |  | 	border: none; | 
					
						
							|  |  |  | 	background: no-repeat 50% transparent; | 
					
						
							|  |  |  | 	background-color: transparent; | 
					
						
							|  |  |  | 	color: white; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .marker:after { | 
					
						
							|  |  |  | 	display: block; | 
					
						
							|  |  |  | 	position: absolute; | 
					
						
							|  |  |  | 	content: "marker"; | 
					
						
							|  |  |  | 	font-size: 32px; | 
					
						
							|  |  |  | 	font-weight: bold; | 
					
						
							|  |  |  | 	text-align: center; | 
					
						
							|  |  |  | 	overflow: visible; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	width: 200px; | 
					
						
							|  |  |  | 	height: 32px; | 
					
						
							|  |  |  | 	top: 50%; | 
					
						
							|  |  |  | 	margin-top: -16px; | 
					
						
							|  |  |  | 	left: 50%; | 
					
						
							|  |  |  | 	margin-left: -100px; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	.origin(center, center); | 
					
						
							|  |  |  | 	.rotate(270deg); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	opacity: 0.5; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .single-image-mode.viewer .marker { | 
					
						
							|  |  |  | 	display: none; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /* single image mode transitions */ | 
					
						
							|  |  |  | /* XXX still buggy and not too needed... | 
					
						
							|  |  |  | .single-image-mode.viewer .image { | 
					
						
							|  |  |  | 	position: absolute; | 
					
						
							|  |  |  | 	top: 0px; | 
					
						
							|  |  |  | 	left: 0px; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	opacity: 0; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	.transition(opacity); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .single-image-mode.viewer .current.image { | 
					
						
							|  |  |  | 	opacity: 1; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /* image turning... */ | 
					
						
							|  |  |  | /* NOTE: need to account for proportions after turning... */ | 
					
						
							|  |  |  | .image[orientation="90"] { | 
					
						
							|  |  |  | 	.rotate(90deg); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .image[orientation="180"] { | 
					
						
							|  |  |  | 	.rotate(180deg); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .image[orientation="270"] { | 
					
						
							|  |  |  | 	.rotate(270deg); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /* 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"] { | 
					
						
							|  |  |  | 	.flipped-vertically; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .image[orientation="90"][flipped="vertical"] { | 
					
						
							|  |  |  | 	.transform(90deg, 1, -1) | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .image[orientation="180"][flipped="vertical"] { | 
					
						
							|  |  |  | 	.transform(180deg, 1, -1) | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .image[orientation="270"][flipped="vertical"] { | 
					
						
							|  |  |  | 	.transform(270deg, 1, -1) | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /* Flipped horizontally only... */ | 
					
						
							|  |  |  | .image[flipped*="horizontal"] { | 
					
						
							|  |  |  | 	.flipped-horizontally; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .image[orientation="90"][flipped="horizontal"] { | 
					
						
							|  |  |  | 	.transform(90deg, -1) | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .image[orientation="180"][flipped="horizontal"] { | 
					
						
							|  |  |  | 	.transform(180deg, -1) | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .image[orientation="270"][flipped="horizontal"] { | 
					
						
							|  |  |  | 	.transform(270deg, -1) | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /* Flipped vertically and horizontally... */ | 
					
						
							|  |  |  | .image[flipped*="vertical"][flipped*="horizontal"] { | 
					
						
							|  |  |  | 	.transform(0deg, -1, -1) | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .image[orientation="90"][flipped*="vertical"][flipped*="horizontal"] { | 
					
						
							|  |  |  | 	.transform(90deg, -1, -1) | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .image[orientation="180"][flipped*="vertical"][flipped*="horizontal"] { | 
					
						
							|  |  |  | 	.transform(180deg, -1, -1) | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .image[orientation="270"][flipped*="vertical"][flipped*="horizontal"] { | 
					
						
							|  |  |  | 	.transform(270deg, -1, -1) | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-12-19 19:34:38 +03:00
										 |  |  | 
 | 
					
						
							|  |  |  | /* image separators... */ | 
					
						
							|  |  |  | .ribbon-image-separators.viewer .image { | 
					
						
							|  |  |  | 	box-shadow:  | 
					
						
							|  |  |  | 		9px 4px 0 -8px rgba(128,128,128,0.2),  | 
					
						
							|  |  |  | 		-9px 4px 0 -8px rgba(128,128,128,0.2); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .ribbon-image-separators.viewer .image[orientation="90"], | 
					
						
							|  |  |  | .ribbon-image-separators.viewer .image[orientation="270"] { | 
					
						
							|  |  |  | 	box-shadow:  | 
					
						
							|  |  |  | 		4px 9px 0 -8px rgba(128,128,128,0.2),  | 
					
						
							|  |  |  | 		4px -9px 0 -8px rgba(128,128,128,0.2); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .ribbon-image-separators.single-image-mode.viewer .image { | 
					
						
							|  |  |  | 	box-shadow: none; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-07-20 03:02:18 +04:00
										 |  |  | /* default backgrounds */ | 
					
						
							|  |  |  | /* XXX not sure if we need these...  | 
					
						
							|  |  |  | .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); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /* separator test */ | 
					
						
							|  |  |  | /* | 
					
						
							|  |  |  | .image.red+.image:not(.red):before { | 
					
						
							|  |  |  | 	display: inline-block; | 
					
						
							|  |  |  | 	position: relative; | 
					
						
							|  |  |  | 	content: ""; | 
					
						
							|  |  |  | 	top:0px; | 
					
						
							|  |  |  | 	left: -50px; | 
					
						
							|  |  |  | 	width: 100px; | 
					
						
							|  |  |  | 	height: 100%; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	background-color: yellow; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /***************************************************** Image marks ***/ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /* | 
					
						
							|  |  |  | .marks-visible.single-image-mode.viewer .marker { | 
					
						
							|  |  |  | 	display: inline-block; | 
					
						
							|  |  |  | 	opacity: 0.5; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /* | 
					
						
							|  |  |  | .marks-visible.viewer .marked.image:after { | 
					
						
							|  |  |  | 	display: block; | 
					
						
							|  |  |  | 	position: absolute; | 
					
						
							|  |  |  | 	content: ""; | 
					
						
							|  |  |  | 	font-size: 0pt; | 
					
						
							|  |  |  | 	border: none; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	width: @ribbon-mark-size; | 
					
						
							|  |  |  | 	height: @ribbon-mark-size; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	top: auto; | 
					
						
							|  |  |  | 	bottom: @ribbon-mark-offset; | 
					
						
							|  |  |  | 	left: auto; | 
					
						
							|  |  |  | 	right: @ribbon-mark-offset; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	border-radius: 50%; | 
					
						
							|  |  |  | 	background: blue; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	box-shadow: 0px 0px 7px 0px black; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .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 { | 
					
						
							|  |  |  | 	top: @ribbon-mark-offset; | 
					
						
							|  |  |  | 	bottom: auto; | 
					
						
							|  |  |  | 	left: auto; | 
					
						
							|  |  |  | 	right: @ribbon-mark-offset; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .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 { | 
					
						
							|  |  |  | 	top: @ribbon-mark-offset; | 
					
						
							|  |  |  | 	bottom: auto; | 
					
						
							|  |  |  | 	left: @ribbon-mark-offset; | 
					
						
							|  |  |  | 	right: auto; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .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; | 
					
						
							|  |  |  | 	bottom: @ribbon-mark-offset; | 
					
						
							|  |  |  | 	left: @ribbon-mark-offset; | 
					
						
							|  |  |  | 	right: auto; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /* NOTE: we use a different mark representation for single image mode... */ | 
					
						
							|  |  |  | /* | 
					
						
							|  |  |  | .marks-visible.single-image-mode.viewer .marked.image:after { | 
					
						
							|  |  |  | 	display: none; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /* corner mark... (a-la bookmarks in PortableMag)  | 
					
						
							|  |  |  |  * XXX account for flipping... */ | 
					
						
							|  |  |  | /* | 
					
						
							|  |  |  | @ribbon-mark-offset: -15px; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | .marks-visible.viewer .marked.image:after { | 
					
						
							|  |  |  | 	display: block; | 
					
						
							|  |  |  | 	position: absolute; | 
					
						
							|  |  |  | 	content: ""; | 
					
						
							|  |  |  | 	font-size: 0pt; | 
					
						
							|  |  |  | 	border: none; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	width: 30px; | 
					
						
							|  |  |  | 	height: 30px; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	top: @ribbon-mark-offset; | 
					
						
							|  |  |  | 	right: @ribbon-mark-offset; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	background: blue; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	.rotate(45deg) | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .marks-visible.viewer .marked.image[orientation="90"]:after { | 
					
						
							|  |  |  | 	top: @ribbon-mark-offset; | 
					
						
							|  |  |  | 	left: @ribbon-mark-offset; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .marks-visible.viewer .marked.image[orientation="180"]:after { | 
					
						
							|  |  |  | 	bottom: @ribbon-mark-offset; | 
					
						
							|  |  |  | 	left: @ribbon-mark-offset; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .marks-visible.viewer .marked.image[orientation="270"]:after { | 
					
						
							|  |  |  | 	bottom: @ribbon-mark-offset; | 
					
						
							|  |  |  | 	right: @ribbon-mark-offset; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | .marked-only-view.viewer:not(.marks-visible) .image:not(.marked) { | 
					
						
							|  |  |  | 	opacity: 0.3; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /* new gen marks... */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | .mark { | 
					
						
							|  |  |  | 	/* this fully covers the image to simplify positioning of actual marks */ | 
					
						
							|  |  |  | 	margin-left: -@image-tile-size; | 
					
						
							|  |  |  | 	border: none; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .viewer:not(.marks-visible) .mark { | 
					
						
							|  |  |  | 	display: none; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | .mark.bookmark, | 
					
						
							| 
									
										
										
										
											2018-11-08 21:10:58 +03:00
										 |  |  | .mark.marked { | 
					
						
							| 
									
										
										
										
											2014-07-20 03:02:18 +04:00
										 |  |  | 	width: 0px; | 
					
						
							|  |  |  | 	margin-left: 0px; | 
					
						
							|  |  |  | 	border: none; | 
					
						
							|  |  |  | 	overflow: visible; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .mark.bookmark:after, | 
					
						
							| 
									
										
										
										
											2018-11-08 21:10:58 +03:00
										 |  |  | .mark.marked:before, | 
					
						
							|  |  |  | .mark.marked:after { | 
					
						
							| 
									
										
										
										
											2014-07-20 03:02:18 +04:00
										 |  |  | 	display: block; | 
					
						
							|  |  |  | 	position: absolute; | 
					
						
							|  |  |  | 	content: ""; | 
					
						
							|  |  |  | 	font-size: 0pt; | 
					
						
							|  |  |  | 	border: none; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-05-13 02:45:54 +03:00
										 |  |  | 	width: @image-mark-size; | 
					
						
							|  |  |  | 	height: @image-mark-size; | 
					
						
							| 
									
										
										
										
											2014-07-20 03:02:18 +04:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	top: auto; | 
					
						
							| 
									
										
										
										
											2016-05-13 02:45:54 +03:00
										 |  |  | 	bottom: @image-tile-size/30; | 
					
						
							| 
									
										
										
										
											2014-07-20 03:02:18 +04:00
										 |  |  | 	left: auto; | 
					
						
							| 
									
										
										
										
											2016-05-13 02:45:54 +03:00
										 |  |  | 	right: @image-tile-size/30; | 
					
						
							| 
									
										
										
										
											2014-07-20 03:02:18 +04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-05-13 02:45:54 +03:00
										 |  |  | 	box-shadow:  | 
					
						
							|  |  |  | 		@image-tile-size/300 | 
					
						
							|  |  |  | 		@image-tile-size/300 | 
					
						
							|  |  |  | 		@image-tile-size/43 | 
					
						
							|  |  |  | 		-@image-tile-size/231 | 
					
						
							|  |  |  | 		rgba(0,0,0,0.8); | 
					
						
							| 
									
										
										
										
											2014-07-20 03:02:18 +04:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	box-sizing: border-box; | 
					
						
							|  |  |  | 	border-radius: 50%; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	background: blue; | 
					
						
							| 
									
										
										
										
											2016-05-13 02:45:54 +03:00
										 |  |  | 	left: -@image-tile-size/12; | 
					
						
							| 
									
										
										
										
											2014-07-20 03:02:18 +04:00
										 |  |  | } | 
					
						
							| 
									
										
										
										
											2015-11-15 01:25:04 +03:00
										 |  |  | .marks-visible.single-image-mode.viewer .mark:before, | 
					
						
							| 
									
										
										
										
											2014-07-20 03:02:18 +04:00
										 |  |  | .marks-visible.single-image-mode.viewer .mark:after { | 
					
						
							|  |  |  | 	display: none; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | .mark.bookmark:after { | 
					
						
							|  |  |  | 	background: yellow; | 
					
						
							| 
									
										
										
										
											2016-05-13 02:45:54 +03:00
										 |  |  | 	left: -@image-tile-size/20; | 
					
						
							| 
									
										
										
										
											2014-07-20 03:02:18 +04:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-11-08 21:10:58 +03:00
										 |  |  | /* the marked tick... */ | 
					
						
							|  |  |  | .mark.marked:before, | 
					
						
							|  |  |  | .mark.marked:after { | 
					
						
							| 
									
										
										
										
											2016-05-13 02:45:54 +03:00
										 |  |  | 	top: @image-tile-size/30; | 
					
						
							|  |  |  | 	left: -@image-tile-size/15; | 
					
						
							| 
									
										
										
										
											2015-09-01 21:35:08 +03:00
										 |  |  | 	bottom: auto; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-05-13 02:45:54 +03:00
										 |  |  | 	border-radius: @image-tile-size/100; | 
					
						
							| 
									
										
										
										
											2015-09-01 21:35:08 +03:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	.rotate(-45deg); | 
					
						
							|  |  |  | } | 
					
						
							| 
									
										
										
										
											2018-11-08 21:10:58 +03:00
										 |  |  | .mark.marked:before { | 
					
						
							| 
									
										
										
										
											2016-05-13 02:45:54 +03:00
										 |  |  | 	width: @image-tile-size/100; | 
					
						
							|  |  |  | 	height: @image-tile-size/50; | 
					
						
							| 
									
										
										
										
											2015-09-01 21:35:08 +03:00
										 |  |  | } | 
					
						
							| 
									
										
										
										
											2018-11-08 21:10:58 +03:00
										 |  |  | .mark.marked:after { | 
					
						
							| 
									
										
										
										
											2016-05-13 02:45:54 +03:00
										 |  |  | 	width: @image-tile-size/25; | 
					
						
							|  |  |  | 	height: @image-tile-size/100; | 
					
						
							| 
									
										
										
										
											2015-09-01 21:35:08 +03:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-07-20 03:02:18 +04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-09-19 01:43:38 +03:00
										 |  |  | /* XXX these are still experimental... */ | 
					
						
							| 
									
										
										
										
											2016-12-28 02:31:15 +03:00
										 |  |  | .mark.brace-open, | 
					
						
							|  |  |  | .mark.brace-close { | 
					
						
							|  |  |  | 	width: @image-border * 2; | 
					
						
							|  |  |  | 	height: @image-tile-size; | 
					
						
							|  |  |  | 	overflow: visible; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	margin-left: 0px; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .mark.brace-close:after, | 
					
						
							|  |  |  | .mark.brace-open:after { | 
					
						
							|  |  |  | 	display: block; | 
					
						
							|  |  |  | 	position: absolute; | 
					
						
							|  |  |  | 	content: ""; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	width: @image-tile-size / 20; | 
					
						
							|  |  |  | 	height: 100%; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	box-sizing: content-box; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	border-top: solid @image-border*2 yellow; | 
					
						
							|  |  |  | 	border-bottom: solid @image-border*2 yellow; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	margin-top: -@image-border * 2; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .mark.brace-open:after { | 
					
						
							|  |  |  | 	border-left: solid @image-border*2 yellow; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .mark.brace-close:after { | 
					
						
							|  |  |  | 	left: -@image-tile-size / 20; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	border-right: solid @image-border*2 yellow; | 
					
						
							| 
									
										
										
										
											2015-09-19 01:43:38 +03:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-12-27 06:18:04 +03:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-05-01 02:11:30 +03:00
										 |  |  | .mark.partition { | 
					
						
							| 
									
										
										
										
											2016-12-27 06:18:04 +03:00
										 |  |  | 	width: @image-border; | 
					
						
							|  |  |  | 	height: @image-tile-size; | 
					
						
							| 
									
										
										
										
											2016-05-01 02:11:30 +03:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	overflow: visible; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	margin-left: 0px; | 
					
						
							|  |  |  | } | 
					
						
							| 
									
										
										
										
											2016-12-27 06:18:04 +03:00
										 |  |  | .mark.partition:before { | 
					
						
							|  |  |  | 	display: block; | 
					
						
							|  |  |  | 	position: absolute; | 
					
						
							|  |  |  | 	content: ""; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	width: @image-border; | 
					
						
							|  |  |  | 	height: 102%; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	background: yellow; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	margin-top: -@image-tile-size / 50; | 
					
						
							|  |  |  | 	margin-bottom: 0px; | 
					
						
							|  |  |  | } | 
					
						
							| 
									
										
										
										
											2016-05-01 02:11:30 +03:00
										 |  |  | .mark.partition:after { | 
					
						
							|  |  |  | 	display: block; | 
					
						
							|  |  |  | 	position: absolute; | 
					
						
							| 
									
										
										
										
											2016-12-27 06:18:04 +03:00
										 |  |  | 	left: @image-border * 2; | 
					
						
							| 
									
										
										
										
											2016-05-01 02:11:30 +03:00
										 |  |  | 	content: attr(text); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	color: yellow; | 
					
						
							| 
									
										
										
										
											2016-12-27 06:18:04 +03:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	margin-top: -@image-tile-size / 24; | 
					
						
							| 
									
										
										
										
											2016-05-01 02:11:30 +03:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-09-19 01:43:38 +03:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-12-27 06:18:04 +03:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-07-20 03:02:18 +04:00
										 |  |  | /****************************************************** Image info ***/ | 
					
						
							|  |  |  | .inline-image-info { | 
					
						
							|  |  |  | 	display: none; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	position: absolute; | 
					
						
							|  |  |  | 	bottom: 0px; | 
					
						
							|  |  |  | 	width: 100%; | 
					
						
							|  |  |  | 	background: black; | 
					
						
							|  |  |  | 	opacity: 0.7; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	overflow: hidden; | 
					
						
							|  |  |  | 	white-space: nowrap; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .inline-image-info:hover { | 
					
						
							|  |  |  | 	.user-select(auto); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .inline-image-info::selection { | 
					
						
							|  |  |  | 	color: white; | 
					
						
							|  |  |  | 	background: red; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .image-info-visible.viewer .global-image-info, | 
					
						
							|  |  |  | .image-info-visible.viewer .current-marker:hover .inline-image-info, | 
					
						
							|  |  |  | .image-info-visible.viewer .image:hover .inline-image-info { | 
					
						
							|  |  |  | 	display: block; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .single-image-mode.viewer .current-marker:hover .inline-image-info, | 
					
						
							|  |  |  | .single-image-mode.viewer .image:hover .inline-image-info { | 
					
						
							|  |  |  | 	display: none; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .image[orientation="90"] .inline-image-info { | 
					
						
							|  |  |  | 	top: auto; | 
					
						
							|  |  |  | 	left: 100%; | 
					
						
							|  |  |  | 	.origin(bottom, left); | 
					
						
							|  |  |  | 	.rotate(-90deg); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .image[orientation="180"] .inline-image-info { | 
					
						
							|  |  |  | 	top: 0px; | 
					
						
							|  |  |  | 	bottom: auto; | 
					
						
							|  |  |  | 	.rotate(180deg); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .image[orientation="270"] .inline-image-info { | 
					
						
							|  |  |  | 	top: auto; | 
					
						
							|  |  |  | 	left: auto; | 
					
						
							|  |  |  | 	right: 100%; | 
					
						
							|  |  |  | 	.origin(bottom, right); | 
					
						
							|  |  |  | 	.rotate(90deg); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /* compensate for flipping... */ | 
					
						
							|  |  |  | /* XXX START: I hate this code, will think if a better way to do this... */ | 
					
						
							|  |  |  | .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); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | /* XXX END */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | .overlay-info { | 
					
						
							|  |  |  | 	display: none; | 
					
						
							|  |  |  | 	position: absolute; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	bottom: 0px; | 
					
						
							|  |  |  | 	left: 0px; | 
					
						
							|  |  |  | 	width: 100%; | 
					
						
							|  |  |  | 	padding: 2px; | 
					
						
							|  |  |  | 	padding-left: 10px; | 
					
						
							|  |  |  | 	padding-right: 10px; | 
					
						
							|  |  |  | 	box-sizing: border-box; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-04-12 09:06:05 +03:00
										 |  |  | 	background: rgba(0, 0, 0, 0.6); | 
					
						
							| 
									
										
										
										
											2016-02-13 07:59:54 +03:00
										 |  |  | 	color: silver; | 
					
						
							| 
									
										
										
										
											2014-07-20 03:02:18 +04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-04-12 09:00:32 +03:00
										 |  |  | 	text-shadow: | 
					
						
							|  |  |  | 		-1px -1px 1px rgba(255, 255, 255, 0.2), | 
					
						
							|  |  |  | 		1px 1px 2px rgba(0, 0, 0, 0.3); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-04-12 09:06:05 +03:00
										 |  |  | 	opacity: 0.9; | 
					
						
							| 
									
										
										
										
											2014-07-20 03:02:18 +04:00
										 |  |  | } | 
					
						
							| 
									
										
										
										
											2016-04-12 09:00:32 +03:00
										 |  |  | .overlay-info>* { | 
					
						
							|  |  |  | 	float: left;	 | 
					
						
							|  |  |  | } | 
					
						
							| 
									
										
										
										
											2014-07-20 03:02:18 +04:00
										 |  |  | .overlay-info:hover { | 
					
						
							|  |  |  | 	.user-select(auto); | 
					
						
							|  |  |  | } | 
					
						
							| 
									
										
										
										
											2016-05-08 14:30:35 +03:00
										 |  |  | .overlay-info .spacer { | 
					
						
							|  |  |  | 	opacity: 0.5, | 
					
						
							|  |  |  | } | 
					
						
							| 
									
										
										
										
											2016-02-18 04:16:55 +03:00
										 |  |  | .overlay-info .spacer~* { | 
					
						
							| 
									
										
										
										
											2014-07-20 03:02:18 +04:00
										 |  |  | 	float: right; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .overlay-info .secondary { | 
					
						
							|  |  |  | 	font-style: italic; | 
					
						
							|  |  |  | 	font-size: small; | 
					
						
							|  |  |  | 	color: silver; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .overlay-info::selection, | 
					
						
							|  |  |  | .overlay-info ::selection { | 
					
						
							|  |  |  | 	color: white; | 
					
						
							|  |  |  | 	background: red; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-03-20 04:25:22 +03:00
										 |  |  | .overlay-info.hidden, | 
					
						
							| 
									
										
										
										
											2016-02-05 08:24:48 +03:00
										 |  |  | .overlay-info.full, | 
					
						
							|  |  |  | .overlay-info.minimal { | 
					
						
							|  |  |  | 	display: block; | 
					
						
							|  |  |  | 	/* XXX is this correct??? */ | 
					
						
							|  |  |  | 	z-index: 1000, | 
					
						
							|  |  |  | } | 
					
						
							| 
									
										
										
										
											2018-03-20 04:25:22 +03:00
										 |  |  | .overlay-info.hidden { | 
					
						
							|  |  |  | 	background: transparent; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .overlay-info.hidden>* { | 
					
						
							|  |  |  | 	opacity: 0 !important; | 
					
						
							|  |  |  | } | 
					
						
							| 
									
										
										
										
											2016-02-05 08:24:48 +03:00
										 |  |  | 
 | 
					
						
							|  |  |  | .overlay-info.minimal { | 
					
						
							|  |  |  | 	background: transparent; | 
					
						
							| 
									
										
										
										
											2016-04-12 09:00:32 +03:00
										 |  |  | 	//background: -moz-linear-gradient(top, rgba(0,0,0,0) 0%, rgba(0,0,0,0.3) 100%); | 
					
						
							|  |  |  | 	//background: -webkit-linear-gradient(top, rgba(0,0,0,0) 0%, rgba(0,0,0,0.3) 100%); | 
					
						
							|  |  |  | 	//background: linear-gradient(to bottom, rgba(0,0,0,0) 0%, rgba(0,0,0,0.3) 100%); | 
					
						
							|  |  |  | 	//filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00000000', endColorstr='#b5000000',GradientType=0 ); | 
					
						
							| 
									
										
										
										
											2016-02-05 08:24:48 +03:00
										 |  |  | } | 
					
						
							|  |  |  | .overlay-info.minimal .full-only { | 
					
						
							|  |  |  | 	display: none; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-02-13 07:59:54 +03:00
										 |  |  | 
 | 
					
						
							|  |  |  | /* space elements... */ | 
					
						
							|  |  |  | .overlay-info>:not(:first-child) { | 
					
						
							|  |  |  | 	margin-left: 10px; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-02-16 06:24:58 +03:00
										 |  |  | .overlay-info .info { | 
					
						
							|  |  |  | 	font-style: italic; | 
					
						
							|  |  |  | } | 
					
						
							| 
									
										
										
										
											2016-02-13 07:59:54 +03:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-04-12 19:01:40 +03:00
										 |  |  | 
 | 
					
						
							|  |  |  | .overlay-info .gid:before, | 
					
						
							|  |  |  | .overlay-info .gid:after { | 
					
						
							|  |  |  | 	opacity: 0.8; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .overlay-info .gid:before { | 
					
						
							|  |  |  | 	content: "("; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .overlay-info .gid:after { | 
					
						
							|  |  |  | 	content: ")"; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-11-08 21:10:58 +03:00
										 |  |  | /* XXX REUSE: this is the same as marked/bookmarked image markers... */ | 
					
						
							| 
									
										
										
										
											2016-02-05 08:24:48 +03:00
										 |  |  | .overlay-info .marked, | 
					
						
							|  |  |  | .overlay-info .marked:after, | 
					
						
							|  |  |  | .overlay-info .marked:before, | 
					
						
							|  |  |  | .overlay-info .bookmarked:after { | 
					
						
							|  |  |  | 	display: block; | 
					
						
							|  |  |  | 	position: relative; | 
					
						
							|  |  |  | 	content: ""; | 
					
						
							|  |  |  | 	font-size: 0pt; | 
					
						
							|  |  |  | 	border: none; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-02-13 07:59:54 +03:00
										 |  |  | 	margin-top: 4px; | 
					
						
							|  |  |  | 	margin-bottom: 4px; | 
					
						
							|  |  |  | 	//margin-right: 10px; | 
					
						
							| 
									
										
										
										
											2016-02-05 08:24:48 +03:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	width: 10px; | 
					
						
							|  |  |  | 	height: 10px; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-04 06:54:39 +03:00
										 |  |  | 	//box-shadow: 1px 1px 10px -2px rgba(0,0,0,0.7); | 
					
						
							| 
									
										
										
										
											2016-02-05 08:24:48 +03:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	box-sizing: border-box; | 
					
						
							|  |  |  | 	border-radius: 50%; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	background: blue; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	cursor: pointer; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /* tick... */ | 
					
						
							|  |  |  | .overlay-info .marked { | 
					
						
							|  |  |  | 	background: transparent; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .overlay-info .marked:before, | 
					
						
							|  |  |  | .overlay-info .marked:after { | 
					
						
							|  |  |  | 	position: absolute; | 
					
						
							|  |  |  | 	bottom: auto; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	border-radius: 3px; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	.rotate(-45deg); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .overlay-info .marked:before { | 
					
						
							|  |  |  | 	width: 3px; | 
					
						
							|  |  |  | 	height: 6px; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .overlay-info .marked:after { | 
					
						
							|  |  |  | 	width: 12px; | 
					
						
							|  |  |  | 	height: 3px; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | .overlay-info .bookmarked:after { | 
					
						
							|  |  |  | 	background: yellow; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | .overlay-info .marked:not(.on), | 
					
						
							|  |  |  | .overlay-info .bookmarked:not(.on) { | 
					
						
							|  |  |  | 	opacity: 0.5; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .overlay-info .marked:not(.on):before, | 
					
						
							|  |  |  | .overlay-info .marked:not(.on):after, | 
					
						
							|  |  |  | .overlay-info .bookmarked:not(.on):after { | 
					
						
							|  |  |  | 	background: gray; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-02-13 07:59:54 +03:00
										 |  |  | /* image index status element */ | 
					
						
							| 
									
										
										
										
											2016-02-25 02:38:01 +03:00
										 |  |  | .overlay-info .index { | 
					
						
							|  |  |  | 	cursor: pointer; | 
					
						
							|  |  |  | } | 
					
						
							| 
									
										
										
										
											2016-03-25 00:49:14 +03:00
										 |  |  | .overlay-info .index .position.editable { | 
					
						
							| 
									
										
										
										
											2016-02-25 02:38:01 +03:00
										 |  |  | 	cursor: text; | 
					
						
							|  |  |  | } | 
					
						
							| 
									
										
										
										
											2018-11-16 01:39:29 +03:00
										 |  |  | .overlay-info .index.loaded:after, | 
					
						
							| 
									
										
										
										
											2016-02-13 07:59:54 +03:00
										 |  |  | .overlay-info .index.global:after { | 
					
						
							|  |  |  | 	content: "G"; | 
					
						
							|  |  |  | 	opacity: 0.7; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	font-size: small; | 
					
						
							|  |  |  | } | 
					
						
							| 
									
										
										
										
											2018-11-16 01:39:29 +03:00
										 |  |  | .overlay-info .index.loaded:after { | 
					
						
							|  |  |  | 	content: "L"; | 
					
						
							|  |  |  | } | 
					
						
							| 
									
										
										
										
											2016-06-07 04:03:56 +03:00
										 |  |  | /* | 
					
						
							| 
									
										
										
										
											2016-02-13 07:59:54 +03:00
										 |  |  | .overlay-info .index.global:hover:after { | 
					
						
							|  |  |  | 	content: "Global"; | 
					
						
							|  |  |  | } | 
					
						
							| 
									
										
										
										
											2016-06-07 04:03:56 +03:00
										 |  |  | */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /* ribbon */ | 
					
						
							|  |  |  | .overlay-info .ribbon-number { | 
					
						
							|  |  |  | 	opacity: 0.7; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .overlay-info .ribbon-number:before { | 
					
						
							|  |  |  | 	content: "R:"; | 
					
						
							| 
									
										
										
										
											2016-06-07 06:03:16 +03:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	opacity: 0.7; | 
					
						
							| 
									
										
										
										
											2016-06-07 04:03:56 +03:00
										 |  |  | } | 
					
						
							|  |  |  | /* XXX not sure if we need to expand this  | 
					
						
							|  |  |  | .overlay-info .ribbon-number:hover:before { | 
					
						
							|  |  |  | 	content: "Ribbon: "; | 
					
						
							|  |  |  | 	opacity: 0.6; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | */ | 
					
						
							| 
									
										
										
										
											2016-12-14 02:06:50 +03:00
										 |  |  | .overlay-info .ribbon-index[base] { | 
					
						
							| 
									
										
										
										
											2016-06-09 00:10:11 +03:00
										 |  |  | 	/* NOTE: we are using shadow instead of a border or underline  | 
					
						
							|  |  |  | 	 	here as we need to control both the uniform shading and | 
					
						
							|  |  |  | 	 	placement without overcomplicating things when having | 
					
						
							|  |  |  | 		to compensate for alignment... */ | 
					
						
							|  |  |  | 	//border-bottom: solid 2px yellow; | 
					
						
							|  |  |  | 	box-shadow: 0 -2px 0 0 yellow inset; | 
					
						
							|  |  |  | } | 
					
						
							| 
									
										
										
										
											2016-12-14 02:06:50 +03:00
										 |  |  | .overlay-info .ribbon-count { | 
					
						
							| 
									
										
										
										
											2016-12-14 03:44:33 +03:00
										 |  |  | 	opacity: 0.7; | 
					
						
							| 
									
										
										
										
											2016-12-14 02:22:52 +03:00
										 |  |  | 	//font-size: small; | 
					
						
							| 
									
										
										
										
											2016-12-14 02:06:50 +03:00
										 |  |  | } | 
					
						
							| 
									
										
										
										
											2016-12-14 02:14:06 +03:00
										 |  |  | .overlay-info .ribbon-count:not(:empty):before { | 
					
						
							| 
									
										
										
										
											2016-12-14 02:06:50 +03:00
										 |  |  | 	content: "/"; | 
					
						
							|  |  |  | } | 
					
						
							| 
									
										
										
										
											2016-06-09 00:10:11 +03:00
										 |  |  | 
 | 
					
						
							|  |  |  | /* changes */ | 
					
						
							|  |  |  | .overlay-info .changes { | 
					
						
							|  |  |  | 	cursor: default; | 
					
						
							|  |  |  | } | 
					
						
							| 
									
										
										
										
											2016-02-13 07:59:54 +03:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-05-07 00:47:52 +03:00
										 |  |  | /* gid */ | 
					
						
							|  |  |  | .overlay-info .gid { | 
					
						
							|  |  |  | 	opacity: 0.7; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .overlay-info .gid:hover { | 
					
						
							|  |  |  | 	opacity: 1; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | .overlay-info .path { | 
					
						
							|  |  |  | 	opacity: 0.7; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .overlay-info .path:hover { | 
					
						
							|  |  |  | 	opacity: 1; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-04-22 06:20:12 +03:00
										 |  |  | /* Capslock indicator.. */ | 
					
						
							|  |  |  | .overlay-info .capslock-state { | 
					
						
							|  |  |  | 	font-size: small; | 
					
						
							|  |  |  | 	font-style: italic; | 
					
						
							|  |  |  | 	margin: 0px 10pt; | 
					
						
							| 
									
										
										
										
											2017-04-22 19:21:58 +03:00
										 |  |  | 	cursor: default; | 
					
						
							| 
									
										
										
										
											2017-04-22 06:20:12 +03:00
										 |  |  | } | 
					
						
							|  |  |  | .overlay-info .capslock-state:not(.on) { | 
					
						
							|  |  |  | 	opacity: 0.2; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .overlay-info .capslock-state.on { | 
					
						
							|  |  |  | 	color: yellow; | 
					
						
							|  |  |  | 	opacity: 0.6; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .overlay-info .capslock-state:hover { | 
					
						
							| 
									
										
										
										
											2017-04-22 19:21:58 +03:00
										 |  |  | 	opacity: 0.8; | 
					
						
							| 
									
										
										
										
											2017-04-22 06:20:12 +03:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-07-20 03:02:18 +04:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /*************************************************** Global status ***/ | 
					
						
							|  |  |  | .global-status { | 
					
						
							|  |  |  | 	display: block; | 
					
						
							|  |  |  | 	opacity: 1; | 
					
						
							|  |  |  | 	z-index: 1000; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /****************************************************** Indicators ***/ | 
					
						
							|  |  |  | .up-indicator, | 
					
						
							|  |  |  | .down-indicator, | 
					
						
							|  |  |  | .start-indicator, | 
					
						
							|  |  |  | .end-indicator, | 
					
						
							|  |  |  | .top-indicator, | 
					
						
							|  |  |  | .bottom-indicator | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	display: block; | 
					
						
							|  |  |  | 	position: absolute; | 
					
						
							|  |  |  | 	content: ""; | 
					
						
							|  |  |  | 	top: 0px; | 
					
						
							|  |  |  | 	left: 50%; | 
					
						
							|  |  |  | 	height: 50px; | 
					
						
							|  |  |  | 	width: 100px; | 
					
						
							|  |  |  | 	margin-left: -50px; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	overflow: hidden; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-02-05 08:24:48 +03:00
										 |  |  | 	cursor: pointer; | 
					
						
							| 
									
										
										
										
											2016-11-15 23:05:46 +03:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	z-index: 9999; | 
					
						
							| 
									
										
										
										
											2014-07-20 03:02:18 +04:00
										 |  |  | } | 
					
						
							|  |  |  | .up-indicator:after, | 
					
						
							|  |  |  | .down-indicator:after { | 
					
						
							|  |  |  | 	display: inline-block; | 
					
						
							|  |  |  | 	position: absolute; | 
					
						
							|  |  |  | 	content: ""; | 
					
						
							|  |  |  | 	width: 50px; | 
					
						
							|  |  |  | 	height: 50px; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	bottom: -25px; | 
					
						
							|  |  |  | 	left: 25px; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	background: yellow; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	.rotate(45deg); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .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; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .top-indicator, | 
					
						
							|  |  |  | .bottom-indicator { | 
					
						
							|  |  |  | 	left: 0px; | 
					
						
							|  |  |  | 	height: 10px; | 
					
						
							|  |  |  | 	width: 100%; | 
					
						
							|  |  |  | 	margin: 0px; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	background: yellow; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .bottom-indicator { | 
					
						
							|  |  |  | 	top: auto; | 
					
						
							|  |  |  | 	bottom: 0px; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /* default state */ | 
					
						
							|  |  |  | .up-indicator, | 
					
						
							|  |  |  | .down-indicator, | 
					
						
							|  |  |  | .start-indicator, | 
					
						
							|  |  |  | .end-indicator,  | 
					
						
							|  |  |  | .top-indicator, | 
					
						
							|  |  |  | .bottom-indicator | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	display: none; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /* these are generic containers for indicators */ | 
					
						
							|  |  |  | .global-mode-indicators, | 
					
						
							|  |  |  | .context-mode-indicators { | 
					
						
							|  |  |  | 	position: absolute; | 
					
						
							|  |  |  | 	height: 20px; | 
					
						
							|  |  |  | 	width: auto; | 
					
						
							|  |  |  | 	min-width: @image-tile-size; | 
					
						
							|  |  |  | 	text-align: right; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	color: transparent; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | .global-mode-indicators { | 
					
						
							|  |  |  | 	top: 20px; | 
					
						
							|  |  |  | 	right: 20px; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .context-mode-indicators { | 
					
						
							|  |  |  | 	right: 20px; | 
					
						
							|  |  |  | 	bottom: 20px; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | .global-mode-indicators .mode-tip, | 
					
						
							|  |  |  | .context-mode-indicators .mode-tip { | 
					
						
							|  |  |  | 	display: none; | 
					
						
							|  |  |  | 	opacity: 0.5; | 
					
						
							|  |  |  | 	font-weight: bold; | 
					
						
							|  |  |  | 	color: gray; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .global-mode-indicators:hover .mode-tip, | 
					
						
							|  |  |  | .context-mode-indicators:hover .mode-tip { | 
					
						
							|  |  |  | 	display: inline-block; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | .global-mode-indicators > *, | 
					
						
							|  |  |  | .context-mode-indicators > * { | 
					
						
							|  |  |  | 	font-size: small; | 
					
						
							|  |  |  | 	vertical-align: middle; | 
					
						
							|  |  |  | 	margin-left: 10px; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | .global-mode-indicators .circle, | 
					
						
							|  |  |  | .context-mode-indicators .circle { | 
					
						
							|  |  |  | 	display: inline-block; | 
					
						
							|  |  |  | 	width: @single-image-indicator-size; | 
					
						
							|  |  |  | 	height: @single-image-indicator-size; | 
					
						
							|  |  |  | 	border-radius: 50%; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /* 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; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | .global-mode-indicators .indicator, | 
					
						
							|  |  |  | .context-mode-indicators .indicator { | 
					
						
							|  |  |  | 	display: none; | 
					
						
							|  |  |  | 	height: 20px; | 
					
						
							|  |  |  | 	vertical-align: middle; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /* actual indicators */ | 
					
						
							|  |  |  | /* marks... */ | 
					
						
							|  |  |  | .global-mode-indicators .marked-only-visible, | 
					
						
							|  |  |  | .global-mode-indicators .marks-visible, | 
					
						
							|  |  |  | .context-mode-indicators .current-image-marked { | 
					
						
							|  |  |  | 	color: blue; | 
					
						
							| 
									
										
										
										
											2016-02-05 08:24:48 +03:00
										 |  |  | 	cursor: pointer; | 
					
						
							| 
									
										
										
										
											2014-07-20 03:02:18 +04:00
										 |  |  | 	text-shadow: rgba(0,0,0,0.5) 0.1em 0.1em 0.4em,  | 
					
						
							|  |  |  | 			rgba(0,0,0,0.5) 0.1em 0.1em; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .context-mode-indicators .current-image-bookmarked { | 
					
						
							|  |  |  | 	color: yellow; | 
					
						
							| 
									
										
										
										
											2016-02-05 08:24:48 +03:00
										 |  |  | 	cursor: pointer; | 
					
						
							| 
									
										
										
										
											2014-07-20 03:02:18 +04:00
										 |  |  | 	text-shadow: rgba(0,0,0,0.5) 0.1em 0.1em 0.4em,  | 
					
						
							|  |  |  | 			rgba(0,0,0,0.5) 0.1em 0.1em; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .global-mode-indicators .marked-only-visible .shown, | 
					
						
							|  |  |  | .global-mode-indicators .marks-visible .shown, | 
					
						
							|  |  |  | .context-mode-indicators .current-image-bookmarked .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-bookmarked:after, | 
					
						
							|  |  |  | .context-mode-indicators .current-image-marked:after { | 
					
						
							|  |  |  | 	display: inline-block; | 
					
						
							|  |  |  | 	width: 6px; | 
					
						
							|  |  |  | 	height: 6px; | 
					
						
							|  |  |  | 	border-radius: 50%; | 
					
						
							|  |  |  | 	content: ""; | 
					
						
							|  |  |  | 	background-color: blue; | 
					
						
							|  |  |  | 	border: solid 2px blue; | 
					
						
							|  |  |  | 	margin-left: 5px; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	margin-top: 3px; | 
					
						
							|  |  |  | 	top: 50%; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	box-shadow: 1px 1px 10px -2px rgba(0,0,0,0.7); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .global-mode-indicators .marked-only-visible:after, | 
					
						
							|  |  |  | .global-mode-indicators .marks-visible:after, | 
					
						
							|  |  |  | .context-mode-indicators .current-image-marked:after { | 
					
						
							|  |  |  | 	color: blue; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .context-mode-indicators .current-image-bookmarked:after { | 
					
						
							|  |  |  | 	color: yellow; | 
					
						
							|  |  |  | 	background-color: yellow; | 
					
						
							|  |  |  | 	border: solid 2px yellow; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .marks-visible.viewer .global-mode-indicators .marks-visible { | 
					
						
							|  |  |  | 	display: inline-block; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | /* image mark in single image mode... */ | 
					
						
							|  |  |  | .single-image-mode.marks-visible.viewer .context-mode-indicators .current-image-bookmarked, | 
					
						
							|  |  |  | .single-image-mode.marks-visible.viewer .context-mode-indicators .current-image-marked { | 
					
						
							|  |  |  | 	/*display: none;*/ | 
					
						
							|  |  |  | 	display: inline-block; | 
					
						
							|  |  |  | 	text-decoration: line-through; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	opacity: 0.3; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .single-image-mode.marks-visible.viewer .context-mode-indicators .current-image-bookmarked.shown, | 
					
						
							|  |  |  | .single-image-mode.marks-visible.viewer .context-mode-indicators .current-image-marked.shown { | 
					
						
							|  |  |  | 	display: inline-block; | 
					
						
							|  |  |  | 	text-decoration: none; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	opacity: 1; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .single-image-mode.marks-visible.viewer .context-mode-indicators .current-image-bookmarked:not(.shown):after, | 
					
						
							|  |  |  | .single-image-mode.marks-visible.viewer .context-mode-indicators .current-image-marked:not(.shown):after { | 
					
						
							|  |  |  | 	background-color: transparent; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .single-image-mode.marks-visible.viewer .context-mode-indicators .current-image-bookmarked:not(.shown):hover, | 
					
						
							|  |  |  | .single-image-mode.marks-visible.viewer .context-mode-indicators .current-image-marked:not(.shown):hover { | 
					
						
							|  |  |  | 	opacity: 0.8; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | .cropped-view.marks-visible.viewer .global-mode-indicators .cropped-view { | 
					
						
							|  |  |  | 	color: gray; | 
					
						
							|  |  |  | 	display: inline-block; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | .ribbon-indicator { | 
					
						
							|  |  |  | 	display: none; | 
					
						
							|  |  |  | 	position: absolute; | 
					
						
							|  |  |  | 	top: 10px; | 
					
						
							|  |  |  | 	left: 15px; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	color: white; | 
					
						
							|  |  |  | 	font-size: 42px; | 
					
						
							|  |  |  | 	font-weight: bold; | 
					
						
							|  |  |  | 	font-style: italic; | 
					
						
							|  |  |  | 	text-shadow: black 0.1em 0.1em 0.6em; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	opacity: 0.1; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .flashing-ribbon-indicator { | 
					
						
							|  |  |  | 	display: inline-block; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .single-image-mode.marks-visible.viewer .ribbon-indicator { | 
					
						
							|  |  |  | 	display: inline-block; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .ribbon-indicator:hover:after { | 
					
						
							|  |  |  | 	display: inline-block; | 
					
						
							|  |  |  | 	content: "ribbon number"; | 
					
						
							|  |  |  | 	font-size: 14px; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	opacity: 0.8; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-12-20 20:59:19 +03:00
										 |  |  | .show-passive-base-ribbon-indicator:not(.single-image-mode) .base.ribbon:after { | 
					
						
							|  |  |  | 	content: ""; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	position: absolute; | 
					
						
							|  |  |  | 	display: block; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	width: 100%; | 
					
						
							|  |  |  | 	height: @image-tile-size/50; | 
					
						
							|  |  |  | 	top: 101%; | 
					
						
							|  |  |  | 	//left: -100%; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	background: yellow; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	opacity: 0.8; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-12-29 23:23:05 +03:00
										 |  |  | .range-offscreen-indicator { | 
					
						
							|  |  |  | 	display: none; | 
					
						
							|  |  |  | 	position: fixed; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	width: @image-tile-size / 16; | 
					
						
							|  |  |  | 	height: @image-tile-size / 4; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	margin-top: -@image-tile-size / 8; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	box-sizing: border-box; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	border-top: solid @image-tile-size / 8 transparent; | 
					
						
							|  |  |  | 	border-bottom: solid @image-tile-size / 8 transparent; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .range-offscreen-indicator.left { | 
					
						
							|  |  |  | 	border-right: solid @image-tile-size / 16 yellow; | 
					
						
							|  |  |  | 	border-left: solid @image-border * 2 transparent; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .range-offscreen-indicator.right { | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	border-left: solid @image-tile-size / 16 yellow; | 
					
						
							|  |  |  | 	border-right: solid @image-border * 2 transparent; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-07-20 03:02:18 +04:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /*************************************************** Progress bars ***/ | 
					
						
							|  |  |  | progress { | 
					
						
							|  |  |  | 	-webkit-appearance: none; | 
					
						
							|  |  |  | 	-moz-appearance: none; | 
					
						
							|  |  |  | 	appearance: none; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-12-12 15:29:37 +03:00
										 |  |  | 	height: 2px; | 
					
						
							| 
									
										
										
										
											2014-07-20 03:02:18 +04:00
										 |  |  | } | 
					
						
							|  |  |  | progress::-webkit-progress-bar { | 
					
						
							| 
									
										
										
										
											2016-12-12 15:29:37 +03:00
										 |  |  | 	background: rgba(0,0,0,0.5); | 
					
						
							| 
									
										
										
										
											2014-07-20 03:02:18 +04:00
										 |  |  | } | 
					
						
							|  |  |  | progress::-webkit-progress-value { | 
					
						
							|  |  |  | 	background: yellow; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /* | 
					
						
							|  |  |  | progress:not(value)::-webkit-progress-bar { | 
					
						
							|  |  |  | 	background: transparent; | 
					
						
							|  |  |  | 	background-image:  | 
					
						
							|  |  |  | 		-webkit-linear-gradient(-45deg, transparent 33%, rgba(0,0,0,0.2) 33%, | 
					
						
							|  |  |  | 						rgba(0,0,0,0.2) 66%, transparent 66%), | 
					
						
							|  |  |  | 		-webkit-linear-gradient(left, yellow, orange, yellow); | 
					
						
							|  |  |  | 	background-size: 50px 50px; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	-webkit-animation: animate-progress 5s linear infinite; | 
					
						
							|  |  |  | 	animation: animate-progress 5s linear infinite; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | @-webkit-keyframes animate-progress { | 
					
						
							|  |  |  | 	100% { | 
					
						
							|  |  |  | 		background-position: -100% 0px; | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | @keyframes animate-progress { | 
					
						
							|  |  |  | 	100% { | 
					
						
							|  |  |  | 		background-position: -100% 0px; | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | .progress-container { | 
					
						
							|  |  |  | 	position: absolute; | 
					
						
							| 
									
										
										
										
											2016-11-08 18:57:11 +03:00
										 |  |  | 	top: 30px; | 
					
						
							| 
									
										
										
										
											2014-07-20 03:02:18 +04:00
										 |  |  | 	margin: 5px; | 
					
						
							|  |  |  | 	padding: 2px; | 
					
						
							|  |  |  | 	background: rgba(0,0,0,0.1); | 
					
						
							| 
									
										
										
										
											2016-11-15 18:29:33 +03:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	z-index: 4000; | 
					
						
							| 
									
										
										
										
											2014-07-20 03:02:18 +04:00
										 |  |  | } | 
					
						
							|  |  |  | .progress-container:hover { | 
					
						
							| 
									
										
										
										
											2016-12-12 15:29:37 +03:00
										 |  |  | 	background: rgba(0,0,0,0.2); | 
					
						
							| 
									
										
										
										
											2014-07-20 03:02:18 +04:00
										 |  |  | } | 
					
						
							|  |  |  | .progress-container:empty { | 
					
						
							|  |  |  | 	display: none; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .progress-bar { | 
					
						
							|  |  |  | 	color: silver; | 
					
						
							|  |  |  | 	font-size: 10px; | 
					
						
							|  |  |  | 	margin: 10px; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .progress-bar .close { | 
					
						
							|  |  |  | 	display: none; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .progress-bar:hover .close { | 
					
						
							|  |  |  | 	position: absolute; | 
					
						
							|  |  |  | 	display: inline-block; | 
					
						
							|  |  |  | 	right: 10px; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .progress-bar .close:hover { | 
					
						
							|  |  |  | 	position: absolute; | 
					
						
							|  |  |  | 	display: inline-block; | 
					
						
							|  |  |  | 	color: red; | 
					
						
							| 
									
										
										
										
											2016-02-05 08:24:48 +03:00
										 |  |  | 	cursor: pointer; | 
					
						
							| 
									
										
										
										
											2014-07-20 03:02:18 +04:00
										 |  |  | } | 
					
						
							|  |  |  | .progress-bar progress { | 
					
						
							|  |  |  | 	display: block; | 
					
						
							| 
									
										
										
										
											2016-10-28 18:13:42 +03:00
										 |  |  | 	width: 100%; | 
					
						
							|  |  |  | 	min-width: 300px; | 
					
						
							| 
									
										
										
										
											2014-07-20 03:02:18 +04:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /********************************************** Mode: single image ***/ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | .single-image-mode.viewer .ribbon { | 
					
						
							|  |  |  | 	background-color: transparent; | 
					
						
							| 
									
										
										
										
											2017-02-16 02:24:23 +03:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	will-change: auto; | 
					
						
							| 
									
										
										
										
											2014-07-20 03:02:18 +04:00
										 |  |  | } | 
					
						
							|  |  |  | .single-image-mode.viewer .current-marker { | 
					
						
							| 
									
										
										
										
											2016-04-06 23:05:31 +03:00
										 |  |  | 	/* NOTE: !important here fixes the jQuery habit of explicitly  | 
					
						
							|  |  |  | 		setting display on .show(..)/.hide(..)/.fadeIn(..)/...  | 
					
						
							|  |  |  | 		...if this proves to be a problem, use visibility instead | 
					
						
							|  |  |  | 		of !important... | 
					
						
							|  |  |  | 	 */ | 
					
						
							|  |  |  | 	display: none !important; | 
					
						
							| 
									
										
										
										
											2014-07-20 03:02:18 +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; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-02-29 04:39:46 +03:00
										 |  |  | /************************************ Ribbon Themes (experimental) ***/ | 
					
						
							|  |  |  | /* XXX should these be merged with general themes?? */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | .viewer:not(.single-image-mode).black-ribbon .ribbon { | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | .viewer:not(.single-image-mode).gray-ribbon .ribbon { | 
					
						
							|  |  |  | 	background-color: rgba(0, 0, 0, 0.6); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | .viewer:not(.single-image-mode).light-gray-ribbon .ribbon { | 
					
						
							|  |  |  | 	background-color: rgba(0, 0, 0, 0.2); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | .viewer:not(.single-image-mode).transparent-ribbon .ribbon { | 
					
						
							|  |  |  | 	background-color: transparent; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-07-20 03:02:18 +04:00
										 |  |  | /********************************************************** Themes ***/ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /* XXX this is by no means final... */ | 
					
						
							| 
									
										
										
										
											2014-07-25 02:00:50 +04:00
										 |  |  | /*@import "theme-light";*/ | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-10-11 01:02:22 +03:00
										 |  |  | 
 | 
					
						
							|  |  |  | .light.viewer .metadata-view .preview.image, | 
					
						
							| 
									
										
										
										
											2019-10-09 03:04:46 +03:00
										 |  |  | .light.single-image-mode.viewer .image, | 
					
						
							|  |  |  | .light.transparent-ribbon.viewer .image { | 
					
						
							|  |  |  | 	color: black; | 
					
						
							|  |  |  | } | 
					
						
							| 
									
										
										
										
											2014-07-20 03:02:18 +04:00
										 |  |  | .light.viewer, | 
					
						
							|  |  |  | .light.viewer .overlay-block .background { | 
					
						
							|  |  |  | 	background: white; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .light.viewer .overlay-block .dialog { | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .light.viewer .overlay-block:hover .background:after { | 
					
						
							|  |  |  | 	color: black; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .light.viewer .ribbon-set:empty:before, | 
					
						
							|  |  |  | .light.viewer .ribbon-set:empty:after { | 
					
						
							|  |  |  | 	color: gray; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .light.viewer .ribbon-indicator { | 
					
						
							|  |  |  | 	color: silver; | 
					
						
							|  |  |  | 	text-shadow: none; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	opacity: 0.3; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .light.viewer .ribbon-indicator:hover:after { | 
					
						
							|  |  |  | 	color: gray; | 
					
						
							|  |  |  | 	text-shadow: none; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	opacity: 0.8; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .light.viewer progress::-webkit-progress-bar { | 
					
						
							| 
									
										
										
										
											2016-12-12 15:29:37 +03:00
										 |  |  | 	background: rgba(0,0,0,0.1); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .light.viewer progress::-webkit-progress-value { | 
					
						
							|  |  |  | 	background: red; | 
					
						
							| 
									
										
										
										
											2014-07-20 03:02:18 +04:00
										 |  |  | } | 
					
						
							|  |  |  | .light.viewer .progress-container { | 
					
						
							| 
									
										
										
										
											2016-12-12 15:29:37 +03:00
										 |  |  | 	background: rgba(0, 0, 0, 0.03); | 
					
						
							| 
									
										
										
										
											2014-07-20 03:02:18 +04:00
										 |  |  | } | 
					
						
							|  |  |  | .light.viewer .progress-container:hover { | 
					
						
							| 
									
										
										
										
											2016-12-12 15:29:37 +03:00
										 |  |  | 	background: rgba(0, 0, 0, 0.05); | 
					
						
							| 
									
										
										
										
											2014-07-20 03:02:18 +04:00
										 |  |  | } | 
					
						
							|  |  |  | .light.viewer .progress-bar { | 
					
						
							| 
									
										
										
										
											2016-12-12 15:29:37 +03:00
										 |  |  | 	color: rgba(0,0,0,0.6); | 
					
						
							| 
									
										
										
										
											2016-05-08 14:30:35 +03:00
										 |  |  | } | 
					
						
							| 
									
										
										
										
											2014-07-20 03:02:18 +04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-07-25 02:00:50 +04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-12-12 15:29:37 +03:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-07-25 02:00:50 +04:00
										 |  |  | /*@import "theme-gray";*/ | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-07-20 03:02:18 +04:00
										 |  |  | .gray.viewer, | 
					
						
							|  |  |  | .gray.viewer .overlay-block .background { | 
					
						
							|  |  |  | 	background: #333; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .gray.viewer .overlay-block .dialog { | 
					
						
							|  |  |  | 	background: #555; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .gray.viewer .overlay-block:hover .background:after { | 
					
						
							|  |  |  | 	color: silver; | 
					
						
							|  |  |  | 	opacity: 0.4; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-07-25 02:00:50 +04:00
										 |  |  | 
 | 
					
						
							|  |  |  | /*@import "theme-dark";*/ | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-07-20 03:02:18 +04:00
										 |  |  | .dark.viewer, | 
					
						
							|  |  |  | .dark.viewer .overlay-block .background { | 
					
						
							|  |  |  | 	background: #0a0a0a; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .dark.viewer .overlay-block .dialog { | 
					
						
							|  |  |  | 	background: #333; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .dark.viewer .overlay-block:hover .background:after { | 
					
						
							|  |  |  | 	color: gray; | 
					
						
							|  |  |  | 	opacity: 0.4; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .dark.viewer .ribbon-indicator { | 
					
						
							|  |  |  | 	opacity: 0.2; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .dark.viewer .ribbon-indicator:hover:after { | 
					
						
							|  |  |  | 	opacity: 0.8; | 
					
						
							|  |  |  | } | 
					
						
							| 
									
										
										
										
											2016-12-12 15:29:37 +03:00
										 |  |  | .dark.viewer progress::-webkit-progress-bar { | 
					
						
							|  |  |  | 	background: rgba(255,255,255,0.2); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .dark.viewer .progress-container { | 
					
						
							|  |  |  | 	border: solid 1px transparent; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .dark.viewer .progress-container:hover { | 
					
						
							|  |  |  | 	border: solid 1px rgba(255, 255,255, 0.1); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .dark.viewer .progress-container:hover progress::-webkit-progress-bar { | 
					
						
							|  |  |  |     background: rgba(255,255,255,0.3); | 
					
						
							|  |  |  | } | 
					
						
							| 
									
										
										
										
											2014-07-20 03:02:18 +04:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | .large.viewer:not(.single-image-mode) .current-marker { | 
					
						
							|  |  |  | 	border-width: 2px; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .large.viewer:not(.single-image-mode) .mark:after, | 
					
						
							|  |  |  | .large.viewer:not(.single-image-mode) .marked.image:after { | 
					
						
							|  |  |  | 	.scale(0.7); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | .small.viewer:not(.single-image-mode) .mark:after, | 
					
						
							|  |  |  | .small.viewer:not(.single-image-mode) .marked.image:after { | 
					
						
							|  |  |  | 	.scale(1.5); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /********************************************************* Overlay ***/ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | .overlay-block { | 
					
						
							|  |  |  | 	display: none; | 
					
						
							|  |  |  | 	position: absolute; | 
					
						
							|  |  |  | 	top: 0px; | 
					
						
							|  |  |  | 	left: 0px; | 
					
						
							|  |  |  | 	height: 100%; | 
					
						
							|  |  |  | 	width: 100%; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .viewer.overlay .overlay-block { | 
					
						
							|  |  |  | 	display: block; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | /* XXX this is experimental... */ | 
					
						
							|  |  |  | .viewer.overlay .ribbon-set { | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	/* XXX blur makes things slow with transparency... */ | 
					
						
							|  |  |  | 	-webkit-filter: /*blur(2px)*/ grayscale(.5); | 
					
						
							|  |  |  | 	filter: /*blur(2px)*/ grayscale(.5); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	/* | 
					
						
							|  |  |  | 	-webkit-animation-name: testAnim; | 
					
						
							|  |  |  | 	-webkit-animation-duration: .2s; | 
					
						
							|  |  |  | 	-webkit-animation-iteration-count: 1; | 
					
						
							|  |  |  | 	-webkit-animation-direction: alternate; | 
					
						
							|  |  |  | 	-webkit-animation-timing-function: ease-out; | 
					
						
							|  |  |  | 	-webkit-animation-fill-mode: forwards; | 
					
						
							|  |  |  | 	-webkit-animation-delay: 0s; | 
					
						
							|  |  |  | 	*/ | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .overlay-block .content, | 
					
						
							|  |  |  | .overlay-block .background { | 
					
						
							|  |  |  | 	/* XXX for some magical reason position and top are overwritten  | 
					
						
							|  |  |  | 		with 'static' and 'auto' values respectively */ | 
					
						
							|  |  |  | 	position: absolute !important; | 
					
						
							|  |  |  | 	top: 0px !important; | 
					
						
							|  |  |  | 	left: 0px; | 
					
						
							|  |  |  | 	height: 100%; | 
					
						
							|  |  |  | 	width: 100%; | 
					
						
							|  |  |  | 	cursor: auto; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	opacity: 0.9; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .overlay-block .content, | 
					
						
							|  |  |  | .overlay-block .content table { | 
					
						
							|  |  |  | 	background: transparent; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .overlay-block .background { | 
					
						
							|  |  |  | 	opacity: 0.7; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | .overlay-block:hover .background:after { | 
					
						
							|  |  |  | 	display: inline-block; | 
					
						
							|  |  |  | 	position: absolute; | 
					
						
							|  |  |  | 	content: 'Click background to close.'; | 
					
						
							|  |  |  | 	height: auto; | 
					
						
							|  |  |  | 	width: auto; | 
					
						
							|  |  |  | 	bottom: 20px; | 
					
						
							|  |  |  | 	right: 20px; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	color: white; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	opacity: 0.7; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | .overlay-block .dialog { | 
					
						
							|  |  |  | 	display: inline-block; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	min-height: 50px; | 
					
						
							|  |  |  | 	min-width: 300px; | 
					
						
							|  |  |  | 	/* XXX for some reason this is not sized correctly... */ | 
					
						
							|  |  |  | 	max-height: 90%; | 
					
						
							|  |  |  | 	max-width: 90%; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	/* XXX this needs to be lower priority than max-height... */ | 
					
						
							|  |  |  | 	/*overflow-y: auto;*/ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	color: white; | 
					
						
							|  |  |  | 	border: solid silver 1px; | 
					
						
							|  |  |  | 	border-radius: 3px; | 
					
						
							|  |  |  | 	background: gray; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	padding: 20px; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	vertical-align: middle; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	box-shadow: 0px 5px 50px 0px black; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /* tables in dialogs... */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | .overlay-block .dialog table { | 
					
						
							|  |  |  | 	color: white; | 
					
						
							|  |  |  | 	font-size: small; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	.user-select(auto); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .overlay-block .dialog table tr td:first-child { | 
					
						
							|  |  |  | 	text-align: right; | 
					
						
							|  |  |  | 	font-weight: bold; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .overlay-block .dialog table tr td:last-child { | 
					
						
							|  |  |  | 	color: silver; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | .overlay-block .dialog .choice .item { | 
					
						
							|  |  |  | 	text-align: left; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | .field :focus { | 
					
						
							|  |  |  | 	box-shadow: 0px 0px 3px 0px red; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /* XXX this is a hack -- hide the radio button itself... */ | 
					
						
							|  |  |  | .field.choice input[type=radio] { | 
					
						
							|  |  |  | 	opacity: 0; | 
					
						
							|  |  |  | 	position: absolute; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | .field.choice input ~ span { | 
					
						
							|  |  |  | 	display: block; | 
					
						
							|  |  |  | 	padding: 1px; | 
					
						
							|  |  |  | 	padding-left: 5px; | 
					
						
							|  |  |  | 	padding-right: 5px; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .field.choice :checked ~ span { | 
					
						
							|  |  |  | 	color: white; | 
					
						
							|  |  |  | 	background: gray; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .field.choice :focus ~ span { | 
					
						
							|  |  |  | 	box-shadow: 0px 0px 3px 0px red; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | .light.viewer .field.choice :checked ~ span { | 
					
						
							|  |  |  | 	color: white; | 
					
						
							|  |  |  | 	background: silver; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | .field .disabled-text { | 
					
						
							|  |  |  | 	opacity: 0.5; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /************************************************************ Help ***/ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /* XXX make this more generic, and not just for the keyboard... */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /* 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 :                                             */ |