/*
 * Template Name: Local Communities
 */


#inner-page-wrapper{
	margin-bottom: 0;
}

#inner-page-wrapper > .container{
	width: 100%;
	padding: 0 0;
}

.ip-banner{
	display: none;
}
.custom-bc{
	border-bottom: 1px solid #b7b7b7;
}
#lcomm-ip{}
.lcomm-inner{}
.lcomm-title{
	padding: 49px 0 0;
}
.lcomm-intro {
    margin: 36px auto 0;
    text-align: center;
    font-size: 16px;
    line-height: 1.177;
    max-width: calc(100% - 30px);
    width: 1340px;
}

.lcomm-list{
	padding: 0 15px 40px;
	margin: 32px 0 0;
}
.lcomm-single{}
.lcomm-single a{
	display: block;
	position: relative;
	overflow: hidden;
}
.lcomm-single a .lcomm-img{
	position: relative;
	z-index: 0;
	background: #fff;
}
.lcomm-single a .lcomm-img-canvas{
	position: relative;
	z-index: 0;
}
.lcomm-single a .lcomm-img-content{
	position: absolute;
	z-index: 1;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	opacity: 1;
	background: #000;
}
.lcomm-single a .lcomm-img-content img{
	position: absolute;
	z-index: 0;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	opacity: 1;
}
.lcomm-single a:hover .lcomm-img-content img{
	opacity: 0.3;
}
.lcomm-single a .lcomm-det {
    position: absolute;
    z-index: 1;
    left: 0;
    right: 0;
    bottom: 0;
    text-align: center;
    background: rgba(255,255,255,1);
    color: #333;
    padding: 30px 15px;
}
.lcomm-single a .lcomm-name{
	font-size: 36px;
	letter-spacing: 0.040em;
	font-family: var(--font-family-title);
	margin: 0 0 13px;
}
.lcomm-single a:not(:hover) .lcomm-name span{
	display: none;
}
.lcomm-single a .lcomm-desc{
	font-size: 16px;
    line-height: 1.177;
}
.lcomm-single a .lcomm-vd{
	margin: 16px 0 0;
}
#hp-map{
	position: relative;
}

.lcomm-buttons{
	width: 1450px;
	max-width: calc(100% - 30px);
	margin: 30px auto 0;
	padding: 0 0 40px;
	display: flex;
	flex-flow: row wrap;
	align-items: center;
	justify-content: center;
}
.lcomm-button{
    width: calc(20% - 12px);
    margin-left: 15px;
    margin-bottom: 15px;
}
.lcomm-button:first-child{
	margin: 0 0 15px;
}
.lcomm-button a{
	display: block;
	position: relative;
}
.lcomm-button a .lcomm-button-img{
	overflow: hidden;
}
.lcomm-button a .lcomm-button-img:before{
	content:'';
	display: block;
	position: absolute;
	z-index: 2;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: #000;
	opacity: 0.5;
}
.lcomm-button a:hover .lcomm-button-img:before{
	opacity: 0.7;
}
.lcomm-button a .lcomm-button-img img{
	filter: grayscale(0);
	-webkit-filter: grayscale(0);
	transform: scale(1);
	-moz-transform: scale(1);
	-webkit-transform: scale(1);
}
.lcomm-button a:hover .lcomm-button-img img{
	filter: grayscale(1);
	-webkit-filter: grayscale(1);
	transform: scale(1.1);
	-moz-transform: scale(1.1);
	-webkit-transform: scale(1.1);
}
.lcomm-button a .lcomm-button-label{
	position: absolute;
	z-index: 1;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	display: flex;
	flex-flow: row wrap;
	align-items: center;
	justify-content: center;
	text-align: center;
	padding: 15px;
}
.lcomm-button a .lcomm-button-label span {
    color: #fff;
    text-transform: uppercase;
    font-weight: 500;
    font-size: 20px;
    letter-spacing: 0.020em;
    filter: drop-shadow(1px 1px 2px #000);
    -webkit-filter: drop-shadow(1px 1px 2px #000);
}

@media only screen and (min-width: 768px) {
	.lcomm-list{
		display: flex;
		flex-flow: row wrap;
		align-items: center;
		justify-content: flex-start;
		padding: 0 min(1vw,16px) 122px;
	}
	.lcomm-single {
	    margin-left: min(0.8125vw,13px);
	    width: calc(100% / 3 - min(0.5625vw,9px));
	}
	.lcomm-single:nth-child(3n + 1){
		margin-left: 0;
	}
	.lcomm-single:nth-child(n + 4){
		margin-top: min(2.5vw,40px);
	}
	.lcomm-single a .lcomm-vd{
		margin: 0 0 0;
	}
	.lcomm-single a:hover .lcomm-vd{
		margin: min(1vw,16px);
	}
	.lcomm-single a .lcomm-det {
	    padding: 21px min(0.9375vw,15px) 0;
	    transition: all ease .25s;
	    -moz-transition: all ease .25s;
	    -webkit-transition: all ease .25s;
	}
	.lcomm-single a:hover .lcomm-det{
		color: #fff;
	    background: rgba(255,255,255,0);
	    padding: 0 min(0.9375vw,15px) min(2.75vw,44px);
	}
	.lcomm-single a .lcomm-name{
		font-size: min(2.25vw,36px);
		margin: 0 0 min(0.8125vw,13px);
		transition: all ease .25s;
		-moz-transition: all ease .25s;
		-webkit-transition: all ease .25s;
	}
	.lcomm-single a .lcomm-desc{
		font-size: min(1vw,16px);
		transition: all ease .25s;
		-moz-transition: all ease .25s;
		-webkit-transition: all ease .25s;
	}
	.lcomm-single a .lcomm-vd{
		margin: 0 0 max(-3.25vw,-52px);
		opacity: 0;
		transition: all ease .25s;
		-moz-transition: all ease .25s;
		-webkit-transition: all ease .25s;
	}
	.lcomm-single a:hover .lcomm-vd{
		margin: min(1vw,16px) 0 0;
		opacity: 1;
	}
}
@media only screen and (min-width: 992px) {
	.custom-banner > div{
		max-height: 75vh;
		background-position: center bottom;
	}
	.lcomm-button{
	    width: calc(20% - min(0.811vw,12px));
	    margin-left: min(1.014vw,15px);
	    margin-bottom: min(1.014vw,15px);
	}
	.lcomm-button:first-child {
		margin-bottom: min(1.014vw,15px);
	}
	.lcomm-button a .lcomm-button-label{
		padding: min(1.014vw,15px);
	}
	.lcomm-button a .lcomm-button-label span {
	    font-size: min(1.351vw,20px);
	}
}
@media only screen and (max-width: 1199px) {}
@media only screen and (max-width: 991px) {
	.lcomm-buttons{
		flex-flow: column wrap;
		align-items: center;
		justify-content: center;
	}
	.lcomm-button {
	    width: 100%;
	    margin-left: 0;
	    margin-top: 20px;
	    max-width: 300px;
	}
}
@media only screen and (max-width: 767px) {
	.lcomm-single {
	    max-width: 514px;
	    margin: 30px auto 0;
	}

	.lcomm-single:first-child{
		margin-top: 0;
	}
	.lcomm-single a .lcomm-img-canvas canvas{
		aspect-ratio: 514/373;
	}
	.lcomm-single a .lcomm-det {
	    position: relative;
	    color: #fff;
	    background: #000;
	}
}
@media only screen and (max-width: 567px) {}
@media only screen and (max-width: 480px) {}