/*Resets*/
.ip-banner, p#breadcrumbs, h1.entry-title {
    display: none;
}

#inner-page-wrapper, div#content-full {
    margin: 0;
}

div#inner-page-wrapper > .container {
    padding: 0;
    width: 100%;
}
/*Resets*/

/*Globals*/

.ec-section-title {
    font-family: var(--font-family-title);
    font-size: 50px;
    letter-spacing: 0.075em;
    line-height: 0.9;
    text-transform: uppercase;
    color: var(--primary);
}

.ip-ec-paragraphs p, .ip-ec-paragraphs li{
	font-size: 15px !important;
	line-height: 1.5 !important;
	letter-spacing: 0.025em;
	color: #4d4c4c !important;
	text-align: justify;
}

.ip-ec-paragraphs p a,
.ip-ec-paragraphs .underline {
    border-bottom: 1px solid #d2d2d2;
    display: inline-block;
}

.ip-ec-paragraphs h2 {
    margin: 0 !important;
    color: var(--primary) !important;
    font-weight: 400 !important;
    font-size: 30px !important;
    letter-spacing: 0.075em;
    text-transform: uppercase;
    line-height: 1.5 !important;
    margin: 25px 0 !important;
}

.ip-ec-paragraphs h3 {
    font-size: 21px !important;
    color: #666666 !important;
    letter-spacing: 0.02em;
    font-family: var(--font-family-default) !important;
    margin: 15px 0 0 !important;
    font-weight: 600 !important;
}

.ip-ec-paragraphs h3 > i {
    display: block;
    font-size: 15px !important;
    line-height: 1.5 !important;
    letter-spacing: 0.025em;
    font-weight: 400 !important;
    margin-top: 5px;
}

.ip-ec-paragraphs ul {
    margin-left: 25px !important;
}

.w-accent .ip-ec-paragraphs p, 
.w-accent .ip-ec-paragraphs li {
    color: #fff !important;
}

.w-accent .ip-ec-paragraphs h3 {
    color: #fff !important;
}

.content-column:not(.content-column-heading) + .content-column {
    margin-top: 35px;
}

	.content-column-item {
		width: 100%;
	}

.content-column.two-column {
    display: flex;
    align-items: flex-start;
    margin: 0 -20px;
}

	.content-column.two-column .content-column-item {
	    width: 50%;
	    padding: 0 20px;
	}


.image-canvas-overlay {
    position: relative;
}

	.image-canvas-overlay canvas {
	    display: block;
	    width: 100%;
	    height: auto;
	}

	.image-canvas-overlay img {
	    position: absolute;
	    top: 0;
	    left: 0;
	    width: 100%;
	    height: 100%;
	    object-fit: cover;
	    object-position: center;
	}

/*Globals*/

/*Banner*/

.ip-ec-banner {}

	.ip-ec-banner-inner {
		position: relative;
	}

		.ip-ec-banner-photo {
		    position: relative;
		}


			.ip-ec-banner-photo::before {
			    content: '';
			    position: absolute;
			    top: 0;
			    left: 0;
			    width: 100%;
			    height: 100%;
			    pointer-events: none;
			    z-index: 1;
			    background: #000;
			    opacity: 0.25;
			}

			.ip-ec-banner-photo::after {
			    content: '';
			    position: absolute;
			    top: 0;
			    left: 0;
			    width: 100%;
			    height: 30%;
			    pointer-events: none;
			    background: rgb(0,0,0);
			    background: linear-gradient(180deg, rgba(0,0,0,1) 0%, rgba(0,0,0,0) 100%);
			    z-index: 2;
			    opacity: 0.3;
			}


		.ip-ec-banner-tagline {
		    position: absolute;
		    top: 0;
		    left: 0;
		    width: 100%;
		    height: 100%;
		    z-index: 3;
		    display: flex;
		    align-items: center;
		    justify-content: center;
		}

			.ip-ec-banner-tagline-title {
			    color: #fff;
			    font-family: var(--font-family-title);
			    font-size: 75px;
			    letter-spacing: 0.025em;
			    line-height: 1;
			    text-align: center;
			    padding-top: 110px;
			}

				.ip-ec-banner-tagline-title span {
				    display: block;
				    font-family: var(--font-family-default);
				    text-transform: uppercase;
				    font-size: 20px;
				    letter-spacing: 0.025em;
				    line-height: 1;
				}

