.filters {
	margin-bottom: 30px;
}

.filters-wrapper {
	margin: 0 auto;
}

.filters .checkboxlist label {
	width: auto;
	display: block;
	box-sizing: border-box;
	padding: 0 0 7px 0;
	font-weight: 500;
	font-size: 18px;
	cursor: pointer;
}

.filters .checkboxlist.inline {
	display: flex;
	justify-content: center;
	gap: 30px;
}

.filters .checkboxlist.inline label {
	font-size: 1em;
}

.checkboxlist input[type=checkbox] {
	-webkit-appearance: none;
	appearance: none;
	margin: 0 4px 0 0;
}

.checkboxlist input[type=checkbox]:before {
	content: "";
	display: inline-block;
	width: 14px;
	height: 14px;
	background-color: #fff;
	border: 1px solid #000000;
	margin-right: 8px;
	margin-bottom: -1px;
}

.checkboxlist input[type="checkbox"]:checked::before {
	background-color: #000000;
}

.checkboxlist.upper input[type=checkbox]:before {
	border-color: var(--red);
}

.checkboxlist.upper input[type="checkbox"]:checked::before {
	background-color: var(--red-trans-2);
}

.filters .checkboxlist br {
	display: none;
}

.filter-boxes {
	display: flex;
	width: 100%;
	padding-top: 40px;
	flex-flow: row nowrap;
	justify-content: center;
	flex-wrap: wrap;
	gap: 30px
}

.filter-box {
	position: relative;
	width: 175px;
}

.filter-box .box {
	padding: 13px 0 13px 20px;
	background-color: #000000;
	color: #ffffff;
	font-weight: 300;
	width: 100%;
	text-align: left;
	position: relative;
	cursor: pointer;
	box-sizing: border-box;
	white-space: nowrap;
}

.filter-box .box:after {
	content: "";
	display: inline-block;
	width: 8px;
	height: 8px;
	border-right: 1px solid #ffffff;
	border-bottom: 1px solid #ffffff;
	transform-origin: center center;
	transform: scaleY(0.9) translateY(-80%) rotate(45deg) ;
	transition: transform 0.3s ease;
	position: absolute;
	right: 20px;
	top: 50%;
}

.filter-box .box.active:after {
	transform: scaleY(0.9) translateY(-20%) rotate(-135deg) ;
}

.filters-summary .filter-box {
	width: auto;
}

.filters-summary .filter-box .box {
	background-color: #8e8e8e;
	padding: 4px 15px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.filters-summary .filter-box .box:after {
	display: none;
}

.filter-cancel {
	margin-left: 30px;
	height: 19px;
}

.filter-box .box-content {
	width: 100%;
	height: auto;
	position: absolute;
	bottom: 0;
	left: 0;
	transform: translateY(100%) scaleY(0);
	background-color: #e2e2e2;
	z-index: 6;
	text-align: left;
	box-sizing: border-box;
	padding: 20px 14px;
	display: block;
	transform-origin: top center;
	transition-duration: 0.3s;
	opacity: 0;
}

.filter-box .box.active + .box-content {
	transform: translateY(100%) scaleY(1);
	opacity: 1;
}


@media screen and (max-width: 1080px) {
	.filter-box {
		width: calc(33.3333% - 20px);
	}
}

@media screen and (max-width: 540px) {
	.filter-box {
		width: calc(50% - 15px);
	}

	.filter-boxes {
		gap: 20px;
	}
}

@media screen and (max-width: 380px) {
	.filter-box {
		width: 100%;
	}

	.filter-box .box {
		font-size: 0.8em;
		padding: 10px 0 10px 15px;
	}
}
