:root {
	--nav-green: var(--spf-green, var(--color-good-work-green, #0c2923));
	--nav-cream: var(--spf-cream, var(--color-caring-cream, #fff9ed));
	--nav-lime: var(--spf-lime, var(--color-lemon-lime, #a79f36));
	--nav-blue: var(--spf-blue, var(--color-breezy-blue, #0a4170));
}

@media screen and (max-width: 920px) {
	html {
		overflow-x: hidden;
	}

	.site-header {
		position: sticky;
		top: 0;
		z-index: 90;
		background: var(--nav-green);
		box-shadow: 0 12px 28px rgba(8, 31, 26, 0.18);
	}

	.site-header .grid-container-full {
		width: 100% !important;
		max-width: none !important;
		padding-right: 18px !important;
		padding-left: 18px !important;
	}

	.site-header-row {
		position: relative;
		min-height: 74px !important;
		flex-wrap: nowrap !important;
		gap: 14px !important;
		padding-top: 8px !important;
		padding-bottom: 8px !important;
	}

	.site-logo {
		position: relative;
		z-index: 2;
		flex: 0 0 auto;
	}

	.site-logo img {
		width: 112px !important;
		height: auto !important;
		max-height: 54px;
		object-fit: contain;
	}

	.menu-toggle {
		position: relative;
		z-index: 3;
		display: flex!important;
		width: 46px !important;
		height: 46px !important;
		align-items: center;
		justify-content: center;
		flex-direction: column;
		gap: 5px;
		margin-left: auto;
		border: 1.5px solid rgba(255, 249, 237, 0.84) !important;
		border-radius: 999px !important;
		background: transparent;
		padding: 0 !important;
		color: var(--nav-cream);
	}

	.menu-toggle span {
		display: block;
		width: 18px !important;
		height: 2px !important;
		margin: 0 !important;
		border-radius: 999px;
		background: currentColor !important;
		transition: transform 180ms ease, opacity 180ms ease;
	}

	.site-header.is-menu-open .menu-toggle span:first-child {
		transform: translateY(7px) rotate(45deg);
	}

	.site-header.is-menu-open .menu-toggle span:nth-child(2) {
		opacity: 0;
	}

	.site-header.is-menu-open .menu-toggle span:last-child {
		transform: translateY(-7px) rotate(-45deg);
	}

	.site-nav {
		position: absolute !important;
		top: calc(100% + 10px) !important;
		right: 18px !important;
		left: 18px !important;
		z-index: 1;
		display: block!important;
		max-height: 0;
		overflow: hidden;
		visibility: hidden;
		border: 1px solid rgba(255, 249, 237, 0.2);
		border-radius: 12px;
		background: var(--nav-green) !important;
		box-shadow: 0 20px 40px rgba(8, 31, 26, 0.28);
		opacity: 0;
		padding: 0 !important;
		transition: max-height 220ms ease, opacity 160ms ease, visibility 160ms ease;
	}

	.site-header.is-menu-open .site-nav {
		max-height: min(74vh, 620px);
		overflow-y: auto;
		visibility: visible;
		opacity: 1;
		padding: 10px !important;
	}

	.main-menu {
		display: flex!important;
		width: 100%;
		flex-direction: column !important;
		align-items: stretch !important;
		gap: 0 !important;
		margin: 0 !important;
		padding: 0 !important;
		list-style: none;
	}

	.main-menu li {
		width: 100%;
		border-bottom: 1px solid rgba(255, 249, 237, 0.14);
	}

	.main-menu li:last-child {
		border-bottom: 0;
	}

	.main-menu a {
		display: flex!important;
		width: 100%;
		min-height: 46px;
		align-items: center;
		justify-content: space-between !important;
		padding: 0 14px !important;
		color: var(--nav-cream) !important;
		font-size: 13px !important;
		letter-spacing: 1.75px !important;
		line-height: 1.3 !important;
		text-align: left;
		text-transform: uppercase;
		white-space: normal !important;
	}

	.main-menu .current-menu-item > a,
	.main-menu .current_page_item > a {
		color: var(--nav-lime) !important;
	}

	.main-menu .is-button,
	.main-menu .is-donate,
	.main-menu .is-volunteer {
		border-bottom: 0;
		margin-top: 8px;
	}

	.main-menu .is-button a,
	.main-menu .is-donate a,
	.main-menu .is-volunteer a {
		min-height: 44px !important;
		justify-content: center !important;
		border: 1.5px solid rgba(255, 249, 237, 0.84) !important;
		border-radius: 999px !important;
		padding: 0 18px !important;
		text-align: center;
	}

	.main-menu .is-button:last-child a,
	.main-menu .is-volunteer a {
		border-color: var(--nav-lime) !important;
		background: var(--nav-lime) !important;
		color: var(--nav-green) !important;
	}
}

@media screen and (max-width: 780px) {
	.footer__inner {
		padding-right: 24px !important;
		padding-left: 24px !important;
	}

	.footer__newsletter {
		gap: 22px !important;
		margin-bottom: 42px !important;
		text-align: center;
	}

	.footer__form {
		width: min(100%, 360px);
		margin-right: auto;
		margin-left: auto;
	}

	.footer__content {
		flex-wrap: wrap; gap: var(--column-gap, 2rem);
		justify-items: center !important;
		gap: 34px !important;
		text-align: center;
	}

	.footer__logo-image {
		max-width: 184px;
	}

	.footer__links {
		display: flex!important;
		width: 100%;
		flex-wrap: wrap; gap: var(--column-gap, 2rem);
		gap: 28px 20px !important;
		text-align: left !important;
	}

	.footer__link-column,
	.footer__social,
	.footer__button-stack {
		align-items: flex-start !important;
	}

	.footer__social {
		flex: 1 1 auto;
		align-items: center !important;
		text-align: center;
	}

	.footer__button-stack {
		width: 100%;
		flex-direction: row !important;
		flex-wrap: wrap;
		justify-content: center;
		gap: 10px !important;
	}

	.footer__button-stack .button {
		width: auto !important;
		min-width: 132px;
	}

	.footer__credits {
		gap: 18px !important;
	}

	.site-footer .footer-newsletter {
		margin-bottom: 2.5rem;
	}

	.site-footer .footer-newsletter .spf-generated-form .gform_fields,
	.site-footer .footer-newsletter .gform_wrapper.gravity-theme .gform_fields {
		flex-wrap: wrap; gap: var(--column-gap, 2rem);
	}

	.site-footer .footer-lower {
		row-gap: 2rem;
		text-align: center;
	}

	.site-footer .footer-menu {
		flex-direction: column;
		align-items: center;
		gap: 0.9rem;
	}

	.site-footer .footer-social {
		align-items: center;
		margin-top: 0.5rem;
	}
}

@media screen and (max-width: 430px) {
	.footer__links {
		flex-wrap: wrap; gap: var(--column-gap, 2rem);
		text-align: center !important;
	}

	.footer__link-column {
		align-items: center !important;
	}

	.main-menu a {
		font-size: 12px !important;
		letter-spacing: 1.45px !important;
	}
}

