.mpf-wrap{
	--mpf-navy:#0b2b45;
	--mpf-blue:#0a4a8c;
	--mpf-text:#111;
	--mpf-border:#cfd4da;
	--mpf-radius:14px;
	--mpf-head:'Oswald','Arial Narrow',sans-serif;
	max-width:1000px !important;
	margin:0 auto !important;
	padding:0 16px !important;
	box-sizing:border-box !important;
}
.mpf-wrap *{box-sizing:border-box !important}

/* Filters */
.mpf-filters{
	display:grid !important;
	grid-template-columns:1fr 1fr !important;
	gap:16px !important;
	margin-bottom:40px !important;
}
.project-filter-select, .project-filter-input {
    width: 100% !important;
    height: 46px;
    border-radius: 50px !important;
    border: 1.5px solid #cccccc !important;
    padding: 0 20px !important;
    font-family: "Big Shoulders Display", sans-serif;
    font-size: 16px;
    font-weight: 600;
    color: #1f2124 !important;
    background-color: #ffffff;
    outline: none;
    box-sizing: border-box;
    appearance: none !important;
    -webkit-appearance: none !important;
}



.mpf-wrap .mpf-filters .mpf-select, .mpf-wrap .mpf-filters .mpf-search {
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    display: block !important;
    width: 100% !important;
    height: 46px !important;
    min-height: 46px !important;
    line-height: 44px !important;
    padding: 0 20px !important;
    margin: 0 !important;
    border: 1px solid var(--mpf-border) !important;
    border-radius: 50px !important;
    background-color: #fff !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    color: #333 !important;
    box-shadow: none !important;
    outline: none !important;
    transition: border-color .2s, box-shadow .2s !important;
    font-family: "Big Shoulders Display", sans-serif !important;
}
.mpf-wrap .mpf-filters .mpf-select{
	cursor:pointer !important;
	padding-right:48px !important;
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%23333' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E") !important;
	background-repeat:no-repeat !important;
	background-position:right 22px center !important;
	background-size:12px 8px !important;
}
.mpf-wrap .mpf-filters .mpf-search{background-image:none !important}

