/* VITA_GALLERY_BUILD: 20260515-gallery-v3 — mobile gallery fit viewport */
/*
    Colorbox Core Style:
    The following CSS is consistent between example themes and should not be altered.
*/
#colorbox, #cboxOverlay, #cboxWrapper{position:absolute; top:0; left:0; z-index:9999; /*overflow:hidden;*/ -webkit-transform: translate3d(0,0,0);}
#cboxWrapper {max-width:none;}
#cboxOverlay{position:fixed; width:100%; height:100%;}
#cboxMiddleLeft, #cboxBottomLeft{clear:left;}
#cboxContent{position:relative;}
#cboxLoadedContent{overflow:hidden; -webkit-overflow-scrolling: touch;}
#cboxTitle{margin:0;}
#cboxLoadingOverlay, #cboxLoadingGraphic{position:absolute; top:0; left:0; width:100%; height:100%;}
#cboxPrevious, #cboxNext, #cboxClose, #cboxSlideshow{cursor:pointer;}
.cboxPhoto{float:left; margin:auto; border:0; display:block; max-width:none; -ms-interpolation-mode:bicubic;
	/*width: 90% !important;
	height: 100% !important;*/
}
.cboxIframe{width:100%; height:100%; display:block; border:0; padding:0; margin:0;}
#colorbox, #cboxContent, #cboxLoadedContent{box-sizing:content-box; -moz-box-sizing:content-box; -webkit-box-sizing:content-box;}

/* 
    User Style:
    Change the following styles to modify the appearance of Colorbox.  They are
    ordered & tabbed in a way that represents the nesting of the generated HTML.
*/
#cboxOverlay{background:#000; opacity: 0.9; filter: alpha(opacity = 90);}
#colorbox{outline:0;}
    #cboxContent{margin-top:20px;background:#fff;}
        .cboxIframe{background:#fff;}
        #cboxError{padding:50px; border:1px solid #ccc;}
        #cboxLoadedContent{border:5px solid #000; background:#ffffff;}
        #cboxTitle{position:absolute; top:-20px; left:0; color:#ccc;}
        #cboxCurrent{position:absolute; top:12px; left:20px; color:#ccc;}
        #cboxLoadingGraphic{background:url(images/loading.gif) no-repeat center center;}

        /* these elements are buttons, and may need to have additional styles reset to avoid unwanted base styles */
        #cboxPrevious, #cboxNext, #cboxSlideshow, #cboxClose {border:0; padding:0; margin:0; overflow:visible; width:auto; background:none; }
        
        /* avoid outlines on :active (mouseclick), but preserve outlines on :focus (tabbed navigating) */
        #cboxPrevious:active, #cboxNext:active, #cboxSlideshow:active, #cboxClose:active {outline:0;}
        
        #cboxSlideshow{position:absolute; top:-20px; right:90px; color:#fff;}
        #cboxPrevious {
			position:absolute; 
			top:50%; 
			left:30px; 
			margin-top:-32px; 
			background:url(images/controls.png) no-repeat 0 -12px; 
			width:37px; 
			height:37px; 
			text-indent:-9999px;
		}
        //#cboxPrevious:hover{background-position:bottom left;}
        #cboxNext {
			position:absolute; 
			top:50%; 
			right:20px; 
			margin-top:-32px; 
			background:url(images/controls.png) no-repeat -62px -12px; 
			width:37px; 
			height:38px; 
			text-indent:-9999px;
		}
        //#cboxNext:hover{background-position:bottom right;}
        #cboxClose{position:absolute; top:0; right:-4px; display:block; background:url(images/controls.png) no-repeat top center; width:34px; height:19px; text-indent:-9999px;}
        #cboxClose:hover{background-position:bottom center;}

/* Property gallery photos: fit any aspect ratio inside the viewport */
#colorbox {
	max-width: 100vw !important;
	max-height: 100vh !important;
}

#cboxContent,
#cboxLoadedContent {
	max-width: calc(100vw - 40px) !important;
	max-height: calc(100vh - 80px) !important;
}

#cboxLoadedContent:has(img.cboxPhoto) {
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}

img.cboxPhoto {
	float: none !important;
	display: block;
	margin-left: auto !important;
	margin-right: auto !important;
	margin-top: 0 !important;
	max-width: calc(100vw - 80px) !important;
	max-height: calc(100vh - 120px) !important;
	width: auto !important;
	height: auto !important;
	object-fit: contain;
}

/* Mobile: full-viewport overlay, tight white frame, centred image */
@media (max-width: 767px) {
	#colorbox,
	#cboxWrapper {
		position: fixed !important;
		top: 50% !important;
		left: 50% !important;
		transform: translate(-50%, -50%) !important;
		margin: 0 !important;
		max-width: 100vw !important;
		max-height: 100dvh !important;
	}

	#cboxContent {
		margin-top: 0 !important;
		background: transparent !important;
	}

	#cboxLoadedContent {
		border-width: 2px !important;
		background: #fff !important;
		padding: 0 !important;
		line-height: 0 !important;
	}

	#cboxLoadedContent:has(img.cboxPhoto) {
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
	}

	img.cboxPhoto {
		max-width: calc(100vw - 24px) !important;
		max-height: calc(100dvh - 48px) !important;
	}

	#cboxCurrent {
		top: 8px !important;
		left: 10px !important;
		color: #333 !important;
		z-index: 10001;
	}

	#cboxPrevious {
		left: 8px !important;
		margin-top: -24px !important;
	}

	#cboxNext {
		right: 8px !important;
		margin-top: -24px !important;
	}

	#cboxClose {
		top: 4px !important;
		right: 4px !important;
		z-index: 10001;
	}
}