/*Banner*/

/*About*/

.ip-ec-about {}

	.ip-ec-about-inner {
	    width: 100%;
	    max-width: 1300px;
	    margin: 0 auto;
	    display: flex;
	    align-items: flex-start;
	    justify-content: space-between;
	    flex-direction: row-reverse;
	}

		.ip-ec-about-content {
		    position: relative;
		    width: 71.3%;
		    padding-left: 70px;
		    padding-top: 100px;
		    z-index: 2;
		}

			.ip-ec-about-content-inner {}

				.ip-ec-about-photo {
				    max-width: 40%;
				    float: left;
				    padding-right: 60px;
				    padding-bottom: 60px;
				}

					.ip-ec-about-photo .image-canvas-overlay{
						margin-left: -45%;
					}

				.ip-ec-about-verbiage {}

					.ip-ec-about-title {
					    padding-bottom: 25px;
					}					

					.ip-ec-about-text {}

						.ip-ec-about-text p {
						    text-align: justify;
						}

		.ip-ec-about-table {
		    width: 28.7%;
		    height: 100%;
		    position: relative;
		}

			.ip-ec-about-table::before {
			    content: '';
			    position: absolute;
			    top: 0;
			    right: 0;
			    width: 100vw;
			    height: 100%;
			    background: var(--primary);
			}

			.ip-ec-about-table-inner {
			    margin-left: calc(((100vw - 1300px) / 2) * -1);
			    height: 100%;
			    padding: 100px 60px 100px 60px;
			    color: #fff;
			    position: relative;
			}

				.ip-ec-about-table-title {
				    color: #fff;
				    font-family: var(--font-family-title);
				    font-size: 30px;
				    letter-spacing: 0.025em;
				    line-height: 1;
				    text-transform: uppercase;
				}

					.ip-ec-about-table-title span {
					    display: inline-block;
					    padding-bottom: 20px;
					    border-bottom: 3px solid #c8b273;
					}

				.ip-ec-about-table-lists {
				    margin: 60px 0 0;
				    font-family: var(--font-family-default);
				    text-transform: uppercase;
				    font-size: 16px;
				}

					.ip-ec-about-table-lists ol {
					    margin: 0 0 0 15px !important;
					    line-height: 1.2 !important;
					}

						.ip-ec-about-table-lists ol li:not(:last-child) {
						    margin-bottom: 25px;
						}

							.ip-ec-about-table-lists button {
							    background: transparent;
							    padding: 0;
							    padding-left: 10px;
							    border: none;
							    text-transform: uppercase;
							    letter-spacing: 0.06em;
							    text-align: left;
							    display: inline-block;
							    vertical-align: text-top;
							}
				
/*About*/

/*Maps*/

.ip-ec-map {}

	.ip-ec-map-inner {
	    margin: 100px 0;
	    padding: 0 0 120px;
	    position: relative;
	}

		.ip-ec-map-inner::before {
		    content: '';
		    position: absolute;
		    bottom: 0;
		    left: 0;
		    width: 100%;
		    height: 73%;
		    background: var(--primary);
		}

		.ip-ec-map-inner .image-canvas-overlay {
		    max-width: 1300px;
		    margin: 0 auto;
		}

/*Maps*/

/*Listings*/

