@charset "utf-8";

/*====================================================================
colorbox
====================================================================*/


/*
    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);
  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: auto;
	-webkit-overflow-scrolling: touch;
}
#cboxTitle {
	margin: 0;
	display: none !important;
}
#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;
}
.cboxIframe {
	width: 100%;
	height: 100%;
	display: block;
	border: 0;
	padding: 0;
	margin: 0;
}
#colorbox, #cboxContent, #cboxLoadedContent {
	-moz-box-sizing: content-box;
	-webkit-box-sizing: content-box;
	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: rgba(0,0,0,0.3);
	opacity: 0.9;
	filter: alpha(opacity=90);
}
#colorbox {
	outline: 0;
	overflow: hidden;
}
#cboxContent {
	margin: 30px 0;
	/* padding: 0 20px; */
	overflow: visible;
	background: #000;
}
.cboxIframe {
	background: #fff;
}
#cboxError {
	padding: 50px;
	border: 1px solid #ccc;
}
#cboxLoadedContent {
  background: #fff;
  padding: 0;
}
#cboxLoadingGraphic {
	background: url(loading.gif) no-repeat center center;
}
#cboxLoadingOverlay {
	background: #000;
}
#cboxTitle {
	position: absolute;
	bottom: -24px;
	left: 0;
	color: #000;
	font-size: 14px;
}
#cboxCurrent {
	position: absolute;
	top: -24px;
	left: 0;
	font-size: 14px;
}

/* 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;
	text-indent: -9999px;
	width: 20px;
	height: 20px;
	position: absolute;
	top: -20px;
	background: url(controls.png) no-repeat 0 0;
}

/* avoid outlines on :active (mouseclick), but preserve outlines on :focus (tabbed navigating) */

#cboxPrevious:active, #cboxNext:active, #cboxSlideshow:active, #cboxClose:active {
	outline: 0;
}
#cboxPrevious {
	background-position: 0px 0px;
	right: 44px;
}
#cboxPrevious:hover {
	background-position: 0px -25px;
}
#cboxNext {
	background-position: -25px 0px;
	right: 22px;
}
#cboxNext:hover {
	background-position: -25px -25px;
}
#cboxClose {
    /* display: none !important; */
    background-position: -50px 0px;
    right: 0;
    color: rgba(255,255,255,0);
    background: unset;
    height: 40px;
    width: 40px;
    text-indent: 0;
    top: -50px;
}
#cboxClose::before {
    position: absolute;
    content: "×";
    display: flex;
    margin-left: auto;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    font-size: 40px;
    color: #fff;
    cursor: pointer;
}
@media screen and (max-width: 767px) {
	#cboxClose::before {
		position: absolute;
		top: 10px;
		right: -8px;
	}
}

#cboxClose:hover {
	background-position: -50px -25px;
}
.cboxSlideshow_on #cboxPrevious, .cboxSlideshow_off #cboxPrevious {
	right: 66px;
}
.cboxSlideshow_on #cboxSlideshow {
	background-position: -75px -25px;
	right: 44px;
}
.cboxSlideshow_on #cboxSlideshow:hover {
	background-position: -100px -25px;
}
.cboxSlideshow_off #cboxSlideshow {
	background-position: -100px 0px;
	right: 44px;
}
.cboxSlideshow_off #cboxSlideshow:hover {
	background-position: -75px -25px;
}

/*====================================================================
.gallery_area
====================================================================*/

.gallery_area {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.photoswipe_gallery:after {
	content: "";
	display: block;
	width: 32.5%;
}
.gallery_area div {
	width: 32.5%;
	margin-bottom: 1.25%;
}
.gallery_area div a {
	display: block;
	transition-duration: 0.3s;
}
.gallery_area div a:hover {
	opacity: .7;
	cursor: zoom-in;
}
.gallery_area div a img {
	width: 100%;
	height: auto;
	vertical-align: top;
}
@media screen and (max-width: 767px) {
	#cboxMiddleLeft,
	#cboxContent,
	#cboxLoadedContent,
	#cboxWrapper {
		height: 50.667vw !important;
	}
	#cboxContent {
		position: absolute;
		top: 115%;
		left: 50%;
		transform: translate(-50%, -50%);
	}
}