#primary {
	margin: 0;
	padding: 0;
}

.banner-space {
	height: 440px;
	margin-bottom: 50px;
}
.filter-banner {
	height: 440px;
	background: #EAF2FE;
	position: absolute;		
	width: 100%;
	left:0;
	right:0;
	display: flex;
}
.filter-banner.package {
	background: #5e5aff;
}

.banner-container {
	position: relative;
	width:100%;
	max-width: 1200px;		
	margin: auto;
}

.banner-container h2 {
	font-size: 32px;
	color: #3F3F3F;
	margin-bottom: 5px;
}

.banner-container p {
	font-size: 16px;
	color:#6c6c6c;
}

.package .banner-container h2, .package .banner-container p {
	color: #fff;
}

.banner-img {
	position: absolute;
	right: 100px;
	top: -60px;
}

.mobile-header {
	display: none;
}
.filter {
	margin-bottom: -120px;
	position: relative;
	border-radius: 20px;
	background: #FFF;
	box-shadow: 4px 4px 32px 0px rgba(0, 0, 0, 0.08);			
}

.filter .row {
	position: relative;
	display: flex;			
	padding: 20px 30px;
}

.filter .row:not(:last-child) {
	border-bottom: 4px solid #f4f4f4;
}

.filter .category_target {
	margin: 0;	
	display: flex;
	list-style: none;
	width: 100%;
	gap: 30px;

}
.filter .category_target li {
	flex: 1;
}
.filter .category_target li input[type="checkbox"]:checked+label,
.filter .category_target li input[type="checkbox"]:hover+label {
	font-weight: 600;
	background-color: #EAF2FE;
	color: #2663C4;
	transition: all .2s;
	border-color: #2663C4;
}
.filter .category_target li input[type="checkbox"] {
	display: none;
	appearance: none;
	position: absolute;
}

.filter .category_target label {
	display: flex;
	width: 100%;
	justify-content: center;
	align-items: center;
	cursor: pointer;	
	gap: 10px;
	font-size: 17px;
	padding: 10px 16px;
	background: #fff;
	color: #adadad;
	border-radius: 12px;
	white-space: nowrap;	
	user-select: none;	
	transition: all .2s;
	border-radius: 10px;
	border: 1px solid #A2A2A2;

}

.filter .category_target label i {
	font-size: 22px;

}
.filter .category_target label i:before {
	color: unset;
}


.filter .column {	
	flex: 1;
	align-self: center;		
}	
.filter .column label {
	display: flex;
	position: relative;
	cursor: pointer;
	align-items:center;
	width: 100%;
	color: #3f3f3f;
	font-size: 18px;		
}	
.filter .column label img {
	margin-right: 8px;
}

.filter .open-checkbox:after {
	position: absolute;
	right: 0;
	content: '\f107';
	font-family: FontAwesome;
}

.filter .space {
	width: 2px;
	margin: 0 20px;
	height: 62px;
	background: #E8E8E8;
	border-radius: 20px;
}

.filter .open-checkbox.active, .filter .column label:focus-within, .filter .search-person:focus  {
	color: #2F7CF5;
	font-weight: 500;
}

.filter .active img, .filter .column label:focus-within img {
	filter: invert(52%) sepia(63%) saturate(4583%) hue-rotate(201deg) brightness(93%) contrast(108%);
}

.filter .search-person {
	width: 50%;
	text-align: right;
	border: none;
	margin-left: auto;
	font-size: 18px;
	background: none !important;
}

.filter .search-person::-webkit-outer-spin-button,
.filter .search-person::-webkit-inner-spin-button {
	appearance: none;
	margin: 0;
}

.filter .drawer-container{
	margin-top:4px;
	display: none;
	position: absolute;
	width: 100%;
	left: 0;
	border-radius: 20px;
	box-shadow: 4px 4px 32px 0px rgba(0, 0, 0, 0.08);
	top: 100%;
	z-index: 1;
	padding: 20px 50px;
	background: #fff;
}

.filter .drawer-container a.button {
	display: block;
	margin: 20px auto auto auto;
	width: fit-content;
	cursor: pointer;
	border-radius: 8px;
	font-weight: 500;
	background-color: #2F7CF5;
}


.filter .drawer-container ul {
	margin: 0;
	list-style: none;
	display: grid;
	column-gap: 30px;
	grid-template-columns: repeat(5, 1fr);		
}

.filter .drawer-container ul li {
	display: flex;
	align-items: center;		
}

.filter .drawer-container label {
	display: block;
	width: 100%;		
	padding: 10px 0;
	cursor: pointer;
}

.filter .drawer-container span {
	font-weight: 500;
	display: block;
	text-align: center;
}

.filter .drawer-container input[type="checkbox"] {
	margin-right: 8px;
	vertical-align: middle;
	width: 24px;
	height: 24px;
	cursor: pointer;
	border: 1px solid #909090;
	border-radius: 5px;
}

