/* ==============================
   Slick Slider / Gallery Styles
   ============================== */

/* Init */
.slick-slider {
	opacity: 0;
	visibility: hidden;
	overflow: hidden;
	transition: opacity 0.5s ease;
}
.slick-slider.slick-initialized {
	visibility: visible;
	opacity: 1;
}
.slick-slider img {
	width: 100%;
	height: auto;
}
/* Gallery container */
.gallery_container {
	position: relative;
	padding-bottom: 0 !important;
}
.project_gal {
	transition: opacity 0.5s ease;
}
.project_gal.is-loaded {
	opacity: 1;
}
/* Fullscreen gallery */
.fullscreen_gal {
	margin: 0;
	padding: 0;
	width: 100vw;
	height: 100vh;
	z-index: 110;
}
.fullscreen_gal .img_container {
	width: 100%;
	height: 100%;
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
}
.fullscreen_gal .slick-slide img {
	opacity: 0 !important;
	position: absolute;
	top: 0;
}
/* Image captions */
.project_gal .image_caption {
	text-transform: none;
	padding: 1em 8em 2em 0;
}
.project_gal.slick-slider .image_caption {
	bottom: 0;
}
/* Slider images */
.project_gal .slick-slide .img_container {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
}
.project_gal .slick-slide .img_container.background_repeat {
	background-repeat: repeat;
}
.project_gal .slick-slide .portrait img {
	height: auto;
	width: 50%;
	margin: 0 auto;
	opacity: 0 !important;
}
/* Slide wrapper */
.slick-slide {
	overflow: hidden;
}
.slick-slide > div {
	line-height: 0;
}
/* Caption wrapper */
.slick-list {
	overflow: visible;
}
.slick-caption {
	position: absolute;
	bottom: -20px;
	text-align: center;
	width: 100%;
}


/* ==============================
   Thumbnails / Carousel
   ============================== */

.slider_nav {
	padding: 16px 0;
	z-index: 9;
}
.slider_nav .slick-track {
	float: left;
	left: -8px;
}
.slider_nav .slick-slide {
	padding-left: 8px;
	padding-right: 8px;
	outline: none;
	cursor: pointer;
	opacity: 0.5;
	transition: opacity 0.3s ease;
}
.slider_nav .slick-current {
	opacity: 1 !important;
}
.slider_nav .slick-slide:hover {
	opacity: 0.8 !important;
}
/* Thumb container */
.slider_nav .slick-slide .nav_img {
	width: 100%;
	overflow: hidden;
}
/* Thumb images */
.slider_nav .slick-slide .nav_img img {
	width: 100%;
	height: auto;
	object-fit: cover;
	display: block;
	filter: grayscale(100%);
	transition: filter 0.3s ease;
}
.slider_nav .slick-current img, .slider_nav .slick-slide:hover img {
	filter: grayscale(0%);
	opacity: 1;
}
.slider_nav .slick-current img, .slider_nav .slick-slide:hover img {
	filter: grayscale(0%);
	opacity: 1;
}


/* ==============================
   Slider arrows
   ============================== */

.slick-prev, .slick-next {
	font-size: 0 !important;
	line-height: 0 !important;
	position: absolute !important;
	top: 0 !important;
	display: block !important;
	width: 10% !important;
	height: 100% !important;
	margin: 0;
	padding: 0 !important;
	cursor: pointer;
	color: transparent !important;
	outline: none !important;
	background: transparent !important;
	z-index: 9 !important;
	border: none !important;
}
.slick-prev:before, .slick-next:before {
	font-family: 'offont';
	font-size: 30px;
	font-weight: 700;
	line-height: 1;
	opacity: .75;
	color: #141010;
}
.slick-prev {
	left: 0;
}
.slick-prev:before {
	content: "\f104";
}
.slick-next {
	right: 0;
}
.slick-next:before {
	content: "\f105";
}


/* ==============================
   Dots
   ============================== */

.slick-dots {
	display: block;
	width: 100%;
	height: 40px;
	padding: 0;
	margin: 0;
	list-style: none;
	text-align: center;
	position: relative;
}
.slick-dots li {
	display: inline-block;
	width: 40px;
	height: 40px;
	margin: 0;
	padding: 0;
	cursor: pointer;
	line-height: 1px;
}
.slick-dots li button:before {
	font-family: 'offont';
	content: "\f111";
	font-weight: 400;
	font-size: 8px;
	line-height: 40px;
	color: #000;
}


/* ==============================
   Counter
   ============================== */

.slider__counter {
	text-align: right;
	position: absolute;
	bottom: 0;
	right: 2em;
	padding-bottom: 1.8em;
}
.slick-active .slider__counter {
	display: block;
}



/* ==============================
   Wall style images
   ============================== */
.gal_element {
	width: 100%;
	margin-bottom: 8px;
}
.gal_element img {
	width: 100%;
	height: auto;
	display: block;
	object-fit: cover;
}


/* ==============================
   Responsive
   ============================== */
@media only screen and (max-width: 768px) {
	.gal_image_float {
		width: 100vw;
	}
	.gal_image_float_mob {
		width: 50vw;
	}
	.project_gal .image_caption {
		padding: 1em 2em 3em 2em;
	}
	.slick-prev, .slick-next {
		width: 60px !important;
	}
	.slick-prev:before, .slick-next:before {
		padding: 0 !important;
	}
}