.lds-heart {
				display: inline-block;
				position: relative;
				width: 80px;
				height: 80px;
				transform: rotate(45deg);
				transform-origin: 40px 40px;
				}
				.lds-heart div {
				top: 32px;
				left: 32px;
				position: absolute;
				width: 32px;
				height: 32px;
				background: #f22;
				animation: lds-heart 1.2s infinite cubic-bezier(0.215, 0.61, 0.355, 1);
				}
				.lds-heart div:after,
				.lds-heart div:before {
				content: " ";
				position: absolute;
				display: block;
				width: 32px;
				height: 32px;
				background: #f22;
				}
				.lds-heart div:before {
				left: -24px;
				border-radius: 50% 0 0 50%;
				}
				.lds-heart div:after {
				top: -24px;
				border-radius: 50% 50% 0 0;
				}
				@keyframes lds-heart {
				0% {
					transform: scale(0.95);
				}
				5% {
					transform: scale(1.1);
				}
				39% {
					transform: scale(0.85);
				}
				45% {
					transform: scale(1);
				}
				60% {
					transform: scale(0.95);
				}
				100% {
					transform: scale(0.9);
				}
				}
				#member_filter {
					background:white;
					padding:var(--biggap);
					margin:var(--biggap);
				}
				.member_filter_results {
					width:100%;
					display:flex;
					justify-content:start;
					align-items:start;
					gap:var(--gap);
					flex-wrap:wrap;
	
					display:grid;
					grid-template-columns: repeat(auto-fill,15rem);
					/* max-height:100vh;
					max-height: 100svh; */
					/* max-height: 80vh; */
					/* overflow-y: scroll; */
					overflow-x: visible;
	
					padding:1px;
				}
				.member_filter_wrap {
					display:flex;
					gap:var(--biggap);
					margin-top:var(--biggap);
				}
				.member_filter_tags {
					/* width: 16rem; */
					flex-grow: 1;
					flex-shrink: 0;
				}
				.member_filter_wrap img {
					max-width:100%;
					aspect-ratio:1/1;
					display:block;
					object-fit:contain;
					object-position:center;
				}
				.member_filter_card {
					width:15rem;
					background:#eee;
					/* box-shadow:0 0 20px rgba(0,0,0,0.4); */
					/* outline: 1px solid; */
					padding:var(--gap);
					height: 100%;
					display:flex;
					flex-direction:column;
					gap:var(--gap);
				}
				.member_filter_card .filtertitle {
					margin:0px;
					text-transform:uppercase;
					color:black;
				}
				p.filterogdesc {
					/* margin-top:auto; */
					margin-bottom:0px;
					color:var(--gray1);
					font-size:0.9rem;
				}
				.member_filter_card {
					text-decoration:none;
					/* max-height:36rem; */
					overflow:hidden;
				}
				.member_filter_left {
					max-height:100vh;
					max-height:100svh;
					max-height:80vh;
					width:35rem;
					display:block;
					overflow-y:auto;
					overscroll-behavior: contain; /* stop body scrolling when reaching bottom */
					position:sticky;
					top:6rem;
					background: var(--bg);
					color: white;
					padding: var(--biggap);
				}
				.member_filter_left input[type="checkbox"] {
					/* opacity:0.0; */
					transform:scale(1.5);
					font-size:1.9rem;
					filter: drop-shadow(0px 0px 1px white);
					accent-color: var(--bg);
					border: 1px solid rgba(255,255,255,0.3);
					aspect-ratio: 1;
					width: 1.1rem;
					padding: 0.4rem;
					border-radius: 0.2rem;
	
				}
				.member_filter_left input[type="checkbox"]:not(:checked):not(:disabled) {
					appearance:none; /* prevent default checkbox styling */
				}
				.member_filter_left input[type="checkbox"]:checked {
					opacity:1.0;
				}
				.member_filter_tag_group p {
					display:flex;
					justify-content:space-between;
				}
				.member_filter_tags h5 {
					text-align:center;
					border-bottom: 1px solid white;
					margin-bottom: 1.5rem;
				}
				.member_filter_tag_group p label {
					width:100%;
				}
				.member_filter_tag_group p label:hover {
					cursor:pointer;
					color:white !important;
					text-decoration:underline;
				}
				.member_filter_tag_group p:has(input[type="checkbox"]) label {
					opacity:0.7;
				}
				.member_filter_tag_group p:has(input[type="checkbox"]:checked) label {
					opacity:1.0;
				}
				.member_filter_right {
					width: 100%;
				}
				.filter_pagination {
					display: flex;
					margin: var(--biggap);
					align-items: center;
					gap: var(--biggap);
					justify-content: center;
				}
				ul.tags {
					display:flex;
					flex-wrap:wrap;
					gap:var(--gap);
					margin-bottom:var(--gap);
					list-style:none;
					padding-left: 0px;
				}
				ul.tags .tag {
					border-radius:1rem;
					background:white;
					padding:0.5rem 1rem;
					font-size:0.8rem;
				}
				ul.tags .tag a {
					color:var(--bg) !important;
					text-decoration:none;
				}
				.kill_pill {
					margin-left: 0.5em;
					font-size: 0.8rem;
					transform: scale(1.5) translateY(-0.1rem);
					position: relative;
					display: inline-block;
				}
				#filter_members {
					margin-top:0px;
					text-transform:uppercase;
					color:white;
				}
				.filterimage {
					background:white;
				}
				.filtertowns {
					margin-bottom: 0px;
					margin-top:auto;
					color: var(--gray2);
					font-size: 0.8rem;
					display: flex;
					width: 100%;
					gap: 1rem;
					align-items: center;
				}
				.mobile_only {
					display:none;
				}
				#hide_member_filter {
					display:none;
				}
				@media only screen and (max-width: 1024px) {
					.mobile_only {
						display:block;
					}
					.member_filter_results {
						/* height:100vh; */
					}
					.member_filter_results { 
						/* max-height:100dvh; */
						/* don't restrict member results on mobile now */
					}
					.member_filter_left {
						display: none; /* hide by default */
						position: fixed;
						top: 0px;
						lefT: 0px;
						height: 100vh;
						width: 100vw;
						z-index: 99;
						flex-direction: column;
						align-items: center;
						margin-top: 0px;
						padding-top: 0px;
						max-height:100dvh;
						z-index:9999999;
					}
					#hide_member_filter {
						background:var(--bg) !important;
					}
					.member_filter_left.visible {
						display:flex;
					}
					#mobile_filter_trigger {
						background:var(--bg);
						padding:1rem;
						width:100%;
						margin-bottom:1rem;
					}
					#hide_member_filter {
						display:inline-block;
						position:fixed;
						bottom: 3rem;
						right: 2rem;
					}
					#cur_filter_list {
						position:sticky;
						top:0rem;
						width: 100%;
						padding: 1rem;
					}
					.member_filter_tags {
						width: 25rem;
						flex-grow: 1;
						flex-shrink: 0;
						max-width: 90%;
					}
					ul.tags {
						top: 0rem;
						background: var(--bg);
						z-index: 2;
						padding: 1rem 0rem;
					}
					#member_filter {
						margin:0px;
						padding:0px;
					}
					.member_filter_wrap {
						padding: 0rem 1rem;
					}
					h4#filter_members {
						margin-top:2rem !important;
					}
					.keep_top {
						position: sticky;
						top: 0rem;
						background: var(--bg);
						z-index: 1;
						padding-bottom: 2rem;
						width: 100%;
						display: flex;
						flex-direction: column;
						justify-content: center;
						align-items: center;
					}
				}