/* PICBOX */
#pbOverlay.show{ opacity:1; pointer-events:auto; }
#pbOverlay{
	opacity:0;
	overflow:hidden;
	-moz-user-select:none;
	background:radial-gradient(ellipse closest-corner at 50% 50%, rgba(0,0,0,.6) 1%, rgba(0,0,0,.9) 100%);
	background:-webkit-radial-gradient(50% 50%, ellipse closest-corner, rgba(0,0,0,.6) 1%, rgba(0,0,0,.9) 100%);
	width:100%;
	height:100%;
	position:fixed;
	z-index:9999;
	left:0;
	top:0;
	-webkit-transform:translate3d(0px, 0px, 0px);
	transition:opacity 400ms ease;
	-webkit-transition:opacity 400ms ease;
	-ms-transition:opacity 400ms ease;
	text-align:center;
	pointer-events:none;
}
#pbOverlay.msie{ background-color:rgba(0,0,0,.6); }
#pbOverlay.msie.pbLoading .imageWrap{ background:url('../images/loading.gif') no-repeat center; width:80px; }

@keyframes pbLoaderFrames{ 50%{ height:5px; } }
@-webkit-keyframes pbLoaderFrames{ 50%{ height:5px; } }

#pbOverlay .pbLoader{ visibility:hidden; opacity:0; pointer-events:none; -webkit-transform:scale(.2); transform:scale(.2); position:absolute; z-index:999; top:50%; left:50%; margin:-50px 0 0 -50px; text-align:center; border-radius:100%; box-shadow:15px 32px 60px -20px #FFF inset, 1px 1px 3px 1px #FFF inset; width:100px; height:100px; transition:0.3s; -webkit-transition:0.2s; }
#pbOverlay.thumbs .pbLoader{ margin-top:-100px; }
#pbOverlay.pbLoading:not(.msie) .pbLoader{ visibility:visible; opacity:1; -webkit-transform:scale(1); transform:scale(1); }
	#pbOverlay .pbLoader b{ display:inline-block; vertical-align:middle; margin:0 2px; width:8px; height:60px; border-radius:5px; background:rgba(255,255,255,0.8); box-shadow:0 0 10px rgba(0,0,0,0.5); -webkit-animation:.9s pbLoaderFrames infinite linear; animation:.9s pbLoaderFrames infinite linear; }
	#pbOverlay .pbLoader b:nth-child(1){  }
	#pbOverlay .pbLoader b:nth-child(2){ -webkit-animation-delay:.3s; animation-delay:.3s; }
	#pbOverlay .pbLoader b:nth-child(3){ -webkit-animation-delay:.6s; animation-delay:.6s; }

#pbOverlay .imageWrap::after,
#pbCaption .pbThumbs ul::after,
#pbOverlay .pbLoader::before{ content:""; display:inline-block; height:100%; margin-right:-0.25em; vertical-align:middle; }

/* fixes image flickering when resizing with transform */
#pbOverlay .imageWrap{ display:inline-block; box-sizing:border-box; -moz-box-sizing:border-box; vertical-align:middle; height:100%; perspective:700px; -webkit-perspective:700px; }
#pbOverlay .imageWrap::before{ content:'Could not be loaded'; position:absolute; top:-999px; opacity:0; background:rgba(0,0,0,.6); border-radius:50px; color:#FFF; display:inline-block; font-size:1.4em; font-weight:bold; line-height:1.2; padding:20px; text-transform:uppercase; vertical-align:middle; white-space:pre; transition:.6s; -webkit-transition:.6s; }
#pbOverlay.error .imageWrap::before{ position:static; opacity:1; transform:scale(1.2); -webkit-transform:scale(1.2); }
#pbOverlay.thumbs .imageWrap{ padding-bottom:100px; }
#pbOverlay.error .imageWrap img{ width:0; }

#pbOverlay.show .imageWrap img{ 
	transition:1s .5s cubic-bezier(0.095, 0.870, 0.485, 0.985);
	-ms-transition:.6s .5s ease-out; 
	-webkit-transition:.6s .5s cubic-bezier(0.095, 0.870, 0.485, 0.985); 
	transform:scale(1) rotateX(0); 
	-webkit-transform:scale(1); 
	-ms-transform:scale(1); 
	-webkit-backface-visibility:hidden; }