.ip-ec-listings {}

	.ip-ec-listings-inner {
	    width: 100%;
	    max-width: 1480px;
	    margin: 0 auto;
	}

		.ip-ec-listings-title {
		    display: flex;
		    align-items: center;
		    justify-content: center;
		    margin-bottom: 50px;
		}

		.ip-ec-listings-feed {
		    display: flex;
		    align-items: center;
		    justify-content: center;
		    flex-wrap: wrap;
		    margin: 0 -10px;
		}

			.ip-ec-listings-item {
			    width: calc(100% / 3);
			    padding: 10px;
			}

				.ip-ec-listings-item a {
				    position: relative;
				    overflow: hidden;
				}

					.ip-ec-listings-item-photo {
					    position: relative;
					    overflow: hidden;
					}

						.ip-ec-listings-item-photo::before {
						    content: '';
						    position: absolute;
						    bottom: 0;
						    left: 0;
						    width: 100%;
						    height: 60%;
						    background: rgb(0,0,0);
						    background: linear-gradient(0deg, rgba(0,0,0,1) 0%, rgba(0,0,0,0) 100%);
						    z-index: 1;
						    opacity: 0.9;
						}

						.ip-ec-listings-item-photo img {
						    transition: all 0.4s ease-in-out;
						}

						.ip-ec-listings-item a:hover .ip-ec-listings-item-photo img {
						    transform: scale(1.05);
						}


					.ip-ec-listings-item-text {
					    position: absolute;
					    bottom: 0;
					    z-index: 2;
					    width: 100%;
					    color: #fff;
					    padding: 0 15px 25px;
					    text-align: center;
					}

						.ip-ec-listings-item-text strong {
						    display: block;
						    font-weight: 600 !important;
						    font-size: 24px;
						    line-height: 1;
						    letter-spacing: 0.05em;
						    margin-bottom: 10px;
						}

						.ip-ec-listings-item-text > span {
						    display: block;
						    margin-bottom: 5px;
						}

						.ip-ec-listings-item-text > div {
						    display: flex;
						    align-items: center;
						    justify-content: center;
						}

							.ip-ec-listings-item-text > div span {
							    padding: 0 15px;
							    border-right: 1px solid;
							}

							.ip-ec-listings-item-text > span, .ip-ec-listings-item-text > div span {
							    font-size: 14px;
							    line-height: 1;
							    letter-spacing: 0.05em;
							    text-transform: uppercase;
							}

							.ip-ec-listings-item-text > div span:last-child {
							    border: none;
							}

		.ip-ec-listings-button {
		    margin-top: 50px;
		    display: flex;
		    align-items: center;
		    justify-content: center;
		}

/*Listings*/


/*Overview*/

.ip-ec-overview {}

	.ip-ec-overview-inner {
	    width: 100%;
	    max-width: 1300px;
	    margin: 100px auto;
	}

		.ip-ec-overview-title {
		    margin-bottom: 35px;
		}

		.ip-ec-overview-content {}


/*Overview*/

/*Homes For Sale*/

.ip-ec-homes-for-sale {}

	.ip-ec-homes-for-sale-inner {
	    width: 100%;
	    max-width: 1300px;
	    margin: 0 auto 50px;
	}

		.ip-ec-homes-for-sale-banner {
		    position: relative;
		}

			.ip-ec-homes-for-sale-banner-photo {
			    position: relative;
			}

				.ip-ec-homes-for-sale-banner-photo::before {
				    content: '';
				    position: absolute;
				    width: 100%;
				    height: 100%;
				    bottom: 0;
				    left: 0;
				    background: rgb(0,0,0);
				    background: linear-gradient(0deg, rgba(0,0,0,1) 0%, rgba(0,0,0,0) 100%);
				    z-index: 1;
				    opacity: 0.4;
				}

			.ip-ec-homes-for-sale-banner-text {
			    position: absolute;
			    bottom: 0;
			    width: 100%;
			    display: flex;
			    align-items: center;
			    justify-content: center;
			    padding-bottom: 95px;
			    z-index: 1;
			}

				.ip-ec-homes-for-sale-banner-text .ec-section-title {
				    color: #fff;
				}

		.ip-ec-homes-for-sale-content {
		    margin-top: 35px;
		}	

