/********************
* EPL Search
*********************/

.elementor-widget-ic_epl_search .epl-search-forms-wrapper.epl-search-default,
.elementor-widget-ic_epl_search .epl-search-forms-wrapper.epl-search-wide {
	width: 100%;
	display: block;
	max-width: none;
}

.elementor-widget-ic_epl_search .epl-search-tabs {
	display: flex;
}

.elementor-widget-ic_epl_search .epl-search-tabs li {
	margin: 0;
}

.elementor-widget-ic_epl_search .epl-search-tabs li.epl-sb-current {
	border-bottom: none;
}

.elementor-widget-ic_epl_search .epl-search-form .epl-search-land-area,
.elementor-widget-ic_epl_search .epl-search-form form {
	display: flex;
	align-items: flex-end;
	column-gap: var(--column-gap);
	row-gap: var(--row-gap);
}

.elementor-widget-ic_epl_search .epl-search-default form {
	flex-wrap: wrap;
}

.elementor-widget-ic_epl_search .epl-search-default .epl-search-row-half {
	width: calc(50% - (var(--column-gap) / 2));
}

.elementor-widget-ic_epl_search .epl-search-default .epl-search-row-third {
	width: calc(33% - (var(--column-gap) * 2 / 3));
}

.elementor-widget-ic_epl_search .epl-search-wide .epl-search-land-area {
	width: 75%;
}

.elementor-widget-ic_epl_search .in-field:focus {
	outline: none;
}

/********************
* EPL Open Homes
*********************/

body:not(.elementor-editor-active) .hide-no-inspections:has(.no-inspections) {
	display: none;
}

.elementor-widget-ic_epl_archive_inspection_times .inspections-container {
	display: flex;
	flex-direction: column;
	gap: var(--epl-insp-date-gap, calc(var(--v-space) * 2));
}

.elementor-widget-ic_epl_archive_inspection_times .inspections-date-container {
	display: flex;
	flex-direction: column;
	gap: var(--epl-insp-inspection-gap, calc(var(--v-space) * 2));
}

.elementor-widget-ic_epl_archive_inspection_times .inspections-heading {
	margin-bottom: var(--epl-insp-heading-margin, calc(var(--v-space) * 2));
}

.elementor-widget-ic_epl_archive_inspection_times .inspections-date-heading {
	margin-bottom: var(--epl-insp-date-margin, var(--v-space));
}


/****************************
* EPL Archive Feature Image
*****************************/

.elementor-widget-ic_epl_archive_featured_image img {
	display: block;
	width: 100%;
	aspect-ratio: var(--img-aspect-ratio, auto);
	object-fit: cover;
}

.elementor-widget-ic_epl_archive_featured_image .epl-stickers-wrapper {
	position: absolute;
	z-index: 5;
	top: var(--sticker-pos-top, auto);
	bottom: var(--sticker-pos-bottom, auto);
	left: var(--sticker-pos-left, auto);
	right: var(--sticker-pos-right, auto);
}

.epl-stickers-wrapper {
	display: flex;
	gap: var(--sticker-gap, 10px);
}


/****************************
* EPL Property Icons
*****************************/

.elementor-widget-ic_epl_property_icons .property-feature-icons {
	display: flex;
	gap: var(--gap-between, 20px);
	color: var(--text-color, inherit);
}

.elementor-widget-ic_epl_property_icons .property-feature-icons > * {
	position: relative;
}

.elementor-widget-ic_epl_property_icons .property-feature-icons > *::before {
	position: absolute;
	top: 50%;
	left: calc(var(--gap-between, 20px) / 2 * -1);
	transform: translate(-50%, -50%);

	border-style: var(--divider-style, solid);
	border-bottom: 0;
	border-left-width: var(--divider-width, 1px);
	border-right: 0;
	border-top: 0;
	width: auto;
	height: var(--divider-height, 100%);
}

.elementor-widget-ic_epl_property_icons .property-feature-icons li {
	list-style: none;
	margin: 0;
}

.elementor-widget-ic_epl_property_icons .epl-icon-svg-container {
	display: flex;
	align-items: center;
	gap: var(--icon-gap, 0.5em);
}

.elementor-widget-ic_epl_property_icons .epl-icon-svg {
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--icon-color, inherit);
}

.elementor-widget-ic_epl_property_icons svg {
	fill: currentColor;
	width: var(--icon-size, 20px);
	height: var(--icon-size, 20px);
}


/****************************
* EPL Property Agents
*****************************/

.elementor-widget-ic_epl_property_agents .agents-container {
	display: flex;
	flex-wrap: wrap;
	column-gap: var(--agent-col-gap, var(--h-space));
	row-gap: var(--agent-row-gap, var(--v-space));
}

.elementor-widget-ic_epl_property_agents .agent {
	--col: var(--num-columns, 1);
	--gap: var(--agent-col-gap, var(--h-space));
	
	width: calc(((100% + var(--gap)) / var(--col)) - var(--gap));
	
	display: flex;
	gap: var(--agent-image-space, var(--h-space));
}

.elementor-widget-ic_epl_property_agents .agent-image {
	flex: 0 0 auto;
	align-self: var(--agent-image-align, flex-start);
	width: var(--agent-image-size, 100px);
	overflow: hidden;
}

.elementor-widget-ic_epl_property_agents .agent-image img {
	display: block;
	width: 100%;
	aspect-ratio: 1;
}

.elementor-widget-ic_epl_property_agents .agent-details {
	align-self: var(--agent-details-align, flex-start);
	display: flex;
	flex-direction: column;
	gap: var(--agent-name-space, var(--v-space));
}

.elementor-widget-ic_epl_property_agents .agent-name {
	color: var(--agent-name-color, inherit);
	margin: 0;
}

.elementor-widget-ic_epl_property_agents .agent-contact a {
	color: var(--contact-text-color);
}

.elementor-widget-ic_epl_property_agents .agent-contact a:hover {
	color: var(--contact-hover-color);
	text-decoration: none;
}


/****************************
* EPL Property Inspection Times
*****************************/

.elementor-widget-ic_epl_property_inspection_times .epl-inspection-times {
	display: flex;
	flex-direction: var(--heading-direction, column);
	gap: var(--heading-spacing, var(--h-space));
}

.elementor-widget-ic_epl_property_inspection_times .epl-inspection-times-label {
	flex: 0 0 auto;
	margin: 0;
	color: var(--heading-color, inherit);
}

.elementor-widget-ic_epl_property_inspection_times .home-open-wrapper {
	list-style: none;
	padding: 0;
	margin: 0;
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
	gap: var(--date-spacing, var(--v-space));
}

.elementor-widget-ic_epl_property_inspection_times .epl_inspection_calendar {
	color: var(--date-color, inherit);
}

.elementor-widget-ic_epl_property_inspection_times .epl_inspection_calendar:hover {
	color: var(--date-color-hover, inherit);
	text-decoration: none;
}


/****************************
* EPL Property Floorplans
*****************************/

.elementor-widget-ic_epl_property_floorplans .floorplans-container {
	display: flex;
}

.elementor-widget-ic_epl_property_floorplans .floorplans-container > a,
.elementor-widget-ic_epl_property_floorplans .floorplans-container > img {
	flex: 1 1 0;
	min-width: 0;
}

.elementor-widget-ic_epl_property_floorplans .floorplans-container a {
	display: block;
}

.elementor-widget-ic_epl_property_floorplans .floorplans-container img {
	display: block;
	width: 100%;
	height: auto;
	transition: all .3s;
}
