.gallery_grid {
	overflow: hidden;
	margin: 0;
	padding: 0;
	
}

.gallery_container {
	display: flex;
	flex-wrap: wrap;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	overflow: hidden;
	margin: 0;
	padding: 0;
	list-style-type: none;
	justify-content: center;


}

.gallery_container > li {

	flex: 0 1 280px;
	color: #ffeead;
	margin: 5px;
	padding: 0;
	position: relative;
	overflow: hidden;
	min-height: 200px;
	padding: 0 !important;

}

.gallery_container figcaption,
.gallery_container div.text {
	position: absolute;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.6);
	color: #fff;
	font-size: 0.9em;
	padding: 20px;
	z-index: 10;
	box-sizing: border-box;
	left: 0;
	top: 0;
	transition: all .3s ease .15s;
	display: flex;
	align-items: center;
	justify-content: center;


}


.gallery_container > li > a {
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0 !important;
	position: absolute;
	top:0; bottom:0; right:0; left:0

}


.gallery_container > li > img {
	width: auto;
	height: auto;
	object-fit: cover;
}

.gallery_container > li > a > img {
	width: auto;
	height: auto;
	object-fit: cover;
}

.gallery_container div.hidetext {
	visibility: hidden;
	margin-left: -300px;
}

.gallery_container div.showtext {
	background: transparent;
	position: relative

}


/* Grid */


.gallery_container > li:hover div.text.hidetext,
.gallery_container > li:active div.text.hidetext,
.gallery_container > li:focus div.text.hidetext {
	visibility: visible;
	margin-left: 0;
	transform: scale(1.0);


}


.gallery_container > div:hover img {

}

.gallery_container div figcaption a,
.gallery_container div.text a {
	border: solid 1px;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	text-indent: -1000px;
	border: 0
}


@supports (display: grid) {


	.gallery_container {

		display: grid;
		grid-gap: 5px;
		grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
		grid-auto-rows: 300px;
		grid-auto-flow: dense;

	}

	.gallery_container > li {
		max-width: 100%;
		margin: 0px;
	}


	.gallery_container > li > img,
	.gallery_container > li > a img {
		width: 100%;
		height: 100%;
		object-fit: cover;

	}

	.horizontal {
		grid-column: span 2;
		-ms-grid-column: 2;

	}

	.vertical {
		grid-row: span 2;

	}

	.big {
		grid-column: span 2;
		-ms-grid-column: 2;


	}


	.gallery_container [data-hspan="1"] {
		grid-row: span 1;
	}

	.gallery_container [data-hspan="2"] {
		grid-row: span 2;
	}


	.gallery_container [data-hspan="3"] {
		grid-row: span 3;
	}


	.gallery_container [data-wspan="1"] {
		grid-column: span 1;

	}


	.gallery_container [data-wspan="2"] {
		grid-column: span 2;

	}

	.gallery_container [data-wspan="3"] {
		grid-column: span 3;

	}

	.gallery_container [data-wspan="4"] {
		grid-column: span 4;

	}

}


@media screen and (max-width: 550px) {
	.gallery_container {
		display: block
	}
	.gallery_container >li
	{margin:5px}
}


.modal {
	display: none;
}

.modal.is-open {
	display: block;
}


/* MODAL */
.modal {
	font-family: -apple-system, BlinkMacSystemFont, avenir next, avenir, helvetica neue, helvetica, ubuntu, roboto, noto, segoe ui, arial, sans-serif;
}

.modal__overlay {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(0, 0, 0, 0.6);
	display: flex;
	justify-content: center;
	align-items: center;
	z-index: 10000;
}

.modal__container {
	background-color: #fff;
	padding: 40px;
	max-width: 750px;
	max-height: 100vh;
	border-radius: 0px;
	overflow-y: auto;
	box-sizing: border-box;
	position: relative;
	color: #555;
	min-width:300px;
}


.closegallerymodal {
	position: absolute;
	right: 0;
	top: 0;
	background: #000;
	border: 0;
	width: 40px;
	height: 40px;
	color: #fff;
	text-indent: -2999px;
	outline: none
}


.closegallerymodal:before, .closegallerymodal:after {
	content: "";

	background: #fff;
	width: 25px;
	height: 2px;
	position: absolute;
	top: 0%;
	margin: 20px 0 0 5px;
	left: 0%;
	transform: rotate(-45deg);
	transition: all 1.0s;
}

.closegallerymodal:after {
	transform: rotate(-135deg);
}

.closegallerymodal:hover:after, .closegallerymodal:hover:before {
	transform: rotate(0deg);
}


.modal__btn {
	background: transparent;
	border: 0;
	position: absolute;
	bottom: 0;
	right: 0;
	text-align: center;
	vertical-align: middle;
	z-index: 10;
	width: 40px;
	height: 40px;


}