/*Homes For Sale*/

/*Living In*/

.ip-ec-living-in {
    overflow: hidden;
}

	.ip-ec-living-in-inner {
	    width: 100%;
	    max-width: 1300px;
	    margin: 0 auto 100px;
	}

		.ip-ec-living-in-intro {
		    position: relative;
		    z-index: 2;
		}

			.ip-ec-living-in-intro-inner {
			    display: flex;
			    align-items: flex-start;
			    margin: 0 -20px;
			}

				.ip-ec-living-in-intro-inner > div {
				    width: 50%;
				    padding: 0 20px;
				}

				.ip-ec-living-in-intro-inner .ip-ec-living-in-intro-text {
				    padding: 40px 20px;
				}

					.ip-ec-living-in-intro-text-verbiage {}

						.ip-ec-living-in-intro-text-verbiage .ip-ec-paragraphs h2 {
						    margin-top: 0 !important;
						}

				.ip-ec-living-in-intro-photo {
				    height: 100%;
				    position: relative;
				}

					.ip-ec-living-in-intro-photo-inner {
					    position: absolute;
					    top: 0;
					    left: 0;
					    width: 100%;
					    padding: 0 20px;
					}

		.ip-ec-living-in-items {}

			.ip-ec-living-in-item {
			    position: relative;
			    padding-top: 70px;
			    padding-bottom: 70px;
			}

				.ip-ec-living-in-item.w-accent:before {
				    content: '';
				    position: absolute;
				    top: 0;
				    left: -50vw;
				    width: 200vw;
				    height: 100%;
				    background: var(--primary);
				}

				.ip-ec-living-in-item-inner {}

				.ip-ec-living-in-item.w-accent .ip-ec-living-in-item-inner {
				    position: relative;
				    z-index: 1;
				}

			.ip-ec-living-in-items .ip-ec-living-in-item:first-child {
			    padding-top: 150px;
			    padding-bottom: 70px;
			}

			.ip-ec-living-in-item.w-accent:not(:first-child) {
			    padding-top: 0;
			}

				.ip-ec-living-in-item.w-accent:not(:first-child) .ip-ec-living-in-item-inner > .content-column-heading:first-child {
				    position: relative;
				    padding-bottom: 50px;
				}

					.ip-ec-living-in-item.w-accent:not(:first-child) .ip-ec-living-in-item-inner > .content-column-heading:first-child::before {
					    content: '';
					    position: absolute;
					    top: 0;
					    left: -50vw;
					    width: 200vw;
					    height: 100%;
					    background: #fff;
					}

					.ip-ec-living-in-item.w-accent:not(:first-child) .ip-ec-living-in-item-inner > .content-column-heading:first-child .ip-ec-paragraphs {
					    position: relative;
					}

						.ip-ec-living-in-item.w-accent:not(:first-child) .ip-ec-living-in-item-inner > .content-column-heading .ip-ec-paragraphs h2 {
						    color: var(--primary) !important;
						}

						.ip-ec-living-in-item.w-accent:not(:first-child) .ip-ec-living-in-item-inner > .content-column-heading .ip-ec-paragraphs p {
						    color: #4d4c4c !important;
						}
					

					.ip-ec-living-in-item.w-accent:not(:first-child) .ip-ec-living-in-item-inner > .content-column-heading:first-child + .content-column {
					    padding-top: 50px;
					    z-index: 2;
					    position: relative;
					}

						.ip-ec-living-in-item.w-accent:not(:first-child) .ip-ec-living-in-item-inner > .content-column-heading:first-child + .content-column > .content-column-item:last-child > .ip-ec-paragraphs > p:first-child > img{
						    margin-top: -120px;
						    margin-bottom: 40px;
						}

			.ip-ec-living-in-item:last-child {
			    padding-bottom: 0;
			}

/*Living In*/

