@charset "utf-8";
/* CSS Document */

@media only screen and (max-width: 1599px) {
	.footer .footerright .footerwidgets .footerwidget {
		width: auto;
		float: left;
		margin-right: 100px;
	}
}








@media only screen and (max-width: 1399px) {
	.wrapper {
		width: 1200px;
	}

	.navigation > div:first-child {
		padding: 0px 15px;
		border-bottom: 1px solid #636363;
	}

	.navigation > div:first-child > ul > li > a {
		padding: 0px 20px;
	}

	.navigation > div:last-child > ul > li > a {
		padding: 0px 35px;
	}

	.footer {
		padding-left: 420px;
	}

	.footer .footerleft {
		width: 420px;
	}

	.footer .footerright:before {
		left: 420px;
	}

	.footer .footerright .footerwidgets {
		padding: 60px 30px;
	}

	.footer .footerdetails {
		padding: 25px 30px;
	}



}










@media only screen and (max-width: 1199px) {
	body { padding-top: 0; }
	body:not(.home):not(.front-page) { padding-top: 72px; }
	.header { position: fixed; top: 0; left: 0; right: 0; }
	.header-nav .wrapper { height: 0 !important; min-height: 0 !important; padding: 0 !important; }
	body {
		padding-top: 81px;
	}

	h1 {
		font-size: 2.8em;
	}

	.showcase .wrapper {
		padding: 0px;
	}

	.showcase .txt {
		padding: 15px 30px;
	}








	.wrapper {
		width: 960px;
		padding: 0px 10px;
	}

	.header {
		background: #ffffff;
	}

	.header .wrapper {
		width: 100%;
		padding: 0px;
	}

	.headerleft {
		width: 100%;
		padding-right: 80px;
	}

	.header .logo {
		height: 80px;
		padding: 5px;
	}

	.header .logo img {
		height: 70px;
	}

	.header .logo p {
		font-size: 0.7em;
	}

	.header .headerright {
		width: 80px;
		height: 80px;
		padding: 0px;
	}

	.header .headerright .mobilenavbtn {
		display: inline-block;
	}

	.navigation {
		width: 300px;
		position: fixed;
		top: 80px;
		right: -300px;
		bottom: 0px;
		background: #ffffff;
		border-left: 1px solid #d3d8dd;
		transition: 1s all ease;
		z-index: 10;
	}

	.navigation.open {
		right: 0px;
	}

	.navigation > div {
		padding: 0px !important;
	}

	.navigation > div > ul > li > a {
		line-height: 49px !important;
		padding: 0px 15px !important;
	}

	.navigation div > ul > li {
		width: 100%;
		height: auto;
		text-align: left;
		padding: 0px;
		border-bottom: 1px solid #d3d8dd;
		margin: 0px;
	}

	.navigation div > ul > li.mobilelink {
		display: inline-block;
	}

	.navigation div > ul > li > a {
		width: 100%;
		color: #ffffff !important;
		padding: 20px 15px;
		line-height: normal;
		border: 0px;
	}

	.navigation div > ul > li > a br {
		display: none;
	}

	.navigation div > ul > li > ul {
		width: 100%;
		position: static;
		display: none;
		border: 0px;
		border-top: 1px solid #c8c8c8;
	}

	.navigation div > ul > li.open > ul {
		display: inline-block;
	}

	.navigation div > ul > li > ul > li {
		font-size: 0.9em;
		border-top: 1px solid #c8c8c8;
	}

	.navigation div > ul > li > ul > li > a {
		color: #ffffff !important;
	}

	.navigation .headdesigner.desktop {
		display: none;
	}

	.navigation .headdesigner.mobile {
		width: 100%;
		display: inline-block;
		text-align: left;
	}

	.footer {
		padding-left: 0px;
	}

	.footer .footerleft {
		width: 100%;
		position: static;
		padding: 40px 15px;
	}

	.footer .footerright {
		position: relative;
		border: 0px;
	}

	.footer .footerright:before {
		width: 100%;
		height: 10px;
		left: 0px;
		top: 0px;
	}

	.footer .footerright .footerwidgets {
		display: none;
	}

	.footer .footerdetails {
		text-align: center;
		padding: 25px 15px 15px;
	}

	.footer .footerdetails p {
		font-size: 0.7em;
		margin: 0px 0px 5px;
	}

	.homebanner {
		height: 780px;
		padding-top: 175px;
	}

	.hometeam .wrapper {
		padding: 0px;
	}

	.hometeam .txt {
		padding: 15px 30px;
	}

	.homeposts .post {
		padding: 70px 10px 0px;
	}

	.homeposts .post h3,
	.homeposts .post p {
		width: 100%;
		display: inline-block;
		padding: 0px 15px;
	}

	.homeposts .post p.date {
		padding: 0px;
	}

	.homeposts .post h3 {
		font-size: 1.4em;
	}

	.innerbanner {
		padding-top: 0px;
	}

	.postlistbox h2 {
		font-size: 1.6em;
	}

	.aboutpolicies .wrapper > div {
		width: 25%;
	}

	.funrdaisebtns .wrapper > div {
		padding: 15px;
	}

	.donationvideo .wrapper {
		padding: 0px;
	}

	.donationvideo .video {
		padding: 65px 15px 60px;
	}

	.donationvideo .txt,
	.donationposts .donationbox .txt {
		padding: 15px 30px;
	}

	.fundingbox .wrapper {
		padding: 30px;
	}

	.donationposts .wrapper {
		padding: 0px;
	}

	.waystofinraise .wrapper {
		padding: 30px;
	}


}