/* Custom checkbox dropdown */
.mpf-dd{position:relative !important}
.mpf-wrap .mpf-filters .mpf-dd__toggle{
	text-align:left !important;
	transition:background-position .2s !important;
}
.mpf-dd__label{
	display:block !important;
	white-space:nowrap !important;
	overflow:hidden !important;
	text-overflow:ellipsis !important;
	pointer-events:none !important;
}
.mpf-wrap .mpf-filters .mpf-dd.is-open .mpf-dd__toggle{
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 6.5l5-5 5 5' fill='none' stroke='%23333' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E") !important;
}
.mpf-dd__panel{
	display:none !important;
	position:absolute !important;
	top:calc(100% + 6px) !important;
	left:0 !important;
	right:0 !important;
	z-index:50 !important;
	max-height:250px !important;
	overflow-y:auto !important;
	padding:10px 0 !important;
	background:#fff !important;
	border:1px solid var(--mpf-border) !important;
	border-radius:4px !important;
	box-shadow:0 8px 20px rgba(0,0,0,.08) !important;
}
.mpf-dd.is-open .mpf-dd__panel{display:block !important}
.mpf-wrap .mpf-dd__item {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    margin: 0 !important;
    padding: 7px 20px !important;
    cursor: pointer !important;
    user-select: none !important;
    transition: background .15s !important;
    font-family: "Big Shoulders Display", sans-serif !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 16px !important;
    color: #1f2124 !important;
}
.mpf-dd__item:hover{background:#f2f3f5 !important}
.mpf-dd__item input{position:absolute !important;opacity:0 !important;width:0 !important;height:0 !important;pointer-events:none !important}
.mpf-dd__box{
	flex:0 0 18px !important;
	width:18px !important;
	height:18px !important;
	border:1.5px solid #6b7280 !important;
	border-radius:3px !important;
	background:#fff !important;
	position:relative !important;
	transition:all .15s !important;
}
.mpf-dd__item input:checked + .mpf-dd__box{
	background:var(--mpf-blue) !important;
	border-color:var(--mpf-blue) !important;
}
.mpf-dd__item input:checked + .mpf-dd__box::after{
	content:"" !important;
	position:absolute !important;
	left:5px !important;
	top:1px !important;
	width:5px !important;
	height:10px !important;
	border:solid #fff !important;
	border-width:0 2px 2px 0 !important;
	transform:rotate(45deg) !important;
}
.mpf-dd__item input:focus-visible + .mpf-dd__box{box-shadow:0 0 0 3px rgba(10,74,140,.25) !important}
.mpf-wrap .mpf-filters .mpf-search::placeholder{color:#333 !important;opacity:1 !important;font-family:var(--mpf-head) !important}
.mpf-wrap .mpf-filters .mpf-search::-ms-clear{display:none !important}
.mpf-wrap .mpf-filters .mpf-select:hover,
.mpf-wrap .mpf-filters .mpf-search:hover,
.mpf-wrap .mpf-filters .mpf-select:focus,
.mpf-wrap .mpf-filters .mpf-search:focus{
	border-color:var(--mpf-border) !important;
	box-shadow:none !important;
}

/* Grid */
.mpf-grid{
	display:grid !important;
	grid-template-columns:repeat(3,1fr) !important;
	gap:36px 30px !important;
	transition:opacity .25s !important;
}
.mpf-wrap.is-loading .mpf-grid{opacity:.4 !important;pointer-events:none !important}

/* Card */
.mpf-card{display:flex !important;flex-direction:column !important}
.mpf-card__img{
	display:block !important;
	aspect-ratio:313/200 !important;
	border-radius:var(--mpf-radius) !important;
	overflow:hidden !important;
	background:#e9edf1 !important;
	margin-bottom:16px !important;
}
.mpf-card__img img,
.mpf-card__noimg{
	display:block !important;
	width:100% !important;
	height:100% !important;
	object-fit:cover !important;
	transition:transform .5s ease !important;
}
.mpf-card:hover .mpf-card__img img{transform:scale(1.05) !important}

.mpf-card__title{
	font-family:"Big Shoulders Display", sans-serif !important;
	font-size:27px !important;
	font-weight:700 !important;
	line-height:30px !important;
	color:#002a3a !important;
}
.mpf-card__title a{color:inherit !important;text-decoration:none !important}
.mpf-card__title a:hover{color:var(--mpf-blue) !important}

.mpf-card__excerpt {
    margin: 0 0 18px !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 3 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    font-family: Arial, sans-serif !important;
    font-size: 18px !important;
    font-weight: 400 !important;
    line-height: 27px !important;
    color: #000 !important;
}

.mpf-card__more {
    margin-top: auto !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    text-transform: uppercase !important;
    align-self: flex-start !important;
    font-family: "Big Shoulders Display", sans-serif !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    line-height: 20px !important;
    color: #002a3a !important;
}
.mpf-card__more svg{color:var(--mpf-blue) !important;transition:transform .25s !important}
.mpf-card__more:hover svg{transform:translateX(4px) !important}

/* Load more / empty */
.mpf-loadmore-wrap{text-align:center !important;margin-top:48px !important}
.mpf-loadmore{
	font-family:var(--mpf-head) !important;
	font-size:16px !important;
	text-transform:uppercase !important;
	letter-spacing:.5px !important;
	padding:12px 36px !important;
	border:2px solid var(--mpf-navy) !important;
	border-radius:50px !important;
	background:transparent !important;
	color:var(--mpf-navy) !important;
	cursor:pointer !important;
	transition:all .2s !important;
}
.mpf-loadmore:hover{background:var(--mpf-navy) !important;color:#fff !important}
.mpf-empty{
	grid-column:1/-1 !important;
	text-align:center !important;
	font-family:var(--mpf-head) !important;
	font-size:20px !important;
	color:#666 !important;
	padding:40px 0 !important;
}

/* Responsive */
@media (max-width:1024px){
	.mpf-grid{grid-template-columns:repeat(2,1fr) !important;gap:32px 24px !important}
	.mpf-card__title{font-size:24px !important}
}
@media (max-width:640px){
	.mpf-filters{grid-template-columns:1fr !important;gap:12px !important;margin-bottom:28px !important}
	.mpf-grid{grid-template-columns:1fr !important;gap:32px !important}
	.mpf-card__title{font-size:23px !important}
	.mpf-card__excerpt{font-size:16px !important}
}