/*Find My Dream Home*/
.ip-ec-find-your-dream-home {}

	.ip-ec-find-your-dream-home-inner {
	    position: relative;
	    padding-bottom: 50px;
	}

		.ip-ec-find-your-dream-home-content {
		    width: 100%;
		    max-width: 900px;
		    margin: 0 auto;
		    background: #fff;
		    padding: 70px 100px;
		    margin-top: calc((8.3% + 70px) * -1);
		    position: relative;
		}

			.ip-ec-find-your-dream-home-content-inner {}

				.ip-ec-find-your-dream-home-content-title {
				    margin-bottom: 40px;
				}

				.ip-ec-find-your-dream-home-content-verbiage {}

/*Find My Dream Home*/



@media only screen and (max-width: 1440px) {
	/*About*/
	.ip-ec-about-photo .image-canvas-overlay {
	    margin-left: -30%;
	}

	.ip-ec-about-photo {
	    padding-right: 30px;
	}

	.ip-ec-about-table-inner {
	    padding-left: 30px;
	    padding-right: 30px;
	}
	/*About*/

	/*Listings*/
	.ip-ec-listings-inner {
	    padding: 0 20px;
	}
	/*Listings*/
}

@media only screen and (max-width: 1366px) {
	/*About*/
	.ip-ec-about-content {
	    padding-right: 20px;
	}
	/*About*/
	/*Map*/
	.ip-ec-map-inner .image-canvas-overlay {
	    max-width: 80%;
	}
	/*Map*/
	/*Overview*/
	.ip-ec-overview-inner{
		padding: 0 20px;
	}
	/*Overview*/

	/*Homes For Sale*/
	.ip-ec-homes-for-sale-content{
		padding: 0 20px;
	}
	/*Homes For Sale*/

	/*Living In*/
	.ip-ec-about-table-inner {
	    margin-left: 0;
	}

	.ip-ec-living-in-intro-inner {
	    padding: 0 20px;
	}

	.ip-ec-living-in-intro-photo-inner .image-canvas-overlay canvas {
	    min-height: 500px;
	}

	.ip-ec-living-in-item {
	    padding-left: 20px;
	    padding-right: 20px;
	}
	/*Living In*/
}

@media only screen and (max-width: 1280px) {
	/*About*/
	.ip-ec-about-table-inner {
	    margin-left: 0;
	}
	/*About*/
}

@media only screen and (max-width: 1024px) {
	/*About*/
	.ip-ec-about-photo .image-canvas-overlay {
        margin-left: -40%;
    }
    .ip-ec-about-photo {
	    padding-bottom: 30px;
	}
    /*About*/
}

