/* ------------------------------------------------

		13. Portfolio & Gallery

------------------------------------------------ */

	.inner_j_item{
		display: block;
		position: relative;
		overflow: hidden;
	}

	[class*="j_item"] a:not(.wall_image){
		color: #fff;
		position: relative;
		display: inline-block;
	}

	[class*="j_item"] a:hover{
		text-decoration: none;
	}

	[class*="j_item"] a:not(.overlay_link):not([class*="fancybox"])::before{
		content: "";
		display: block;
		position: absolute;
		bottom: 0;
		left: 0;
		width: 0;
		border-bottom-width: 1px;
		border-bottom-style: solid;

		-webkit-transition-property: width;
				transition-property: width;

		-webkit-transition-timing-function: ease-out;
				transition-timing-function: ease-out;

		-webkit-transition-delay: 0s;
				transition-delay: 0s;

		-webkit-transition-duration: inherit;
				transition-duration: inherit;
	}

	[class*="j_item"] a:not(.overlay_link):not([class*="fancybox"]):hover::before{
		width: 100%;
	}

	.inner_j_item .meta{
		position: relative;
		z-index: 5;
	}

	.inner_j_item .meta::after{
		content: "";
		display: block;
		clear: both;
	}

	.inner_j_item .overlay_link{
		position: absolute !important;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		z-index: 3;

		-webkit-transition: background-color .3s ease, opacity .3s ease;
				transition: background-color .3s ease, opacity .3s ease;
	}

	.inner_j_item .title{
		color: #fff;
		display: inline-block;
		margin-bottom: 0px;
		z-index: 4;
	}

	.inner_j_item .title > a{
		display: inline-block;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}

	.inner_j_item .title,
	.inner_j_item .category,
	.sl_wrap{
		opacity: 0;

		-webkit-transition: -webkit-transform .3s ease, opacity .3s ease;
				transition: 		transform .3s ease, opacity .3s ease;
	}

	.inner_j_item .item_image{
		-webkit-transition: -webkit-transform .3s ease;
				transition: 		transform .3s ease;
	}

	.inner_j_item .category{
		text-transform: capitalize;
		font-size: 14px;

		-webkit-transition-delay: .1s;
				transition-delay: .1s;
	}

	.sl_wrap:first-child{
		margin-right: 10px;

		-webkit-transition-delay: .15s;
				transition-delay: .15s;
	}

	.sl_wrap:last-child{
		-webkit-transition-delay: .2s;
				transition-delay: .2s;
	}

	.inner_j_item:hover .title,
	.inner_j_item:hover .category,
	.inner_j_item:hover .sl_wrap,
	.wall_j_item:hover .sl_wrap{
		opacity: 1;
	}

	.sl_wrap{
		display: inline-block;
	}

	.sl_wrap{
		color: #fff;
		font-size: 12px;
	}

	.sl_wrap i[class|="icon"]{
		display: inline-block;
		height: 0;
	}

	.sl_wrap i[class|="icon"]::before{
		font-size: 15px;
		margin-right: 5px;
		vertical-align: middle;
		line-height: 0;
		height: 1px;
	}

	.item_type_1 .category,
	.item_type_5 .category{
		float: left;
		width: 50%;
		padding-right: 10px;
	}

	.item_type_1 .stats,
	.item_type_5 .stats{
		text-align: right;
		float: right;
		width: 50%;
		padding-left: 10px;
	}

	.item_type_3:hover .item_image,
	.item_type_4:hover .item_image,
	.item_type_5:hover .item_image{
		-webkit-transform: scale(1.05);
			-ms-transform: scale(1.05);
				transform: scale(1.05);
	}

	.item_type_4 .meta,
	.item_type_2 .meta{
		position: absolute;
		top: 50%;
		left: 0;
		width: 100%;
		text-align: center;
		z-index: 5;

		-webkit-transform: translateY(-50%);
			-ms-transform: translateY(-50%);
				transform: translateY(-50%);
	}

	/* layouts */

	.item_type_1 .overlay_link{
		padding: 23px 20px;
	}

	.item_type_1 .meta{
		position: absolute;
		left: 0;
		right: 0;
		bottom: 0;
		padding: 8px 20px;
		background: #181818;
		overflow: hidden;

		-webkit-transition: -webkit-transform .3s ease;
				transition: 		transform .3s ease;

		-webkit-backface-visibility: hidden;
	}

	.item_type_1 .title,
	.item_type_3 .title,
	.item_type_5 .title{
		position: absolute;
		top: 23px;
		left: 20px;
		right: 20px;
		z-index: 5;
	}

	.item_type_1 .title,
	.item_type_1 .category,
	.item_type_1 .sl_wrap,
	.item_type_1 .meta,
	.wall_j_item.type_1 .sl_wrap,
	.wall_j_item.type_4 .sl_wrap{
		-webkit-transform: translateY(100%);
			-ms-transform: translateY(100%);
				transform: translateY(100%);
	}

	.item_type_1:hover .overlay_link{
		background-color: rgba(24, 24, 24, .5);
	}

	.item_type_1:hover .title,
	.item_type_1:hover .category,
	.item_type_1:hover .sl_wrap,
	.item_type_1:hover .meta,
	.wall_j_item.type_1:hover .sl_wrap,
	.wall_j_item.type_4:hover .sl_wrap,
	.wall_j_item.type_5:hover .sl_wrap{
		-webkit-transform: translateY(0%);
			-ms-transform: translateY(0%);
				transform: translateY(0%);
	}

	.item_type_2 .overlay_link{
		padding: 7px;
		text-align: center;
		top: 10px;
		bottom: 10px;
		right: 10px;
		left: 10px;
	}

	.item_type_2 .overlay_link::after{
		content: "";
		display: block;
		position: absolute;
		top: 0px;
		right: 0px;
		bottom: 0px;
		left: 0px;
		background: rgba(24, 24, 24, .6);
		opacity: 0;

		-webkit-transition: -webkit-transform .3s ease, opacity .3s ease;
				transition: 		transform .3s ease, opacity .3s ease;
	}

	.item_type_2:hover .overlay_link::after{
		opacity: 1;
	}

	.item_type_2 .item_image,
	.item_type_2 .overlay_link::after,
	.wall_j_item.type_3 .wall_image::before{
		-webkit-transform: scale(1.1);
			-ms-transform: scale(1.1);
				transform: scale(1.1);
	}

	.item_type_2:hover .item_image,
	.item_type_2:hover .overlay_link::after,
	.wall_j_item.type_3:hover .wall_image::before{
		-webkit-transform: scale(1);
			-ms-transform: scale(1);
				transform: scale(1);
	}

	.item_type_3 .meta{
		position: static;
	}

	.item_type_3 .overlay_link{
		padding: 23px 20px;
	}

	.item_type_3:hover .overlay_link{
		background: rgba(24, 24, 24, .5);
	}

	.item_type_3 .category{
		position: absolute;
		top: 53px;
		left: 20px;
		right: 20px;
		z-index: 5;
	}

	.item_type_3 .stats{
		text-align: right;
		position: absolute;
		z-index: 5;
		bottom: 15px;
		right: 20px;
	}

	.item_type_3 .title,
	.item_type_3 .category,
	.item_type_3 .sl_wrap,
	.wall_j_item.type_5 .sl_wrap{
		-webkit-transform: translateY(-60%);
			-ms-transform: translateY(-60%);
				transform: translateY(-60%);
	}

	.item_type_3:hover .title,
	.item_type_3:hover .category,
	.item_type_3:hover .sl_wrap{
		-webkit-transform: translateY(0%);
			-ms-transform: translateY(0%);
				transform: translateY(0%);
	}

	.item_type_4 .overlay_link{
		text-align: center;
		background: rgba(24, 24, 24, .3);
		border: 10px solid rgba(24, 24, 24, .4);
		opacity: 0;
	}

	.item_type_4 .title,
	.item_type_4 .category,
	.item_type_4 .sl_wrap,
	.wall_j_item.type_2 .sl_wrap{
		-webkit-transform: translateX(-10px);
			-ms-transform: translateX(-10px);
				transform: translateX(-10px);
	}

	.item_type_4 .overlay_link::after,
	.wall_j_item.type_2 .wall_image::after{
		content: "";
		display: block;
		position: absolute;
		left: 0;
		right: 0;
		top: 0;
		bottom: 0;
		border: 2px solid #fff;

		-webkit-transition: -webkit-transform .3s ease;
				transition: 		transform .3s ease;

		-webkit-transform: scale(1.17);
			-ms-transform: scale(1.17);
				transform: scale(1.17);

		-webkit-backface-visibility: hidden;
	}

	.wall_j_item.type_2 .wall_image::after{
		top: 10px;
		right: 10px;
		bottom: 10px;
		left: 10px;
	}

	.item_type_4:hover .title,
	.item_type_4:hover .category,
	.item_type_4:hover .sl_wrap,
	.wall_j_item.type_2:hover .sl_wrap{
		-webkit-transform: translateX(0px);
			-ms-transform: translateX(0px);
				transform: translateX(0px);
	}

	.item_type_4:hover .overlay_link{
		opacity: 1;
	}

	.item_type_4:hover .overlay_link::after,
	.wall_j_item.type_2:hover .wall_image::after{
		-webkit-transform: scale(1);
			-ms-transform: scale(1);
				transform: scale(1);
	}

	.item_type_5:hover .overlay_link{
		background-color: rgba(24, 24, 24, .5);
	}

	.item_type_5 .title{
		display: block;
	}

	.item_type_5 .title::after{
		content: "";
		display: block;
		position: absolute;
		top: 100%;
		left: 0;
		width: 100%;
		margin-top: 5px;
		border-bottom: 1px solid #fff;
	}

	.item_type_5 .meta{
		position: absolute;
		top: 63px;
		left: 20px;
		right: 20px;
	}

	.item_type_5 .title,
	.item_type_5 .category,
	.item_type_5 .sl_wrap{
		-webkit-transform: translateX(-20px);
			-ms-transform: translateX(-20px);
				transform: translateX(-20px);

		-webkit-transition-duration: .4s;
				transition-duration: .4s;
		-webkit-transition-timing-function: cubic-bezier(.2, 2, 1, 1);
				transition-timing-function: cubic-bezier(.2, 2, 1, 1);
	}

	.item_type_5:hover .title,
	.item_type_5:hover hr,
	.item_type_5:hover .category,
	.item_type_5:hover .sl_wrap{
		-webkit-transform: translateX(0px);
			-ms-transform: translateX(0px);
				transform: translateX(0px);
	}

	/* --------------------------------------------
			13.1. Portfolio Single item
	-------------------------------------------- */

		.portfolio_post.single{
			margin-bottom: 70px;
		}

		.post_meta{
			margin-bottom: 35px;
		}

		.post_meta .row:not(:last-child){
			padding-bottom: 18px;
		}

		.post_extra_section:not(:last-child){
			margin-bottom: 30px;
		}

		.share_post{
			text-align: right;
		}

	/* --------------------------------------------
			13.2. Related Portfolio Projects
	-------------------------------------------- */

		.related_projects{
			overflow: hidden;
			margin-left: -15px;
			margin-right: -15px;
		}

		.related_projects.full_width{
			margin-left: -5px;
			margin-right: -5px;
		}

		.related_projects .inner_j_item{
			float: left;
			border-style: solid;
			border-color: transparent;
			border-width: 0 15px 30px 15px;
		}

		.related_projects.full_width .inner_j_item{
			border-width: 0 5px 10px 5px;
		}

		.related_projects.three_columns .inner_j_item{
			width: 33.33333%;
		}

	/* --------------------------------------------
			13.3. Gallery Albums
	-------------------------------------------- */

		.album{
			position: relative;
		}

		.album > li:not(:first-child){
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
		}

		.album > li:not(.active){
			opacity: 0;
		}

	/* --------------------------------------------
			13.4. Gallery Flow
	-------------------------------------------- */

		.flow_carousel_wrap{
			overflow: hidden;
		}

		.flow_item{
			position: relative;
			border-top: 25px solid transparent;
			border-bottom: 155px solid transparent;
		}

		.flow_carousel .owl-stage{
			padding: 75px 0;
		}

		.flow_carousel .owl-item{
			-webkit-transition: -webkit-transform .4s ease;
					transition: 		transform .4s ease;
		}

		.flow_carousel .owl-item.center{
			z-index: 1;

			-webkit-transform: scale(1.25);
				-ms-transform: scale(1.25);
					transform: scale(1.25);
		}

		.mirroring{
			position: absolute;
			top: 100%;
			left: 0;
			width: 100%;
			height: 100%;
			margin-top: 1px;

			-webkit-transform: matrix(1, 0, 0, -1, 0, 0);
				-ms-transform: matrix(1, 0, 0, -1, 0, 0);
					transform: matrix(1, 0, 0, -1, 0, 0);
		}

		.mirroring::before{
			content: "";
			position: absolute;
			top: 0;
			right: -1px;
			bottom: 0;
			left: -1px;
			z-index: 1;
			background: -webkit-linear-gradient(bottom, rgba(255, 255, 255, .7), #fff 20%);
			background:    -moz-linear-gradient(bottom, rgba(255, 255, 255, .7), #fff 20%);
			background:      -o-linear-gradient(bottom, rgba(255, 255, 255, .7), #fff 20%);
			background:			linear-gradient(bottom, rgba(255, 255, 255, .7), #fff 20%);

		}

		.gallery_slide_data .slide_caption{
			margin-bottom: 4px;
		}

		.gallery_slide_data .slide_description{
			font-size: 14px;
			line-height: 22px;
		}

		.gallery_slide_data{
			position: relative;
			z-index: 1;

			-webkit-transition: -webkit-transform .4s ease, opacity .4s ease, visibility .4s ease;
					transition: 		transform .4s ease, opacity .4s ease, visibility .4s ease;
		}

		.gallery_slide_data.changing{
			opacity: 0;

			-webkit-transform: translateY(20px);
				-ms-transform: translateY(20px);
					transform: translateY(20px);
		}

	/* --------------------------------------------
			13.5. Protected Gallery
	-------------------------------------------- */

		.protected_gallery_wrap{
			color: #fff;
		}

		.protected_gallery_wrap .title{
			font-size: 60px;
			margin-bottom: 16px;
		}

		.protected_gallery_wrap .description{
			font-size: 18px;
			margin-bottom: 35px !important;
		}

		.full_screen_page_bg{
			position: fixed;
			z-index: -1;
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
			background-repeat: no-repeat;
			background-position: center;
			background-size: cover;
		}

		.full_screen_page_bg.overlay::after{
			content: "";
			display: block;
			position: absolute;
			top: 0;
			right: 0;
			bottom: 0;
			left: 0;
			background: rgba(24, 24, 24, .55);
		}

		.bg1{
			background-image: url("../images/gallery_kenburns_img_4.jpg");
		}

		.bg2{
			background-image: url("../images/galleries_protected.jpg");
		}

	/* --------------------------------------------
			13.6. Gallery wall items
	-------------------------------------------- */

		.wall_j_item{
			overflow: hidden;
		}

		.wall_image{
			display: block;
			position: relative;
		}

		.wall_image > img{
			-webkit-transition: -webkit-transform .4s ease;
					transition: 		transform .4s ease;
		}

		.wall_image::before{
			content: "";
			display: block;
			position: absolute;
			top: 0;
			right: 0;
			bottom: 0;
			left: 0;
			opacity: 0;
			z-index: 1;
			background-color: rgba(24, 24, 24, .5);
			background-repeat: no-repeat;

			-webkit-transition: opacity .4s ease, background-position .4s ease;
					transition: opacity .4s ease, background-position .4s ease;
		}

		.wall_image::after{
			z-index: 2;
		}

		.transparent_icon.photo,
		.wall_image.photo::before{
			background-image: url("../images/icon_plus.png");
		}

		.transparent_icon.video,
		.wall_image.video::before{
			background-image: url("../images/icon_play.png");
		}

		.wall_j_item:hover .wall_image > img{
			-webkit-transform: scale(1.05);
				-ms-transform: scale(1.05);
					transform: scale(1.05);
		}

		.wall_j_item:hover .wall_image::before{
			opacity: 1;
		}

		.wall_j_item .stats{
			position: absolute;
			z-index: 3;
		}

		.wall_j_item.type_1 .stats,
		.wall_j_item.type_4 .stats,
		.wall_j_item.type_5 .stats{
			right: 20px;
			bottom: 20px;
		}

		.wall_j_item.type_1 .wall_image::before{
			background-position: center 55%;
		}

		.wall_j_item.type_1:hover .wall_image::before{
			background-position: center center;
		}

		.wall_j_item.type_2 .stats,
		.wall_j_item.type_3 .stats{
			text-align: center;
			top: 50%;
			left: 0;
			width: 100%;
			margin-top: 10px;
		}

		.wall_j_item.type_2 .wall_image::before{
			top: -25px;
			background-color: rgba(24, 24, 24, .3);
			border: 10px solid rgba(24, 24, 24, .4);
			background-position: 45% 50%;
			border-top-width: 35px;
			background-origin: border-box;
		}

		.wall_j_item.type_2:hover .wall_image::before{
			background-position: center 50%;
		}

		.wall_j_item.type_3 .wall_image::before{
			top: -15px;
			right: 10px;
			bottom: 10px;
			left: 10px;
			padding-top: 25px;
			background-clip: content-box;
			background-color: rgba(24, 24, 24, .6);
			background-position: center 50%;

			-webkit-transition: -webkit-transform .4s ease, opacity .4s ease;
					transition: 		transform .4s ease, opacity .4s ease;
		}

		.wall_j_item.type_4 .wall_image::before{
			display: none;
		}

		.transparent_icon{
			position: absolute;
			top: 50%;
			left: 50%;
			z-index: 1;
			margin: -25px 0 0 -25px;
			width: 50px;
			height: 50px;
			border: 1px solid #fff;
			background-color: rgba(24, 24, 24, .6);
			background-repeat: no-repeat;
			background-position: center center;
			opacity: 0;

			-webkit-transition: -webkit-transform .4s ease, opacity .4s ease;
					transition: 		transform .4s ease, opacity .4s ease;

			-webkit-transform: scale(2);
				-ms-transform: scale(2);
					transform: scale(2);
		}

		.transparent_icon::before{
			content: "";
			bottom: 100%;
			height: 2000px;
			left: -1px;
			right: -1px;
			margin-bottom: 1px;
		}

		.transparent_icon::after{
			content: "";
			top: 100%;
			height: 2000px;
			left: -1px;
			right: -1px;
			margin-top: 1px;
		}

		.transparent_icon .left_overlay{
			width: 2000%;
			right: 100%;
			margin: -1000% 1px 0 0;
			height: 2000%;
		}

		.transparent_icon .right_overlay{
			width: 2000%;
			left: 100%;
			margin: -1000% 0 0 1px;
			height: 2000%;
		}

		.transparent_icon::before,
		.transparent_icon::after,
		.transparent_icon > [class*="_overlay"]{
			display: block;
			position: absolute;
			background: rgba(24, 24, 24, .6);
		}

		.wall_j_item:hover .transparent_icon{
			opacity: 1;

			-webkit-transform: scale(1);
				-ms-transform: scale(1);
					transform: scale(1);
		}

		.wall_j_item.type_5 .wall_image::before{
			padding: 20px;
			background-origin: content-box;
			background-position: left 90%;
		}

		.wall_j_item.type_5:hover .wall_image::before{
			background-position: left bottom;
		}