.modal__btn:focus, .modal__btn:hover {
	-webkit-transform: scale(1.05);
	transform: scale(1.05);
}


/**************************\
  Demo Animation Style
\**************************/
@keyframes mmfadeIn {
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}

@keyframes mmfadeOut {
	from {
		opacity: 1;
	}
	to {
		opacity: 0;
	}
}

@keyframes mmslideIn {
	from {
		transform: translateY(15%);
	}
	to {
		transform: translateY(0);
	}
}

@keyframes mmslideOut {
	from {
		transform: translateY(0);
	}
	to {
		transform: translateY(-10%);
	}
}

.micromodal-slide {
	display: none;
}

.micromodal-slide.is-open {
	display: block;
}

.micromodal-slide[aria-hidden="false"] .modal__overlay {
	animation: mmfadeIn .3s cubic-bezier(0.0, 0.0, 0.2, 1);
}

.micromodal-slide[aria-hidden="false"] .modal__container {
	animation: mmslideIn .3s cubic-bezier(0, 0, .2, 1);
}

.micromodal-slide[aria-hidden="true"] .modal__overlay {
	animation: mmfadeOut .3s cubic-bezier(0.0, 0.0, 0.2, 1);
}

.micromodal-slide[aria-hidden="true"] .modal__container {
	animation: mmslideOut .3s cubic-bezier(0, 0, .2, 1);
}

.micromodal-slide .modal__container,
.micromodal-slide .modal__overlay {
	will-change: transform;
}


/* ##################   effects ################ */


.gallery_container li.borderflow div.text:before,
.gallery_container li.borderflow div.text:after {
	box-sizing: inherit;
	content: '';
	position: absolute;
	border: 1px solid transparent;
	width: 0;
	height: 0;

}


.gallery_container li.borderflow div.text:before {
	top: 10px;
	left: 10px;
}

.gallery_container li.borderflow div.text:after {
	bottom: 10px;
	right: 10px;
}


.gallery_container > li.borderflow:hover div.text:before,
.gallery_container > li.borderflow:hover div.text:after,
.gallery_container > li.borderflow:active div.text:before,
.gallery_container > li.borderflow:active div.text:after,
.gallery_container > li.borderflow:focus div.text::before,
.gallery_container > li.borderflow:focus div.text:after

{
	width: calc(100% - 20px);
	height: calc(100% - 20px);
}

.gallery_container > li.borderflow:hover div.text:before,
.gallery_container > li.borderflow:active div.text:before,
.gallery_container > li.borderflow:focus div.text:before

{
	border-top-color: #eee;
	border-right-color: #eee;
	transition: width 0.25s ease-out,
	height 0.25s ease-out 0.25s;
}

.gallery_container > li.borderflow:hover div.text:after,
.gallery_container > li.borderflow:active div.text:after,
.gallery_container > li.borderflow:focus div.textt:after {
	border-bottom-color: #eee;
	border-left-color: #eee;
	transition: border-color 0s ease-out 0.5s, width 0.25s ease-out 0.5s, height 0.25s ease-out 0.75s;
}


.gallery_container > li img,
.gallery_container > li a img {
	transition: all ease-out 0.5s
}

.gallery_container > li.imagescale:hover > img ,
.gallery_container > li.imagescale:hover >  a img,
.gallery_container > li.imagescale:active > img ,
.gallery_container > li.imagescale:active >  a img ,
.gallery_container > li.imagescale:focus > img ,
.gallery_container > li.imagescale:focus >  a img


{
	transform: scale(1.1) translate(0, 0);
}


.gallery_container > li.imagerotate:hover > img,
.gallery_container > li.imagerotate:hover > a img
.gallery_container > li.imagerotate:active > img,
.gallery_container > li.imagerotate:active > a img,
.gallery_container > li.imagerotate:focus > img,
.gallery_container > li.imagerotate:focus > a img




{
	transform: scale(1.7) rotate(10deg);
}


.gallery_container >li.visibletext div.text.hidetext
{top:auto; bottom:0; height:auto; margin-left:0;visibility:visible}


.gallery_container div.text.hide {height:auto; bottom:0; top:auto; font-size:0.8em; background:transparent !important}
.gallery_container div.text.hide h2 {margin:0}
.gallery_container .showtext {opacity: 1 !important;}




@-webkit-keyframes scaleUp {
	0% { }
	100% { -webkit-transform: scale(1); opacity: 1; }
}

@keyframes scaleUp {
	0% { }
	100% { -webkit-transform: scale(1); transform: scale(1); opacity: 1; }
}







@-webkit-keyframes popUp {
	0% { }
	70% { -webkit-transform: scale(1.1); opacity: .8; -webkit-animation-timing-function: ease-out; }
	100% { -webkit-transform: scale(1); opacity: 1; }
}