@media only screen and (max-width: 991px) {
	/*Globals*/
	.content-column.two-column {
	    flex-direction: column;
	}

	.content-column.two-column .content-column-item {
	    width: 100%;
	}

	.ip-ec-paragraphs p img {
		width: 100%;
	    margin: 0 auto;
	    max-width: 600px;
	}

	/*Globals*/
	.ec-section-title{
		text-align: center;
	}

	.ip-ec-paragraphs h2{
		text-align: center;
	}

	.ip-ec-paragraphs h3{
		text-align: center;
	}	
	/*Globals*/
	/*Globals*/

	/*Banner*/
	.ip-ec-banner-tagline-title{
		padding-top: 0;
		padding-left: 15px;
		padding-right: 15px;
	}
	/*Banner*/

	/*About*/
	.ip-ec-about-inner {
	    flex-direction: column;
	    align-items: center;
	}

	.ip-ec-about-content {
	    width: 100%;
	    padding: 0 20px;
	    order: 3;
	}

	.ip-ec-about-table {
	    width: 100%;
	    height: auto;
	    order: 1;
	}

	.ip-ec-about-table-inner {
	    padding: 50px 20px;
	}

	.ip-ec-about-table-title {
	    text-align: center;
	}

	.ip-ec-about-table-lists {
	    display: flex;
	    align-items: center;
	    justify-content: center;
	}

	.ip-ec-about-title {
	    order: 2;
	    padding: 35px 20px;
	    text-align: center;
	}

	.ip-ec-about-photo {
	    float: none;
	    margin: 0 auto;
	    width: 100%;
	    max-width: 400px;
	    padding-right: 0;
	}

	.ip-ec-about-photo .image-canvas-overlay {
	    margin: 0;
	}
	/*About*/

	/*Map*/
	.ip-ec-map-inner {
	    margin: 35px 0 0;
	    padding-bottom: 60px;
	}

	.ip-ec-map-inner .image-canvas-overlay {
	    width: 90%;
	    max-width: 800px;
	}
	/*Map*/

	/*Listings*/
	.ip-ec-listings-inner {
	    margin: 35px 0 0;
	}
	.ip-ec-listings-title{
		margin-bottom: 35px;
	}
	.ip-ec-listings-item {
	    width: 100%;
	    max-width: 400px;
	}
	/*Listings*/

	/*Overview*/
	.ip-ec-overview-inner {
	    margin: 35px 0;
	}

	.ip-ec-overview-title {
	    text-align: center;
	}
	/*Overview*/

	/*Homes for Sale*/
	.ip-ec-homes-for-sale-inner {
	    margin: 35px 0;
	}

	.ip-ec-homes-for-sale-banner-text .ec-section-title {
	    text-align: center;
	    padding-left: 20px;
	    padding-right: 20px;
	}

	.ip-ec-homes-for-sale-banner-photo .image-canvas-overlay canvas {
	    min-height: 300px;
	}
	/*Homes for Sale*/

	/*Living In*/
	.ip-ec-living-in-intro-inner {
	    flex-direction: column;
	    padding-bottom: 35px;
	}

	.ip-ec-living-in-intro-inner > div {
	    width: 100%;
	}

	.ip-ec-living-in-intro-text-title {
	    margin-bottom: 35px;
	}

	.ip-ec-living-in-intro-photo-inner {
	    position: relative;
	    margin: 0 auto;
	    max-width: 600px;
	}

	.ip-ec-living-in-intro-photo-inner .image-canvas-overlay canvas {
	    min-height: unset;
	}

	.ip-ec-living-in-intro-photo {
	    width: auto;
	}

	.ip-ec-living-in-items .ip-ec-living-in-item:first-child {
	    padding-top: 35px;
	    padding-bottom: 35px;
	}

	.ip-ec-living-in-item {
	    padding-top: 35px;
	    padding-bottom: 35px;
	}

	.ip-ec-living-in-item.w-accent:not(:first-child) .ip-ec-living-in-item-inner > .content-column-heading:first-child + .content-column > .content-column-item:last-child > .ip-ec-paragraphs > p:first-child > img {
	    margin-top: 0;
	    margin-bottom: 0;
	}
	/*Living In*/

	/*Find your Dream Home*/
	.ip-ec-find-your-dream-home-inner .image-canvas-overlay canvas {
	    min-height: 300px;
	}
	.ip-ec-find-your-dream-home-content-title {
	    text-align: center;
	}
	.ip-ec-find-your-dream-home-content {
	    width: 90%;
	    max-width: 800px;
	}
	/*Find your Dream Home*/
}

@media only screen and (max-width: 767px) {
	/*Banner*/
	.ip-ec-banner-photo .image-canvas-overlay canvas {
	    min-height: 400px;
	}
	/*Banner*/
	/*Home For Sale*/
	.ip-ec-homes-for-sale-banner-text {
	    padding-bottom: 35px;
	}
	/*Home For Sale*/
	/*Find your Dream Home*/
	.ip-ec-find-your-dream-home-content {
	    padding: 35px 20px;
	}
	/*Find your Dream Home*/
}

@media only screen and (max-width: 480px) {
	/*Globals*/
	.ec-section-title{
		font-size: 35px;
		line-height: 1.2;
	}

	.ip-ec-paragraphs h2{
		font-size: 25px !important;
	}

	.ip-ec-paragraphs h3{
		font-size: 18px !important;
	}	
	/*Globals*/
}
