.custom-search-form {
	background-color: #E5EBF0;
	padding: 45px 0;
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 25px;
	width: 100%;
	max-width: 600px;
	margin: 0 auto;
	font-size: 16px;
	line-height: 1.75;
	margin-bottom: 120px;
	@media (max-width: 767px) {
		margin-top: 40px;
		max-width: 100%;
	}
	&:has(.results_filter.hidden) {
		margin-bottom: 60px;
	}
	&::after {
		z-index: -1;
		content: '';
		background-color: inherit;
		width: 100vw;
		height: 100%;
		position: absolute;
		left: 50%;
		margin-left: -50vw;
		top: 0;
	}
	& :is(label, .input-wrap) {
		width: 100%;
		display: flex;
	}
	& label {
		font-weight: 600;
		line-height: 1;
	}
	& .row {
		display: flex;
		width: 100%;
		--columns: 2;
		--gapY: 40px;
		gap: 8px var(--gapY);
		flex-wrap: wrap;
		@media (max-width: 767px) {
			--columns: 1;
			&:has(.column) {
				gap: 25px var(--gapY);
			}
		}
	}
	& .column {
		flex: 0 1 calc((100% / var(--columns)) - var(--gapY) + (var(--gapY) / var(--columns)));
		display: flex;
		gap: 8px;
		flex-direction: column;
	}
	& :is(input, select) {
		background: #FFFFFF 0% 0% no-repeat padding-box;
		border: 1px solid #D9D9D9;
		border-radius: 3px;
		flex: 1;
		height: 44px;
		padding: 0 12px;
	}
	& .search-submit {
		border-radius: 0px 3px 3px 0px;
		padding: 11px;
		border: none;
		aspect-ratio: 1;
		& svg {
			width: 11px;
			fill: #fff;
		}
	}
	& .results_filter {
		position: absolute;
		top: calc(100% + 50px);
		--columns: 2;
		@media (max-width: 400px) {
			top: calc(100% + 10px);
			--columns: 1;
		}
	    & .column {
			flex-direction: row;
		}
		&.hidden {
			display: none;
		}
		& label { font-weight: bold } 
		& p {
			position: relative;
			text-transform: capitalize;
			text-decoration: underline;
			overflow: visible;
			padding-right: 16px;
			&::after {
				content: '';
				position: absolute;
				right: 0;
				top: 0;
				width: 10px;
				height: 100%;
				background-image: url('data:image/svg+xml,<svg aria-hidden="true" class="e-font-icon-svg e-fas-angle-down" viewBox="0 0 320 512" xmlns="http://www.w3.org/2000/svg" plerdy-tracking-id="23589755301"><path d="M143 352.3L7 216.3c-9.4-9.4-9.4-24.6 0-33.9l22.6-22.6c9.4-9.4 24.6-9.4 33.9 0l96.4 96.4 96.4-96.4c9.4-9.4 24.6-9.4 33.9 0l22.6 22.6c9.4 9.4 9.4 24.6 0 33.9l-136 136c-9.2 9.4-24.4 9.4-33.8 0z"></path></svg>');
				background-position: 50%;
				background-repeat: no-repeat;
			}
		}
		& select {
			opacity: 0;
			position: absolute;
			inset: 0;
		}
		& .results-sort {
			flex: 0;
			width: auto;
			gap: 15px;
			margin-left: auto;
			white-space: nowrap;
			flex-wrap: nowrap;
			@media (max-width: 767px) {
				margin: 0;
			}
		}
	}
}

.loop-grid-wrapper {
	& .loop-grid {
		gap: 30px;
		display: grid;
		grid-template-columns: repeat(3,1fr);
		@media (max-width: 1024px) { grid-template-columns: repeat(2,1fr); }
		@media (max-width: 767px) { grid-template-columns: repeat(1,1fr); }
		& .item {
			background-color: #F5F6F7;
			& .content {
				padding: 32px 18px;
				display: flex;
				flex-direction: column;
				gap: 20px;
				& h3 a {
					color: inherit;
					line-height: 28px;
				}
				& p {
					font-size: 16px;
					font-weight: 300;
					line-height: 22px;
					display: -webkit-box;
					-webkit-line-clamp: 3;
					-webkit-box-orient: vertical;
					overflow: hidden;
					text-overflow: ellipsis;
					white-space: normal;
				}
				& p:empty { display: none }
				& strong,
				& b {
					font-weight: 600;
				}
			}
			& hr {
				border-color: #ddd;
        		border-width: 0.5px;
			}
			& .image {
				overflow: hidden;
				& img {
					width: 100%;
					margin: 0 auto;
					transition: scale 0.25s linear;
					object-position: bottom center;
					display: block;
					height: 230px;
					object-fit: cover;
				}
				&:is(:hover, :focus) {
					& img {
						scale: 1.1;
					}
				}
			}
		}
	}
}

.e-loop__load-more {
	margin-top: 50px;
	margin-bottom: 64px;
	display: flex;
	justify-content: center;
	position: relative;
	& .e-load-more-spinner {
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
	}
	& .elementor-button {
		cursor: pointer;
	}
}