#pbOverlay .imageWrap img, #pbOverlay .imageWrap img.prepare{ display:inline-block; vertical-align:middle; transform:scale(0) rotateX(90deg); -webkit-transform:scale(0) rotateX(90deg); border-radius:6px; border:none; box-shadow:0 0 30px #000; max-height:95%; }
#pbOverlay.on .imageWrap img{ transition-delay:0s; -webkit-transition-delay:0s; -ms-transition-delay:0s; }
#pbOverlay .imageWrap img.zoomable{ transition:50ms; -webkit-transition:50ms; -ms-transition:50ms; position:relative; z-index:99; }
#pbOverlay.hide .imageWrap img{ transform:scale(1.2); -webkit-transform:scale(1.2); opacity:0; transition:.4s ease-in; -webkit-transition:.4s ease-in; -ms-transition:.4s ease-in; }

#pbCloseBtn{
	position:absolute;
	top:-50px; right:-50px;
	z-index:999;
	display:block;
	padding:0 0 20px 20px;
	text-align:center;
	cursor:pointer;
	color:#FFF;
	transition:.3s .3s ease-out;
	-webkit-transition:.2s .3s ease-out;
}
.hide #pbCloseBtn{ top:-50px; right:-50px; }
.on #pbCloseBtn{ top:-2px; right:-2px; }

#pbCloseBtn b{ display:inline-block; height:35px; width:35px; padding:8px 3px 0px 3px; font-size:2em; opacity:1; line-height:1; vertical-align:middle; transition:0.1s ease-out; -webkit-transition:0.1s ease-out; }
#pbCloseBtn:hover b{ padding:8px 3px 0px 3px; font-size:2em; }

#pbCaption, .hide #pbCaption{ position:absolute; z-index:999; bottom:-110px; width:100%; text-align:center; transition:0.4s; -webkit-transition:0.4s; }
.show.on #pbCaption{ bottom:5px; transition-delay:.5s; -webkit-transition-delay:.5s; }
	#pbCaption > .title, #pbCaption > .counter{ display:inline-block; opacity:1; color:#FFF; font-weight:bold; font-size:.9em; margin:0 6px; text-shadow:1px 1px 1px rgba(0,0,0,.5); }

#pbCaption .pbThumbs{ display:block; width:100%; overflow:hidden; }
#pbCaption .pbThumbs:hover{ clear:both;  }
	#pbCaption .pbThumbs ul{ display:inline-block; position:relative; list-style:none; height:80px; padding:0 5px; margin:0; white-space:pre; transition:0.2s; -webkit-transition:0.2s; }
	#pbCaption .pbThumbs ul::after{ vertical-align:bottom; }
		#pbCaption .pbThumbs li{ display:inline-block; vertical-align:bottom; }
			#pbCaption .pbThumbs a{ padding:0 2px; display:block; -moz-user-select:none; }
				#pbCaption .pbThumbs img{ height:100%; height:50px; opacity:0.6; border:2px solid #FFF; max-width:none; border-radius:0; transition:0.15s; -webkit-transition:0.15s; }
				#pbCaption .pbThumbs li.fast a img{ transition:none; -webkit-transition:none; }
				#pbCaption .pbThumbs a:hover img,
				#pbCaption .pbThumbs li.active a img{ opacity:1; height:75px; }
				#pbCaption .pbThumbs li.active a img{ border-color:#D8FF16; }

#pbOverlay .prevNext{ position:absolute; z-index:2; height:100%; width:35%; padding:80px 0; opacity:0; box-sizing:border-box; -moz-box-sizing:border-box; top:0; transition:.2s ease-out; -webkit-transition:.2s ease-out; cursor:pointer; }
#pbOverlay.on .prevNext:hover{ opacity:.5; }
#pbOverlay.on .prevNext:active{ opacity:1; }
	.prevNext b{ width:68px; height:103px; position:absolute; top:50%; margin-top:-52px; background:url('../images/arrow.png') center center no-repeat; transform:scale(.6); -webkit-transform:scale(.6); transition:.2s cubic-bezier(0.095, 0.870, 0.485, 0.985); -webkit-transition:.2s cubic-bezier(0.095, 0.870, 0.485, 0.985); }
	#pbPrevBtn b{ left:30%; transform:scale(.6) rotate(180deg); -webkit-transform:scale(.6) rotate(180deg); -ms-transform:rotate(180deg); }
	#pbNextBtn b{ right:30%; }
	#pbOverlay.on #pbPrevBtn:hover b{ transform:scale(1) rotate(180deg); -webkit-transform:scale(1) rotate(180deg); -ms-transform:rotate(180deg); left:5%; }
	#pbOverlay.on #pbNextBtn:hover b{ transform:scale(1); -webkit-transform:scale(1); right:5%; }
	
#pbOverlay.show #pbPrevBtn, #pbOverlay.show #pbNextBtn{  }
#pbOverlay.show #pbPrevBtn{ left:0; }
#pbOverlay.show #pbNextBtn{ right:0; }