/* Final overrides for redesigned semantic header/footer. */
@media only screen and (max-width: 1199px) {
	body { padding-top: 0; }
	.header .wrapper { width: 100%; min-height: 72px; padding: 0 15px; }
	.headerleft { width: auto; padding-right: 0; }
	.header .logo { height: auto; padding: 7px 0; }
	.header .logo img { height: auto; max-height: 58px; }
	.text-logo { font-size: 1.35em; }
	.header .logo p { position: static; width: auto; color: #252525; line-height: 1.3; }
	.header .headerright { width: auto; height: auto; display: flex; position: static; }
	.header .headerright .mobilenavbtn { width: 48px; height: 48px; display: inline-block; line-height: 48px; border: 0; }
	.header-nav { height: 0; border: 0; background: transparent; }
	.header-nav .wrapper { height: 0; min-height: 0 !important; padding: 0 !important; }
	.navigation { top: 72px; right: -320px; width: 320px; height: auto; padding: 15px; position: fixed; display: block; }
	.navigation.open { right: 0; }
	.navigation > div, .navigation > div > ul, .navigation > ul { display: block; width: 100%; float: none; }
	.navigation div > ul > li, .navigation > ul > li { width: 100%; float: none; }
	.navigation div > ul > li > a, .navigation > ul > li > a { width: 100%; color: #252525 !important; padding: 14px 10px !important; line-height: 1.4 !important; }
	.headerdonate { display: inline-block; }
	.footer { padding-left: 0; }
	.footergrid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 45px 15px 35px; }
	.footer .footerdetails { text-align: center; padding: 18px 15px; }
	.footer-cta-actions { margin-bottom: 14px; }
	.contentbox.homebanner { margin-top: 76px; }
}
@media only screen and (max-width: 600px) {
	body { padding-top: 0; }
	body:not(.home):not(.front-page) { padding-top: 64px; }
	.header { position: fixed; top: 0; left: 0; right: 0; }
	.header .wrapper { min-height: 64px; padding: 0 10px; }
	.header .logo img { max-height: 48px; }
	.header-nav .wrapper { height: 0; min-height: 0 !important; }
	.text-logo { font-size: 1.15em; }
	.navigation { top: 64px; width: min(320px, 100vw); right: min(-320px, -100vw); }
	.footergrid { grid-template-columns: 1fr; padding: 38px 15px 30px; }
	.footer .footerdetails .contag { width: auto; display: block; padding: 0; border: 0; margin: 5px 0 0; }
	.footer-cta-actions { margin-bottom: 12px; }
	.contentbox.homebanner { margin-top: 68px; }
}

/* The homepage now uses normal-flow feature cards; remove the old overlap offset. */
.homeevents { margin-top: 0 !important; }










@media only screen and (max-width: 959px) {
	h2 {
		font-size: 1.8em;
	}

	p, li, table {
		font-size: 0.9em;
		line-height: 1.6em;
	}

	.contentspace {
		padding: 75px 0px;
	}

	.contentspacetop {
		padding-top: 75px;
	}

	.contentspacebot {
		padding-bottom: 75px;
	}

	.contentmargin {
		margin: 75px 0px;
	}

	.contentmargintop {
		margin-top: 75px;
	}

	.contentmarginbot {
		margin-bottom: 75px;
	}

	.showcase .txt p {
		margin: 15px 0px 0px;
	}









	.wrapper {
		width: 768px;
	}

	.showcase .txt {
		padding: 25px;
	}

	.blogcontainer {
		padding: 0px;
	}

	.blogcontainer .blog-list {
		width: 62%;
	}

	.postlistbox {
		padding: 15px;
		margin-bottom: 15px;
	}

	.postlistbox .excerpt {
		font-size: 1em;
		margin: 15px 0px;
	}

	.postlistbox .postimg {
		height: 250px;
	}

	.blogcontainer .blogsidebar {
		width: 36%;
	}

	.homebanner {
		height: auto;
		position: relative;
		text-align: center;
		padding: 100px 0px;
		margin-bottom: 70px;
	}

	.homebanner:after {
		width: 100%;
		height: 10px;
		position: absolute;
		bottom: 0px;
		left: 0px;
		content: '';
		z-index: 1;
	}

	.hometeam {
		padding: 80px 0px 325px;
	}

	.hometeam .txt p {
		margin: 15px 0px 0px;
	}

	.homeevents {
		margin-top: -250px;
	}

	.homeposts .post .img {
		height: 290px;
		margin-bottom: 25px;
	}

	.homeposts .post h3 {
		min-height: 56px;
		margin: 0px 0px 25px;
	}

	.homeposts .post p {
		min-height: 96px;
		margin: 0px 0px 25px;
	}







}











@media only screen and (max-width: 767px) {
	body {
		padding: 61px 0px 0px;
	}

	h1 {
		font-size: 1.4em;
	}

	h2 {
		font-size: 1.8em;
	}

	h3 {
		font-size: 1.6em;
	}

	p, li, table {
		font-size: 0.9em;
	}

	a.linkbtn {
		font-size: 16px;
		line-height: 45px;
		padding: 0px 25px;
	}

	a.linkbtn:after {
		line-height: 45px;
		margin-left: 20px;
	}

	.showcase .img, .showcase .txt {
		width: 100%;
		margin: 0px;
	}

	.showcase .txt {
		padding: 25px 15px;
	}

	.mobileonly {
		display: inline-block !important;
	}

	.nomobile {
		display: none !important;
	}

	.contentspace {
		padding: 50px 0px;
	}

	.contentspacetop {
		padding-top: 50px;
	}

	.contentspacebot {
		padding-bottom: 50px;
	}

	.contentmargin {
		margin: 50px 0px;
	}

	.contentmargintop {
		margin-top: 50px;
	}

	.contentmarginbot {
		margin-bottom: 50px;
	}







	.wrapper {
		width: 480px;
	}

	.showcase .txt.righttxt,
	.showcase .txt.righttxt * {
		text-align: center;
	}

	.blogcontainer .blog-list {
		width: 100%;
	}

	.blogcontainer .blogsidebar {
		width: 100%;
	}

	.postlistbox .postimg {
		height: 200px;
	}

	.blogcontainer .blogsidebar ul li {
		font-size: 0.8em;
	}

	.blogbanner {
		height: 150px;
	}

	.blogintro {
		padding: 30px 0px;
	}

	.blogintro p {
		font-size: 1em;
	}

	.blog-post {
		padding: 20px 0px;
	}

	.blog-post .alignleft {
		max-width: 100%;
		margin: 0px 0px 15px;
	}

	.blog-post .alignright {
		max-width: 100%;
		margin: 0px 0px 15px ;
	}

	.cookiebar {
		text-align: center;
		padding: 10px 0px;
		border-top: 3px solid #0e7a3e;
	}

	.cookiebar p {
		font-size: 0.7em;
	}

	.cookiebar p br {
		display: none;
	}

	.cookiebar .links {
		width: 100%;
		margin-top: 5px;
		text-align: center;
	}

	.cookiebar .links .cookieaccept {
		font-size: 13px;
		min-width: 0;
		min-height: 44px;
		padding: 11px 16px;
	}

	.contacttop {
		background: none;
	}

	.contacttop .contactdetails,
	.contacttop .contactform {
		width: 100%;
	}

	.contacttop .contactdetails {
		text-align: center;
		padding: 0px 25px;
		margin-bottom: 50px;
	}

	.contacttop .contactdetails .socialbox {
		margin: 0px 5px;
	}

	.contacttop .contactform {
		background: #fafafa;
		padding: 50px 25px;
	}

	.contactmap iframe {
		height: 250px !important;
	}

	.ngg-galleryoverview .ngg-gallery-thumbnail-box {
		width: 50%;
	}

	a.linkbtn,
	.homeproducts a,
	.submitbox input {
		line-height: 40px;
	}

	.header {
		border-bottom: 1px solid #d7d7d7;
	}

	.headerleft {
		padding-right: 60px;
	}

	.header .logo {
		height: 60px;
	}

	.header .logo img {
		height: 50px;
	}

	.header .logo p {
		bottom: -25px;
		font-size: 0.6em;
		line-height: 25px;
	}

	.header .headerright {
		width: 60px;
		height: 60px;
	}

	.header .headerright .mobilenavbtn {
		width: 60px;
		height: 60px;
		line-height: 60px;
		border-bottom: 0px;
	}

	.navigation {
		top: 60px;
	}

	.navigation div > ul > li.mobilelink {
		display: inline-block;
	}

	.footer .footerdetails p .contag {
		width: 100%;
		padding: 0px;
		border: 0px;
		margin: 5px 0px 0px;
	}

	.footer .footerleft {
		padding: 25px 15px;
	}

	.footer .footerleft > div > div {
		padding: 10px 0px;
		margin-bottom: 20px;
	}

	.footer .footerleft > div > div p {
		font-size: 0.8em;
		margin: 0px 0px 5px;
	}

	.footer .footerleft > div > div p:last-child {
		margin: 0px;
	}

	.footer .footerleft a.linkbtn {
		font-size: 23px;
		line-height: 50px;
	}

	.homebanner {
		padding: 60px 0px;
		margin-bottom: 50px;
	}

	.homebanner h1 {
		margin: 0px 0px 40px;
	}

	.homebanner .links {
		width: 100%;
		margin-bottom: 40px;
	}

	.homebanner .links a.linkbtn {
		font-size: 23px;
		line-height: 50px;
		margin: 0px;
	}

	.homebanner .links a.help {
		display: none;
	}

	.homeintro {
		margin-bottom: 50px;
	}

	.homeintro h2 {
		font-size: 1.2em;
		margin: 0px 0px 25px;
	}

	.homeintro p {
		width: 100%;
		margin: 0px 0px 10px;
	}

	.hometeam {
		padding: 50px 0px;
	}

	.hometeam .img,
	.hometeam .txt {
		width: 100%;
		margin: 0px;
	}

	.hometeam .txt {
		text-align: center;
		padding: 25px 15px;
	}

	.homeevents {
		padding-bottom: 50px;
		margin-top: 60px;
	}

	.homeevents h2 {
		margin: 0px;
	}

	.homeposts .post {
		width: 100%;
		padding: 50px 0px 0px;
	}

	.homeposts .post .img,
	.homeposts .post h3,
	.homeposts .post p {
		min-height: 1px;
		margin: 0px 0px 15px;
	}

	.homeposts .post .img {
		height: 200px;
	}

	.homeposts .post p {
		font-size: 0.8em;
	}

	.homeposts .post p.date {
		text-align: center;
		margin: 0px 0px 10px;
	}

	.homenews {
		padding: 50px 0px;
	}

	.homenews h2 {
		margin: 0px;
	}

	.innerbanner .wrapper {
		padding: 40px 15px;
	}

	.innerbanner h1 {
		font-size: clamp(1.65rem, 8vw, 2rem);
		line-height: 1.2;
	}

	.innerbanner p {
		font-size: 0.9em;
		line-height: 1.6;
		margin: 15px 0px 0px;
	}

	.aboutintro h2 {
		font-size: 1.4em;
		margin: 0px;
	}

	.blogcontainer .activitynote {
		font-size: 0.8em;
		margin: 15px 0px;
	}

	.blogcontainer .blogsidebar {
		margin-top: 50px;
	}

	.postlistbox h2 {
		font-size: 1.4em;
	}

	.postlistbox p {
		font-size: 0.8em;
	}

	.postlistbox p.by {
		font-size: 0.7em;
	}

	.postlistbox .postimg {
		margin-top: 15px;
	}

	.blogcontainer .blogpagination .prev-page,
	.blogcontainer .blogpagination .next-page {
		font-size: 0.8em;
	}

	.newsletterdownload .txt {
		text-align: center;
		border-top: 10px solid #ffffff;
	}

	.aboutpolicies .wrapper > div {
		width: 50%;
	}

	.contactdetails p {
		font-size: 0.8em;
	}

	.funrdaisebtns .wrapper > div {
		width: 100%;
	}

	.donationvideo .video {
		width: 100%;
		margin: 0px;
	}

	.donationvideo .video {
		padding: 25px 15px;
	}

	.donationvideo .txt,
	.donationposts .donationbox .txt {
		width: 100%;
		padding: 25px 15px;
	}

	.fundingbox .wrapper {
		padding: 25px 15px;
	}

	.donationposts .donationbox .img {
		width: 100%;
		height: 250px;
		position: static;
		border: 0px;
	}

	.giveysponsor .wrapper {
		padding: 25px 15px;
	}

	.waystofinraise .wrapper {
		padding: 25px 15px;
	}








}











@media only screen and (max-width: 479px) {
	.wrapper {
		width: 320px;
	}

	.aboutpolicies .wrapper > div {
		width: 100%;
	}


}

/* Keep redesigned header/footer rules last so legacy breakpoint overrides cannot win. */
@media only screen and (max-width: 1199px) {
	body { padding-top: 0; }
	.header { position: fixed; top: 0; left: 0; right: 0; }
	.header-nav .wrapper { height: 0 !important; min-height: 0 !important; padding: 0 !important; }
	.header .wrapper { width: 100%; min-height: 72px; padding: 0 15px; }
	.headerleft, .header .headerright { width: auto; padding-right: 0; }
	.header .logo { height: auto; padding: 7px 0; }
	.header .logo img { height: auto; max-height: 58px; }
	.header .logo p { position: static; width: auto; color: #252525; line-height: 1.3; }
	.header .headerright { display: flex; position: static; }
	.header .headerright .mobilenavbtn { width: 48px; height: 48px; display: inline-block; line-height: 48px; border: 0; }
	.navigation { top: 72px; right: -320px; width: 320px; height: auto; padding: 15px; position: fixed; display: block; }
	.navigation.open { right: 0; }
	.navigation > div, .navigation > div > ul, .navigation > ul { display: block; width: 100%; float: none; }
	.navigation div > ul > li, .navigation > ul > li { width: 100%; float: none; }
	.navigation div > ul > li > a, .navigation > ul > li > a { width: 100%; color: #252525 !important; padding: 14px 10px !important; line-height: 1.4 !important; }
	.footer { padding-left: 0; }
	.footergrid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 45px 15px 35px; }
	.footer .footerdetails { text-align: center; padding: 18px 15px; }
	.footer-cta .footer-cta-inner { padding-top: 52px !important; }
	.contentbox.homebanner { margin-top: 76px; }
	.contacttop .wrapper { grid-template-columns: 1fr; max-width: 820px; }
	.contacttop .contactdetails,
	.contacttop .contactform { width: auto; padding: 34px; margin: 0; text-align: left; }
	.contacttop .contactform { position: static; background: #fff; }
}
@media only screen and (max-width: 767px) {
	.activity-post-grid { grid-template-columns: 1fr; }
	.volunteer-page .volunteer-card-grid { grid-template-columns: 1fr; }
	.volunteer-page .volunteer-download { grid-template-columns: minmax(0, 1fr); }
	.volunteer-page .volunteer-download-copy { min-width: 0; }
	.volunteer-page .volunteer-download-copy h2 { overflow-wrap: anywhere; }
	.fundraising-story-grid,
	.fundraising-ways .fundraising-givey-card,
	.fundraising-info-grid { grid-template-columns: minmax(0, 1fr); }
	.fundraising-partner .volunteer-download { grid-template-columns: minmax(0, 1fr); }
	.fundraising-partner .volunteer-download-copy { min-width: 0; }
	.fundraising-partner .volunteer-download-copy h2 { overflow-wrap: anywhere; }
	.activities-flyer .volunteer-download { grid-template-columns: minmax(0, 1fr); }
	.activities-flyer .volunteer-download-copy { min-width: 0; }
	.activities-flyer .volunteer-download-copy h2 { overflow-wrap: anywhere; }
}
@media only screen and (max-width: 600px) {
	body { padding-top: 0; }
	.header { position: fixed; top: 0; left: 0; right: 0; }
	.header .wrapper { min-height: 64px; padding: 0 10px; }
	.header .logo img { max-height: 48px; }
	.header .headerright { gap: 4px; }
	.header-social { gap: 3px; }
	.header-social a { width: 32px; height: 32px; font-size: .78rem; }
	.headerdonate { min-width: 72px; padding: 9px 10px; font-size: .78rem; }
	.navigation { top: 64px; width: min(320px, 100vw); right: min(-320px, -100vw); }
	.footergrid { grid-template-columns: 1fr; padding: 38px 15px 30px; }
	.footer .footerdetails .contag { width: auto; display: block; padding: 0; border: 0; margin: 5px 0 0; }
	.footer-cta .footer-cta-inner { padding-top: 52px !important; }
	.contentbox.homebanner { margin-top: 68px; }
	.contacttop { padding: 38px 0 46px; }
	.contacttop .wrapper { gap: 20px; padding: 0 15px; }
	.contacttop .contactdetails,
	.contacttop .contactform { padding: 24px 20px; border-radius: 12px; }
	.contactdetails-copy p { padding: 16px; font-size: .88rem; }
	.contactform .submitbox input[type="submit"] { width: 100%; }
	.volunteer-page { padding: 42px 0 52px; }
	.volunteer-card-grid { grid-template-columns: 1fr; gap: 20px; }
	.volunteer-card-image { height: auto; aspect-ratio: 4 / 3; }
	.volunteer-card-copy { padding: 23px 21px 25px; }
	.volunteer-download { grid-template-columns: 1fr; gap: 26px; margin-top: 28px; padding: 24px 20px; }
	.volunteer-download-image { height: 270px; }
	.volunteer-actions { display: grid; }
	.volunteer-button { width: 100%; }
	.activities-support { padding: 38px 0; }
	.activities-support-card { padding: 26px 22px 28px 25px; }
	.activity-preview { padding: 46px 0 54px; }
	.activity-post-grid { grid-template-columns: 1fr; }
	.activity-post-card .homepost-body { min-height: 0; }
	.activities-flyer { padding: 0 0 52px; }
	.fundraising-donations,
	.fundraising-ways { padding: 46px 0 54px; }
	.fundraising-story-grid { grid-template-columns: 1fr; }
	.fundraising-givey-card,
	.fundraising-info-grid { grid-template-columns: 1fr; }
	.fundraising-givey-card { gap: 20px; padding: 20px; }
	.fundraising-info-grid { gap: 16px; }
	.fundraising-partner { padding-bottom: 52px; }
	.newsletter-feature-section { padding: 38px 0 52px; }
	.newsletter-feature { grid-template-columns: 1fr; gap: 26px; padding: 22px; }
	.newsletter-feature-copy { min-width: 0; }
	.newsletter-feature-copy h2 { overflow-wrap: anywhere; }
	.newsletter-feature-cover,
	.newsletter-feature-cover img { min-height: 260px; }
	.newsletter-cover-placeholder { min-height: 260px; }
	.newsletter-download-button { width: 100%; max-width: 100%; gap: 10px; }
	.document-library { padding: 40px 0 54px; }
	.document-library-intro { margin-bottom: 25px; }
	.document-card-grid { grid-template-columns: 1fr; gap: 18px; }
	.document-card-preview { aspect-ratio: 16 / 10; }
	.document-card-content { padding: 20px; }
	.document-card-content h3 { min-height: 0; }
	.donate-section { padding: 42px 0 48px; }
	.donate-editor-section { padding: 22px 0 50px; }
	.donate-editor-content { padding: 22px 20px; border-radius: 12px; }
	.donate-editor-content .wp-block-columns { grid-template-columns: 1fr; gap: 14px; }
	.donate-editor-content .wp-block-column { padding: 18px; }
	.donate-editor-card-image { height: auto; aspect-ratio: 4 / 3; }
	.donate-editor-card-copy { padding: 20px; }
	.donate-layout { gap: 26px; }
	.donate-form-placeholder { min-height: 260px; padding: 24px; border-radius: 14px; }
	.donate-givey-section { padding-bottom: 52px; }
	.donate-givey-card { gap: 20px; padding: 22px; }
	.donate-givey-note { padding: 18px; }
}

/* Very narrow phones (320px): keep the header inside the viewport (WCAG 1.4.10 Reflow). */
@media only screen and (max-width: 359px) {
	.header .logo img { max-height: 44px; }
	.header-social a { width: 28px; height: 28px; }
	.headerdonate { min-width: 64px; padding: 9px 8px; }
}

/* Legacy fixed-width wrappers overflow 320px screens (WCAG 1.4.10 Reflow). */
@media only screen and (max-width: 479px) {
	.wrapper { width: 100%; max-width: 100%; box-sizing: border-box; }
}
@media only screen and (max-width: 600px) {
	.fundraising-info-grid { grid-template-columns: minmax(0, 1fr); }
	.fundraising-info-card { min-width: 0; overflow-wrap: anywhere; }
}