.filter .selected-list {
	min-height: 32px;
	display: flex;
	flex-wrap: wrap;
	gap: 5px;
}

.filter .selected-list .tag {
	font-size: 14px;
	color: #2A70DD;
	padding: 2px 4px 2px 8px;
	border-radius: 50px;
	border: 2px solid #BFD6FC;
	background: #EAF2FE;
}
.filter .selected-list i {
	padding: 4px;		
	cursor: pointer;
}

.filter .delete-tags {
	text-decoration: underline;
	color: #515151;
	cursor: pointer;
}

ul.products {
	width: 100%;
	margin: auto;
	row-gap: 40px;
}

h2.no-products-found {
	text-align: center;
	margin: 80px 0;
}

.filter .mobile, .filter .mobile-filter, .filter .close-filter {
	display: none;		
}	

@media (max-width: 1199px) {
	.filter-banner .banner-container, .ast-container {
		padding: 0 64px;
	}		
	.banner-img {
		position: absolute;
		right: 50px;
		top: -60px;
	}

	.filter .row {
		padding: 20px;
	}

	.filter .column label {
		font-size: 16px;
	}

	.filter .space {
		margin: 0 10px;
	}

	.filter .column label img {
		width: 18px;
		height: 18px;
	}

	.filter .category_target {
		flex-wrap: nowrap;
		overflow-x: scroll;
	}
}

@media (max-width: 767px) {				
	.filter-banner .banner-container, .ast-container {
		padding: 0 20px;
	}	

	.filter-banner, .banner-space {
		height: 400px;
	}

	.banner-space {
		margin-bottom: 30px;
	}

	.filter-banner .banner-container h2 {
		font-size: 24px;
		z-index: 1;
	}

	.filter-banner .banner-container p {
		font-size: 14px;
		z-index:1 ;
		padding-right: 30%;
	}

	.banner-img {
		width: 130px;   
		right: 10px;
		top: 10px;
	}

	ul.products {
		row-gap: 20px;
	}

	.filter {
		margin-bottom: 0;
	}

	.filter .mobile-filter {
		display: block;
		border-bottom: 2px solid #F4F4F4;
	}

	.filter .mobile {
		display: block;
	}

	.filter .mobile-header {
		display: block;
		position: relative;
		width: 100%;
		text-align: center;
		font-size: 16px;
		font-weight: bold;
		margin-bottom: 30px;			
	}

	.filter .mobile-header i {
		position: absolute;
		left: 0;		
		font-size: 1.3em;
	}

	.filter .row:first-child{
		display: none;
	}

	.filter .row:nth-child(2){
		display: none;
		border-radius: 20px 20px 0 0;
		padding: 40px 20px;
		position: fixed;		
		left: 0;
		top:0;
		max-width: 100%;
		min-height: 100%;
		height: -webkit-fill-available;
		overflow-y: scroll;			
		width: 100%;
		background: white;
		border-bottom: none;
		z-index: 99999;
	}

	.filter .row{
		justify-content: space-between;
		flex-wrap: wrap;
		font-size: 15px;
	}		

	.filter .row .column {
		flex: unset;
		width:100%;
		align-self: unset;
	}
	.filter .column label {
		font-size: 15px;
		padding: 10px 0;
	}
	.filter .space {
		width: 100%;
		margin:auto;
		height: 2px;		
	}

	.filter .drawer-container {
		margin-top: 15px;
		position: initial;		
		box-shadow: none;
		padding: 0;
		background: none;		
		border-radius: 0;
	}	
	
	.filter .drawer-container a.button {
		display: none;
	}

	.filter .drawer-container ul {
		display: flex;
		flex-wrap: wrap;
		column-gap:15px;
		row-gap: 10px;
	}
	.filter .drawer-container label {
		padding: 2px 6px;
		color: #6c6c6c;
		border-radius: 4px;
		border: 1px solid #909090;
	}

	.filter .drawer-container span {
		display: block;
		text-align: center;
	}	

	.filter .drawer-container input[type="checkbox"] {
		display: none;
		position: absolute;
	}
	.drawer-container input:checked + label {
		color: #fff;
		background: #2F7CF5;
		border-color: #2F7CF5;
	}

	.filter .search-person {
		padding:0;
	}

	.filter .close-filter {
		display: block;
	}
	.filter .close-filter button{
		display: block;
		font-size: 16px;
		width: 100%;
		text-align: center;
		color: #fff;
		border-radius: 14px;
		padding: 20px;
		background: #2f7cf5;
	}
	.filter .selected-list {
		order: 2;			
		width: 100%;
		flex-wrap: nowrap;
		overflow-x: scroll;
	}


	.filter .selected-list .tag {
		flex: 0 0 auto;
	}

	.woocommerce .woocommerce-ordering {
		float: right;
	}
}