/*******************************************************
 *
 * Communities
 *
 *******************************************************/

 /* Page Globals */
 .page-template-communities #content-full {
	margin-top: 0;
}

/* Image Wrapper */
.imgWrap {
	position: relative;
}
.imgWrap img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	z-index: 1;
}
.imgWrap canvas {
	display: block;
	width: 100%;
}

/* Custom Title */
.customTtl {
	color: var(--primary-color);
	font-size: 5vw !important;
	font-weight: 400 !important;
	font-family: var(--PlayfairDisplay);
	text-transform: uppercase;
	text-align: center;
	line-height: .75;
	margin: 0 0 70px!important;
}
.customTtl small {
	display: block;
	color: var(--secondary-color);
	font-size: 1.875vw !important;
	font-family: var(--Lato);
	letter-spacing: .1em;
	line-height: 1;
	margin: 0 0 6px;
}
.customTtl span {
	display: flex;
	align-items: center;
	justify-content: center;
}
.customTtl span:after, .customTtl .customTtl__line  {
	content: '';
	width: 25.91%;
	height: 1px;
}
.customTtl span:after {
	margin: 0 0 0 2.5%;
}
.customTtl .customTtl__line {
	background: #e0e0e0;
	margin: 0 2.5% 0 0;
	position: relative;
}
.customTtl .customTtl__line:after {
	position: absolute;
	content: '';
	width: 28.16%;
	height: 3px;
	background: #e0e0e0;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
}


/* Page CSS */
.customWrap {
	padding: 0 7.18%;
	position: relative;
	z-index: 2;
}

.communities__sec01 {
	position: relative;
	padding: 80px 0 100px;
}
.comm {
	display: flex;
	flex-wrap: wrap;
	margin: -5px !important;
	padding: 0;
	list-style-type: none !important;
}
.comm__item {
	width: 33.33%;
	padding: 5px;
}
.comm__link {
	display: block;
}
.comm__link:before {
	position: absolute;
	content: '';
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background: url('../../images/communities/img_overlay.png')no-repeat center center/cover;
	z-index: 2;
}
.comm__link img {
	filter: grayscale(1);
	transition: all .25s ease-in-out;
	-moz-transition: all .25s ease-in-out;
	-webkit-transition: all .25s ease-in-out;
}
.comm__txt {
	position: absolute;
	width: 100%;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	z-index: 3;
}
.comm__name {
	color: #fff;
	font-size: 30px;
	font-weight: 400;
	line-height: 1;
	letter-spacing: .1em;
	text-transform: uppercase;
	text-align: center;
	margin: 0 !important;
}
.comm__btn {
	color: #fff;
	font-size: 14px !important;
	letter-spacing: .075em;
	text-align: center;
	text-transform: uppercase;
	width: 180px;
	padding: 13px;
	margin: 15px auto 0 !important;
	display: none; 
	position: relative; 
	cursor: pointer;
}

.comm__btn:after {
	width: 0;
	height: 0;
	left: 0;
	bottom: 0;
	z-index: -1;
	background: var(--primary-color);
	transition: all .25s ease-in-out;
	-moz-transition: all .25s ease-in-out;
	-webkit-transition: all .25s ease-in-out;
	position: absolute;
    content: '';
}

.comm__btn:hover:after {
	width: 100%;
	height: 100%;
}

.comm__btn:before {
	left: 0;
	bottom: 0;
	width: 100%;
	height: 32px;
	border-left: 2px solid #fff;
	border-bottom: 2px solid #fff;
	position: absolute;
    content: '';
    z-index: -1;
}



.comm__link:hover img {
	filter: grayscale(0);
}
.comm__link:hover .comm__btn {
	display: block;

}
.communities__bg {
	position: absolute;
	width: 100%;
	height: auto;
	top: 0;
	left: 0;
	z-index: 1;
}

/* Media Queries */
@media only screen and (min-width: 1601px) {

	.customTtl {
		font-size: 80px !important;
	}
	.customTtl small {
		font-size: 30px !important;
	}

}
@media only screen and (max-width: 1280px) {

	.comm__name {
	    font-size: 25px;
	}

}
@media only screen and (max-width: 1199px) {

	.comm__name {
	    font-size: 20px;
	}

	.comm__btn {
	    font-size: 12px;
	    width: 170px;
	    padding: 10px;
	}

}
@media only screen and (max-width: 991px) {
	.customWrap {
		padding: 0 15px;
	}

	.customTtl {
		font-size: 50px !important;
		padding: 0 0 30px;
		position: relative;
	}
	.customTtl small {
		font-size: 20px !important;
	}
	.customTtl span:after {
		display: none;
	}
	.customTtl__line {
	    position: absolute !important;
	    width: 300px !important;
	    bottom: 0;
	    left: 50%;
	    top: unset;
	    transform: translate(-50%, 0);
	}
	.customTtl .customTtl__line:after {
		width: 100px;
		right: 50%;
		transform: translate(50%,-50%);
	}

	.communities__sec01 {
	    padding: 70px 0;
	}
	.comm__item {
	    width: 50%;
	    padding: 5px;
	}
}
@media only screen and (max-width: 576px) {

	.customTtl {
		font-size: 40px !important;
	}

	.comm {
		justify-content: center;
	}
	.comm__item {
	    width: 100%;
	    max-width: 450px;
	}
	.comm__item:not(:first-child) {
		margin: 20px 0 0;
	}
}