/*

Theme Name: TwentyTwentyone Mobile

Author: Vancouver Web Dev - child theme dev

Author URI: https://jenweb/dev

Template: twentytwentyone

Version: 1.3

*/


/* =Theme customization starts here

-------------------------------------------------------------- */

@media all and (max-width:2000px) {
	#page .blog-index .post {
		width:calc(25% - 1.4em);
		}
		
	.entry-header .wp-block-columns .wp-block-column:first-child {
		padding-left:2rem;
		line-height:1.5em;
		}
}

	
/********* 1680 ********/

@media all and (max-width:1680px) {

}

	
/********* 1600 ********/	
	
@media all and (max-width:1600px) {		
	.media-article {
		width:calc(25% - 2.25rem);
		}	
}


/*** 1540 ***/

@media all and (max-width:1540px) {
	.primary-navigation #primary-menu-list {
		column-gap:2rem;
		align-items:start;
		}
		
	.primary-navigation #primary-menu-list .sub-menu-toggle span {
		height:2.1rem;
		width:2.1rem;
		margin-left:0.5rem;
		}
	
	.sub-menu-toggle span {
		width:1.5rem;
		background-position:0 40%;
		}
		
	#page .spo-row {
		row-gap:2rem;
		column-gap:2rem;
		justify-content:left;
		}
		
	.single-program #page .entry-content .spo-tier .spo-item h3 {
		font-size:1.8rem;
		}
		
	.single-program .spo-item, #page .spo-item,
	.spo-item {
		width:calc(20% - 1.75rem);
		padding:1rem 2rem;
		}
		
	#page .spo-item p {
		margin-top:1rem;
		}
		
	.page-template-template-supporters #page .program-partners .spo-item {
		width:calc(16.666% - 1.75rem);
		}
		
	.spo-item img,
	.spo-item .svg-logo {
		max-width:100%;
		}
		
	#page .program-partners .spo-item h4 {
		font-size:1.7rem;
		}
		
		.single-post article {
		column-gap:3rem;
		}	
		
	.single-post article .title-image {
		width:calc(30% - 1.5rem);
		}
		
	.single-post article .post-content {
		width:calc(70% - 1.5rem);
		}
}


/********* 1440 ********/

@media all and (max-width:1440px) {
	:root {
		--responsive--aligndefault-width: 102rem;
		--responsive--alignwide-width: 100%;
		--responsive--alignfull-width: 100%;
		}
	
	.no-widgets .site-footer, .site-footer {
		padding-left:2rem;
		padding-right:2rem;
		}
		
	#page .blog-index .post {
		width:calc(33% - 2rem);
		background:var(--global--color-lightest-grey);
		padding:0;
		border-radius:1.5rem;
		margin-bottom:0;
		position:relative;
		}
		
	.home-middle {
		background-size:80%;
		}
		
	#page .home-middle .wp-block-columns {
		flex-direction:column;
		max-width:calc(var(--responsive--aligndefault-width) - 4rem);
		row-gap:2rem;
		}
	
	#page .wp-block-column .post-item.horizontal .item-image {
		width:calc(25% - 1.5rem);
		}
		
	#page .wp-block-column .post-item.horizontal .item-details {
		width:calc(75% - 1.5rem);
		}
		
	#page .post-item.horizontal .home-boxlink a span {
		bottom:1rem;
		}
	
	#page .wp-block-column .post-item.horizontal {
		margin-bottom:0;
		}
		
	#page .post-item.horizontal .item-details.post-content {
		padding-bottom:2rem;
		}
		
	#page .entry-content .program-contacts:not(.alignfull), 	
	#page .entry-content .location-contacts:not(.alignfull), 
	#page .entry-content .office-contacts:not(.alignfull), 
	#page .entry-content .director-contacts:not(.alignfull), 
	#page .entry-content .admin-contacts:not(.alignfull) {
		padding-left:0;
		padding-right:0;
		}

}


/********* 1300 ********/

@media all and (max-width:1300px) {
	#page .entry-content .wp-block-columns.are-vertically-aligned-center .wp-block-column {
		align-self:start;
		}
		
	:root {
		--primary-nav--font-size: 1.6rem;
		}
		
	.site-header .custom-logo {
		max-height:10rem;
		}
		
	#page .entry-content .reports {
		column-gap:3rem;
		}
		
	.reports .report-thumb,
	#page .blog-index .post {
		width:calc(33% - 1.75rem);
		}
		
	#page .reports.annual .report-thumb {
		width:calc(25% - 2.25rem);
		}
		
	#page .reports .report-item {
		width:calc(16.66% - 2.5rem);
		}
	
	.single-post #page .site-content {
		margin-top:13rem;
		}
		
	.single-post article {
		column-gap:3rem;
		}	
		
	.single-post article .title-image {
		width:calc(35% - 1.5rem);
		}
		
	.single-post article .post-content {
		width:calc(65% - 1.5rem);
		}
		
	#page .site-content {
		margin-top:13rem;
		}
	
	.supp-item {
		width:calc(33% - 2.5rem);
		}
		
	#page .home-section .wp-block-group.home-impact:not(.alignwide):not(.alignfull) {
		max-width:100%;
		margin-left:auto;
		margin-right:auto;
		padding-left:0;
		padding-right:0;
		}
		
	.site-info .footer-sections > .footer-left,
.site-info .footer-sections > .footer-right {
	width:calc(20% - 2rem); 
	}
	
.site-info .footer-sections > .footer-middle {
	width:60%;
	}
}


/********* 1200 ********/

@media all and (max-width:1200px) {
	#page .entry-content .program-contacts,
	#page .entry-content .location-contacts,
	#page .wp-block-columns.admin-contacts,
	#page .entry-content .wp-block-columns.office-contacts,
	#page .entry-content .wp-block-columns.director-contacts,
	#page .entry-content .wp-block-columns.office-contacts {
		flex-wrap:wrap !important;
		row-gap:0;
		}
	
			
	#page .entry-content .program-contacts:not(.alignfull) .wp-block-column {
		min-width:calc(33% - 2.5rem);
		width:calc(33% - 2.5rem);
		}
	#page .entry-content .admin-contacts:not(.alignfull) .wp-block-column:last-child,
	#page .entry-content .location-contacts:not(.alignfull) .wp-block-column, 
	#page .entry-content .office-contacts:not(.alignfull) .wp-block-column, 
	#page .entry-content .director-contacts .wp-block-column, 
	#page .entry-content .admin-contacts:not(.alignfull) .wp-block-column {
		flex:unset;
		min-width:calc(50% - 2rem);
		width:calc(50% - 2rem);
		}
		
	.single-post #page .site-content,	
	#page .site-content {
		margin-top:12rem;
		}
	
	.home-top img {
		max-width:85rem;
		padding-top:2rem;
		}
		
	.site-header.stuck .site-branding {
		max-width:25%;
		}
		
	.site-header.stuck .header-content {
		min-height:9rem;
		}
	
	.primary-navigation-open.lock-scrolling {
		overflow-y:scroll;
		scroll-behavior: initial;
		position: fixed;
		width:100%;
		}
		
	.admin-bar.primary-navigation-open.lock-scrolling {
		top:0;
		}
	
	#page .site-header .header-main,
	#page .site-header.stuck .header-main {
		position: relative;
		align-items: flex-start;
		}
		
	#page .site-header .menu-button-container {
		display: flex;
		background-color: transparent;
		position: absolute;
		top: 6rem;
		right: 2rem;
		width:50%;
		}
		
	.primary-navigation-open #page .site-header .menu-button-container {
		right:2rem;
		}
		
	.menu-button-container #primary-mobile-menu {
		padding:0.5rem;
		}
		
	.primary-navigation-open .menu-button-container #primary-mobile-menu .dropdown-icon.open, 
	.menu-button-container #primary-mobile-menu .dropdown-icon.close {
		display:none;	
		}
		
	.menu-button-container #primary-mobile-menu .dropdown-icon.open,	
	.primary-navigation-open .menu-button-container #primary-mobile-menu .dropdown-icon.close {
		display:flex;
		font-size:1.7rem;
		}
		
	.site-header.stuck .header-main {
		padding-top:0;
		}
		
	#page .site-header.stuck .menu-button-container {
		top:5rem;
		padding:0;
		}
	
	.primary-navigation-open .menu-button-container {
		top:0;
		}
		
	#page .site-navigation { 
		width: 100%; 
		}
	
	#page .primary-navigation {
		margin-left: 0;
		position: unset;
		width: 100%;
		background: none;
		}
		
	.primary-navigation .primary-menu-container {
		display:none;
		}
		
	.primary-navigation-open .primary-navigation > .primary-menu-container {
		display:block;
		position: fixed;
		height: 100%;
		padding-bottom: 5rem;
		top:4rem;
		padding-top:0;
		overflow:auto;
		}
		
	.admin-bar.primary-navigation-open .primary-navigation > .primary-menu-container {
		top:12rem;
		overflow:hidden;
		}
		
	.primary-navigation #primary-menu-list {
		justify-content: left;
		flex-direction: column;
		flex-wrap:nowrap;
		padding-left: 0;
		max-width:100%;
		width: 100%;
		background: #fffcf9;
		margin-left: 0;
		padding-bottom: 20rem;
		padding-top: 4rem;
		}

	.admin-bar .primary-navigation #primary-menu-list {
		min-height:calc(100vh - 3.2rem);
		height:100%;
		overflow-y:scroll;
		--webkit-scrollbar-width:thin;
		}
		
	.primary-navigation li.menu-item {
		flex-direction:column;
		padding-left:2rem;
		margin-bottom:2rem;
		min-width:100%;
		}
		
	.primary-navigation-open .primary-navigation #primary-menu-list > li:not(:first-of-type),
	#page .primary-navigation > li.menu-item:not(:first-of-type) {
		margin-top:2rem;
		}
		
	#page .primary-navigation li > a {
		font-weight: 700;
		font-size: 1.8rem;
		max-width: -webkit-fill-available;
		}
		
	#page #primary-mobile-menu .dropdown-icon.open img {
		width: 5rem;
		height: 2.7rem;
		}
		
	#page button#primary-mobile-menu .close img {
		width:2.5rem;
		height:2.5rem;
		}
	
	#page button#primary-mobile-menu:focus,
	#page .primary-navigation li > a:focus {
		outline:2px solid #aaa !important;
		outline-offset:0.15rem !important;
		}
			
	.primary-navigation #primary-menu-list li.menu-item-has-children a {
		margin-bottom:0;
		padding-bottom:0.5rem;
		}
		
	#page .primary-navigation li ul.sub-menu {
		margin-top: 1rem;
		padding-left: 0.5rem;
		margin-bottom:0;
		padding-bottom:0;
		background:unset;
		}
		
	#page .primary-navigation li ul.sub-menu ul.sub-menu {
		margin-top:0;
		padding-left:2rem;
		margin-left:0;
		}
	
	#page .primary-navigation li ul.sub-menu li:first-child a {
		padding-top:0.75rem;
		}
	
	#page .primary-navigation li ul.sub-menu ul.sub-menu li:first-child a {
		padding-top:0.5rem;
		}
		
	.primary-navigation > div > .menu-wrapper > li > .sub-menu li {
		display: block;
		border: none;
		position: relative;
		background-color:unset;;
		color:#000;
		padding-left:0;
		}
	
	.primary-navigation > div > .menu-wrapper > li > .sub-menu:before, 
	.primary-navigation > div > .menu-wrapper > li > .sub-menu:after {
		display:none;
		}

	#page .primary-navigation li ul.sub-menu li > a {
		font-weight: 400;
		font-size: 1.8rem;
		color: #000;
		background: unset;
		padding-bottom: 0.5rem;
		max-width: -webkit-fill-available;
		}
	
	.primary-navigation #primary-menu-list .sub-menu li a:hover, 
	.primary-navigation #primary-menu-list .sub-menu li a:focus {
		background: unset;
		color: #aaa;
		}
		
	.primary-navigation #primary-menu-list .sub-menu li a:focus {
		outline: 1px solid #aaa;
		outline-offset: 0;
		}

	.primary-navigation-open .site-header.stuck .menu-button-container,
	.site-header.stuck .menu-button-container { 
		top: 0.5rem; 
		}
		
	/***** MOBILE FIX FOR COMPUTERS *****/
	
	#page .primary-navigation > .primary-menu-container ul > li .sub-menu-toggle ~ ul,
	#page .primary-navigation li.menu-item-has-children a > .sub-menu {
		display: block;
		border: none;
		position: relative;
		padding-left: 2rem;
		top: 0;
		margin-top: -0.5rem;
		}
	
	#page .primary-navigation > .primary-menu-container ul > li .sub-menu-toggle { 
		display: none; 
		}
	
	.lock-scrolling { 
		overflow-y: hidden; 
		scroll-behavior:initial;
		position:fixed; 
		}
		
	.board-member {
		width:calc(33% - 1.75rem);
		}
		
	.media-article {
		width:calc(33% - 1.75rem);
		}
		
			
	.primary-navigation-open #primary-menu-list .sub-menu {
		box-shadow:none;
		}
		
	}

/****************************************
		Touchscreen Devices	- 
*****************************************/

/*** 1200 - TOUCH ***/

@media (hover: none) and (max-width:1200px) {
	#page .site-header .menu-button-container {
		display: flex;
		background-color: transparent;
		position: absolute;
		top: 7rem;
		right:1rem;
		width:50%;
		padding:0;
		}
		
	.primary-navigation-open #page .site-header .menu-button-container {
		top:7rem;
		right:1rem;
		}
		
	#page .primary-navigation > .primary-menu-container ul > li .sub-menu-toggle ~ ul,
	#page .primary-navigation li.menu-item-has-children a > .sub-menu { 
		display: none; 
		}
		
	#page .primary-navigation > .primary-menu-container ul > li .sub-menu-toggle { 
		display: flex;
		margin-top:0; 
		right:4rem;
		}
		
	.sub-menu-toggle span {
		background-position:0 70%;
		width:1.8rem;
		}
		
	#page .primary-navigation li.menu-item:first-of-type, 
	#page .primary-navigation li.menu-item, 
	#page .primary-navigation li ul.sub-menu li {
		width:calc(100% - 5rem);
		margin-top:0.75rem;
		}
		
	.primary-navigation #primary-menu-list li.menu-item-has-children a {
		padding-bottom:0;
		}
		
	.primary-navigation #primary-menu-list li.menu-item-has-children a[aria-expanded="true"] {
		padding-bottom:1rem;
		}
		
	#page .primary-navigation > div > .menu-wrapper > li.porthole > a {
		padding-left:0.5rem;
		color:#fff;
		}
		
	.primary-navigation > div > .menu-wrapper .sub-menu-toggle {
		display:block;
		width:4rem;
		right:2rem;
		position:absolute;
		}
	
	#page .primary-navigation li ul.sub-menu li:first-child, 
	#page .primary-navigation li ul.sub-menu li:first-child > a,
	#page .primary-navigation li ul.sub-menu li:last-child, 
	#page .primary-navigation li ul.sub-menu li:last-child > a {
		border-radius:unset;
		}
	
	.primary-navigation > div > .menu-wrapper .sub-menu-toggle .icon-plus svg, 
	.primary-navigation > div > .menu-wrapper .sub-menu-toggle .icon-minus svg {
		width: 2.2rem;
		height: 2.2rem;
		margin-top: 0;
		}
		
	.primary-navigation-open .primary-navigation > div > .menu-wrapper .sub-menu-toggle:focus {
		outline: 2px solid #fff;
		background: unset;
		}
		
	.primary-navigation-open #page .primary-navigation .sub-menu-toggle[aria-expanded="true"] + .sub-menu {
		display: block;
		border: none;
		position: relative;
		padding-left: 2rem;
		top: 0;
		margin-top: -0.5rem;
		}

	.primary-navigation-open .primary-navigation #primary-menu-list .sub-menu li a:hover, 
	.primary-navigation-open .primary-navigation #primary-menu-list .sub-menu li a:focus  {
		color:var(--global--color-magenta);
		outline:1px solid #fff;
		}
}
/**************** END TOUCHSCREENS *****************/

		

/*** 1100 ***/

@media all and (max-width:1100px) {
	
	body:not(.home) #page .entry-content,
	.single-post #page .entry-header,
	.single-post #page .entry-content,
	.single-post #page .entry-footer, 
	.single-post #page .post-navigation {
		max-width:calc(100% - 4rem);
		margin-left:auto;
		margin-right:auto;
		padding-left:0;
		padding-right:0;
		}
		
	#page .entry-content > *:not(.alignfull) {
		padding-left:0;
		padding-right:0;
		}
		
	#page .entry-content > ul:not(.alignfull) {
		margin-left:2rem;
		}

		
/*	#page .entry-content > *:not(.alignfull) {
		max-width:calc(100% - 4rem);
		padding-left:0;
		padding-right:0;
		margin-left:auto;
		margin-right:auto;
		} */

	.site-info .footer-sections {
		display:flex;
		flex-direction:column;
		row-gap:4rem;
		justify-items:center;
		}
		
	.site-info .footer-sections .footer-left,
	.site-info .footer-sections .footer-middle,
	.site-info .footer-sections .footer-right {
		max-width:80%;
		width:100%;
		justify-content:center;
		text-align:center;
		}

		
	.footer-middle .custom-html-widget {
		justify-content:left;
		}
		
	.site-info .footer-middle .widget-title {
		justify-self:center;
		text-align:left;
		}
	
		
	.single-post #page .site-content {
		margin-top:12rem;
		}
		
	.single-post article {
		column-gap:1rem;
		}
		
	.single-post #page .entry-header {
		margin-top:2rem;
		}

		
	.single-post #page .entry-header {
		margin-left:auto;
		margin-right:auto;
		padding:0;
		}
		
	.single-post article .title-image {
		width:30%
		}
	.single-post article .post-content {
		width:70%;
		}
		
	.single-post article .post-content {
		padding:0;
		}
	
	.single-post article .title-image {
		padding:0;
		}
		
	.single-post article .title-image img {
		display:flex;
		margin:0 auto;
		}
		
	.spo-row {
		row-gap:1rem;
		}
		
	#page .entry-content h3.spo-tier {
		margin-bottom:1rem;
		text-align:left;
		}
	
	.single-program .spo-item, 
	#page .spo-item,
	.spo-item {
		width:calc(25% - 1.5rem);
		padding:1rem 2rem;
		}
		
	.page-template-template-supporters #page .program-partners .spo-item {
		width:calc(20% - 1.75rem);
		}
		
	.spo-item img,
	.spo-item .svg-logo {
		min-width:unset;
		}
		
	#page .spo-row, .spo-row {
		margin-bottom:2rem;
		}
		
	.single-program .spo-tier {
		margin-bottom:6rem;
		}
		
	#page .help-columns,
	#page .stat-icons,	
	#page .home-impact .wp-block-columns.six-wide {
		flex-wrap:wrap !important;
		row-gap:5rem;
		}
		
	#page .help-columns .wp-block-column {
		min-width: calc(50% - 2rem) !important;
		justify-content:center;
		}
	
	#page .stat-icons .wp-block-column {
	flex-basis:unset !important;
		width: calc(33% - 4rem);
		}
		
	#page .home-impact .wp-block-columns.six-wide .wp-block-column {
		flex-basis:unset !important;
		width: calc(33% - 4rem);
		}
	
	.woocommerce-cart #main .entry-content,
	.woocommerce-checkout #main .entry-content {
		padding-left:0;
		padding-right:0;
		}
	
	.page #page .entry-content > ul:not(.alignfull) {
		margin-left:0;	
		}
	
		
			
	.page #page .entry-content > ul:not(.alignfull) li.job-opening {
		margin-left:2rem;
		}
}


/*** 1060 ***/

@media all and (max-width:1060px) {
	.single-post #page .entry-header {
		margin-left:0;
		margin-right:0;
		padding:0 2rem;
		}
		
	.woocommerce ul.products.columns-4 li.product {
		width:calc(33% - 2rem) !important;
		}
		
	.home .wp-block-group {
		padding-left:2rem;
		padding-right:2rem;
		}
	

	#page .home-middle .wp-block-columns,
	#page .home-bottom .wp-block-columns {
		padding-left:0;
		padding-right:0;
		flex-direction:column;
		row-gap:2rem;
		}
	
	.home-boxlink {
		position:absolute;
		bottom:0.5rem;
		}
			
	#page .home-bottom .wp-block-columns .wp-block-column {
		width:100%;
		flex-direction:row;
		min-height:unset;
		}
	
	#page .wp-block-column .post-item.horizontal,
	#page .home-bottom .wp-block-columns .wp-block-column .post-item.vertical {
		flex-direction:row;
		max-width:100%;
		position:relative;
		column-gap:0;
		}
		
	#page .wp-block-column .post-item.horizontal .item-image,
	#page .home-bottom .wp-block-columns .wp-block-column .post-item .item-image {
		display:flex;
		width:33%;
		}
		
	#page .home-bottom .wp-block-columns .wp-block-column .post-item .item-image img {
		object-fit:cover;
		width:100%;
		}
		
	#page .wp-block-column .post-item.horizontal .item-details,
	#page .home-bottom .wp-block-columns .wp-block-column .post-item.vertical .item-details {
		display:flex;
		width:66%;
		flex-direction:column;
		max-width:100%;
		padding:2rem 2rem 4rem 2rem;
		}
		
	#page .home-middle .wp-block-columns .wp-block-column:not(:last-child),
	#page .home-bottom .wp-block-columns .wp-block-column:not(:last-child) {
		margin-bottom:0;
		}
		
	#page .home-bottom  .post-item .home-boxlink {
		bottom:0.25rem;
		}
		
		#page .home-banner.desktop {
		padding-left:0;
		padding-right:0;
	}
}
	
	
/*** 1020 ***/
		
@media all and (max-width:1020px) {
	.reports .report-thumb,
	#page .blog-index .post {
		width:calc(50% - 1.5rem);
		}
		
	#page .reports.annual .report-thumb {
		width:calc(33% - 1.75rem);
		}
		
	.board-member {
		width:calc(50% - 1.5rem);
		}
		
	.supp-row {
		column-gap:2rem;
		row-gap:2rem;
		}
	
	.supp-item {
		width:calc(50% - 1rem);
		}
		
	#page .entry-content .program-contacts:not(.alignfull) .wp-block-column {
		min-width:calc(50% - 2rem);
		width:calc(50% - 2rem);
		}
}


/*** 920 ***/

@media all and (max-width:920px) {
	.single-program .spo-item, 
	#page .spo-item,
	.spo-item {
		width:calc(33% - 1.25rem);
		padding:1rem 2rem;
		}
		
	.page-template-template-supporters #page .program-partners .spo-item {
		width:calc(25% - 1.5rem);
		}
		
	#page .reports .report-item {
		width:calc(20% - 2.5rem);
		}
		
	.media-article {
		width:calc(50% - 1.5rem);
		}

		#page .site-content {
		margin-top:11rem;
		}	
}


/*** 850 ***/

@media all and (max-width:850px) {
	:root {
	    --global--font-size-page-title: 3.8rem;
		--heading--font-size-h1: 3.8rem;
		--global--font-size-wish-big: 2.6rem;
		--global--font-size-wish-bigger: 3.2rem;
		--global--font-size-wish-biggest: 4rem;
		}
	
	#page .site-main {
		max-width:100%;
		}
		
	.wp-block-button__link,
	.wp-block-button__link:hover {
		font-size:1.7rem;
		}

	#page .site-content {
		margin-top:10.5rem;
		}
		
	#page .post-item,
	#page .post-item:hover {
		box-shadow:1px 1px 3px #989898;
		}
		
	#page .wp-block-columns {
		row-gap:0;
		column-gap:2rem;
		}
	
	#page .reports.annual .report-thumb {
		width:calc(33% - 2rem);
		}
		
	#page .entry-content .wp-block-columns.four-cols {
		flex-wrap:wrap !important;
		}
	
	#page .entry-content .wp-block-columns.four-cols .wp-block-column {
		width:calc(50% - 2rem);
		}
	#page .stat-icons.wp-block-columns.six-wide,	
	#page .home-impact .wp-block-columns.six-wide {
		column-gap:6rem;
		}
}


/*** MIN 782 ***/
	
@media all and (min-width:782px) {
	#page .entry-content .wp-block-columns.admin-contacts,
	#page .entry-content .wp-block-columns.office-contacts,
	#page .entry-content .wp-block-columns.director-contacts,
	#page .entry-content .wp-block-columns.program-contacts {
		flex-wrap:wrap !important;
		row-gap:0;
		margin-bottom:0;
		margin-top:1rem;
		}
}


/*** 781 ***/

@media all and (max-width:781px) {
	.site-header .header-content {
		align-items:start;
		flex-direction:column;
		row-gap:0;
		}
	
	.primary-navigation-open #site-header .header-right .top-content {
		width:100%;
		justify-content:center;
		row-gap:2rem;
		}
		
	.single-program #page header.entry-header h1 {
		padding-top:2rem;
		}
		
	.primary-navigation-open #page #site-header .wp-block-button:not(.donate-button) > a, 
	.primary-navigation-open #page #site-header .donate-button {
		font-size:1.4rem;
		}
		
	#page .site-content {
		margin-top:12rem;
		}

	.site-info .wp-block-columns {
		flex-direction:row;
		align-items:start;
		column-gap:1rem;
		}
	
	.site-info .footer-sections .footer-left, 
	.site-info .footer-sections .footer-middle {
		width:calc(50% - 3rem);
		}

	.site-info .wp-block-columns .wp-block-column:first-child:not(.alignwide):not(.alignfull) {
		width: 50%;
		flex-basis: unset !important;
		display: inline-flex;
		}
	
	.site-info .wp-block-columns .wp-block-column p {
		width:100%;
		}
	
	.site-info .footer-sections .footer-left .wp-block-columns .wp-block-column:first-child:not(.alignwide):not(.alignfull) {
		width:30%;
		}

	.site-info .footer-sections .footer-left .wp-block-columns .wp-block-column:last-child:not(.alignwide):not(.alignfull) {
		width:calc(70% - 2rem);
		}
	
	.site-info .wp-block-columns .wp-block-column:last-child:not(.alignwide):not(.alignfull) {
		width: calc(50% - 1rem);
		flex-basis: unset !important;
		display: inline-flex;
		}
	
	.spo-item {
		width:calc(50% - 3rem);
		}
		
	.page-template-template-supporters #page .program-partners .spo-item {
		width:calc(33% - 1.25rem);
		}
		
	#page .reports.annual .report-thumb {
		width:calc(50% - 1.5rem);
		}
		
	#page .reports .report-item {
		width:calc(25% - 2.25rem);
		}
		
	.home #page .home-middle .wp-block-group__inner-container .wp-block-columns {
		flex-direction:column !important;
		}
		
	#page .home-middle .wp-block-columns .wp-block-column .post-item.horizontal .item-image {
		display:flex;
		object-fit:cover;
		width:33%;
		height:auto;
		}
	
	#page .home-middle .wp-block-columns .wp-block-column .post-item.horizontal {
		align-items:unset;
		}
		
	.home #page .entry-content .wp-block-columns:not(.six-wide):not(.home-supports),
	.home #page .wp-block-columns.alignfull {
		flex-direction:row;
		flex-wrap:nowrap !important;
		}
		
	.home #page .wp-block-columns.alignfull .wp-block-column {
		width:calc(50% - 2rem) !important;
		}
	
	#page .stat-icons .wp-block-column,	
	#page .home-impact .wp-block-columns.six-wide .wp-block-column {
		width:calc(50% - 2rem);
		}
	
	#page .wp-block-columns.reverse {
		flex-direction:column-reverse;
		}
		
	.site-info .wp-block-columns .wp-block-column:not(:last-child) {
		margin-bottom:0;
		}
		
	.wp-block-columns:not(.is-stacked-on-mobile)>.wp-block-column,
	.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column {
		flex-basis:unset !important;
		width:100%;
		}
		
	body:not(.primary-navigation-open) #site-header .header-right .top-content .widget_block:not(:first-child) {
		display:none;
		}
		
	.primary-navigation-open #site-header .header-right {
		width:100%;
		}
		
	.primary-navigation-open #site-header .header-right .top-content { 
		display:flex;
		flex-wrap:wrap;
		row-gap:0;
		padding-top:2rem;
		padding-bottom:3rem;
		margin-top: 0;
		top:0;
		justify-content: center;
		background:var(--global--color-page-background);
		}
		
	.primary-navigation-open #site-header .header-right .widget:not(.widget_search) {
		width:auto;
		}
		
	.primary-navigation-open .primary-navigation > .primary-menu-container {
		padding-top:5rem;
		top:5rem;
		}
		
	#page .site-header .menu-button-container {
		top:7rem;
		right:2rem;
		}
		
	#page .site-header.stuck .menu-button-container {
		top:6rem;
		}
		
	#page .site-header .wp-block-search .wp-block-search__input, 
	#page .site-header .wp-block-search .wp-block-search__input:focus {
		font-size:1.6rem;
		width:calc(100% - 2rem);
		margin:0;
		border-bottom: 1px solid #364B79;
		}
		
	#page .site-header .wp-block-search .tooltiptext {
		display:none;
		}
		

		
	#page #site-header .wp-block-button:not(.donate-button) > a:not(:hover) {
		color:#fff;
		}
		
	#site-header .header-right .widget a:not(.custom-cart-link) {
		color:#545454;
		}
		
	.site-header.has-logo:not(.has-title-and-tagline).has-menu .site-logo img {
		max-height:unset;
		}
		
	.site-header.has-logo:not(.has-title-and-tagline).has-menu .site-logo {
		display:flex;
		position:relative;
		padding-top:0;
		max-width:unset;
		max-height:unset;
		}
		
	.primary-navigation-open #site-header .header-right .top-content {
		width:100%;
		right:0;
		position:relative;
		z-index:999;
		}
		
	body:not(.primary-navigation-open) #site-header .header-right .top-content {
		right:2rem;
		}
		
	.primary-navigation-open #site-header .header-right .widget {
		width:100%;
		}
		
	#site-header .wp-block-columns {
		width:100%;
		}
		
	#site-header .wp-block-columns .wp-block-column {
		margin-bottom:1rem;
		}
		
	#page header.entry-header {
		margin-top:0;
		}
		
	#page .entry-header .wp-block-columns .wp-block-column:first-child {
		padding-left:2rem;
		line-height:1.5em;
		max-width:unset;
		width:100%;
		}
		
	#page .help-columns .wp-block-column {
		width:calc(50% - 1rem);
		}
		
	#page .stat-icons.wp-block-columns.six-wide,
		#page .home-impact .wp-block-columns.six-wide {
		column-gap:2rem;
		}
		
	#page .home-banner.desktop {
		display:none;
		}
		
	#page .home-banner.mobile {
		display:flex;
		padding-left:0;
		padding-right:0;
		}

		.single-post article {
		flex-direction:column;
		}
		
	.single-post #page .entry-header {
		margin-top:2rem;
		}

		
	.single-post #page .entry-header {
		margin-left:auto;
		margin-right:auto;
		padding:0;
		}
		
	.single-post article .title-image {
		width:100%
		}
		
	.single-post article .post-content {
		width:100%;
		}
		
	#page ul.wp-block-list, #page article ul, #page .entry-content ul {
		list-style-position:outside;
		}
}

	


/*** 768 ***/

@media all and (max-width:768px) {
	.woocommerce ul.products.columns-4 {
		column-gap:2rem;
		}
	
	.woocommerce ul.products.columns-4 li.product {
		width:calc(50% - 1.5rem) !important;
		}	
		
	.woocommerce-page .site-main {
		padding-left:2rem;
		padding-right:2rem;
		margin:0;
		}
		
		#page .site-content {
		margin-top:11.5rem;
		}
		
		#page .reports .report-item {
		width:calc(25% - 2.25rem);
		}
		
	.woocommerce table.shop_table_responsive tr:nth-child(2n+1) td, 
	.woocommerce-page table.shop_table_responsive tr:nth-child(2n+1) td {
		filter:brightness(98%);
		}
		
	.woocommerce-page #page .content-area .site-main {
	/*	padding-left:0;
		padding-right:0; */
		}
		
	.woocommerce #page ul.products.columns-4 {
		row-gap:2rem;
		}
		
	.woocommerce ul.products[class*=columns-] li.product, 
	.woocommerce-page ul.products[class*=columns-] li.product {
		padding-right:0;
		padding-bottom:0;
		}
	
	#page .entry-content .wp-block-columns.location-contacts,
	#page .entry-content .wp-block-columns.admin-contacts,
	#page .entry-content .wp-block-columns.office-contacts,
	#page .entry-content .wp-block-columns.director-contacts,
	#page .entry-content .wp-block-columns.program-contacts {
		margin:0;
		}
	
	#page .entry-content .wp-block-columns.location-contacts .wp-block-column,
	#page .entry-content .wp-block-columns.admin-contacts .wp-block-column,
	#page .entry-content .wp-block-columns.office-contacts .wp-block-column,
	#page .entry-content .wp-block-columns.director-contacts .wp-block-column,
	#page .entry-content .wp-block-columns.program-contacts .wp-block-column {
		width:100%;
		margin:0;
		}
		
	#page header.entry-header {
		padding-top:4rem;
		}
}


/*** 700 ***/

@media all and (max-width:700px) {
	.site-info .footer-sections {
		row-gap:1rem;
		}
		
	.site-info .break {
		height:1rem;
		}
		
	.woocommerce #page .site-content,
	.woocommerce-page .site-main .woocommerce-products-header {
		padding-top:2rem;
		margin-bottom:0rem;
		}
			
	#page .site-info h3.widget-title {
		margin-bottom:1rem;
		margin-top:0;
		text-align:left;
		}


	.site-info .footer-sections .footer-left,
	.site-info .footer-sections .footer-middle {
		width: 100%;
		align-items: start;
		justify-content: left;
		display: flex;
		flex-direction: column;
		}	
	
	
	.site-info .footer-sections .footer-right {
		width:60%;
		margin-top:3rem;
		}
		
	.site-info .footer-bottom,
	.site-info .footer-sections .footer-middle {
		margin-top:2rem;
		}
		
	.site-info .footer-left .widget_block {
		width:100%;
		}
		
	.site-info .footer-sections .footer-middle .wp-block-columns .wp-block-column:first-child:not(.alignwide):not(.alignfull) p.has-text-align-right {
		text-align:left;
		}
		
	.site-info .footer-sections .footer-middle .wp-block-columns .wp-block-column:first-child:not(.alignwide):not(.alignfull) {
		width:30%;
		}
		
	#page .entry-content .reports,
	#page .blog-index,
	#medialist {
		column-gap:2rem;
		row-gap:2rem;
		}
		
	.reports .report-thumb,
	#page .blog-index .post,
	.media-article {
		width:calc(50% - 1rem);
		}

	#page .site-content {
		margin-top:11rem;
		}
		
	#page .reports.annual .report-thumb {
		width:calc(50% - 1rem);
		}
		
	#page .reports .report-item {
		width:calc(25% - 1.5rem);
		}
		
	#page ul.payment_methods {
		padding-left:0;
		}
		
	.site-info .footer-sections .footer-left,
	.site-info .footer-sections .footer-middle,
	.site-info .footer-sections .footer-right {
		max-width:100%;
		width:100%;
		justify-content:center;
		text-align:center;
		}
		
	.primary-navigation-open #page .site-header .menu-button-container {
		top:5rem;
		right:2rem;
		}
		
	
	#page .site-header .menu-button-container {
		top:6rem;
		}
		
	#page .site-header.stuck .menu-button-container {
		top:5rem;
		}
		
	body:not(.primary-navigation-open) #page #site-header .header-right .wp-block-button__link,
	body:not(.primary-navigation-open) #page #site-header .header-right .wp-block-button__link:hover {
		font-size:1.3rem;
		padding:0.5rem 1.25rem 0.25rem 1.25rem;
		}
}


/*** 650 ***/

@media all and (max-width:650px) {
	:root {
	    --global--font-size-page-title: 3.2rem;
		--heading--font-size-h1: 3.2rem;
		--global--font-size-wish-bigger: 2.8rem;
		--global--font-size-wish-biggest: 3.4rem;
		}
		
	.site-header .header-content {
		flex-direction:column;
		align-items:normal;
		row-gap:0;
		min-height:unset;
		background:var(--global--color-page-background);
		z-index:999;
		border-bottom: 2px solid #aaa;
		padding:1rem;
		}
		
	#page h2.trigger {
		font-size:2rem;
		margin-bottom:1rem;
		}	
		
	.site-branding {
		display:flex;
		position:relative;
		max-width:60%;
		margin:0;
		width:100%;		
		}
		
	.site-header.stuck .site-branding {
		max-width:45%;
		}
		
	.single-post #page .site-content,	
	#page .site-content {
		margin-top:10.5rem;
		}
		
	#page .entry-content > ul:not(.alignfull) {
		margin-left:0;
		}
		
	.page #page .entry-content > ul:not(.alignfull) li.job-opening {
		margin-left:2rem;
		}
	
	.supp-row {
		row-gap:2rem;
		}
	
	.supp-item {
		width:100%;
		padding-top:1rem;
		padding-bottom:1rem;
		}
			

	.menu-button-container #primary-mobile-menu .dropdown-icon.close .svg-icon,
	.menu-button-container #primary-mobile-menu .dropdown-icon.open .svg-icon {
		top:-2px;
		}

		
	.site-header.stuck .header-content {
		min-height:6.35rem;
		}
		
	.primary-navigation-open .site-header .header-content {
		row-gap:0;
		}
		
	.primary-navigation-open .site-header .header-content,
	.primary-navigation-open #site-header .header-right {
		background-color:var(--global--color-page-background);
		}
	
	#main .wp-block-image .alignleft, 
	#main .wp-block-image .alignright {
		max-width:100%;
		width:100%;
		margin:0 auto 1.5rem auto;
		text-align:center;
		}
		
	.single-program #page .entry-content .spo-tier .spo-item h3 {
		font-size:1.7rem;
		}
		
	.single-program .spo-item, #page .spo-item,
	.spo-item {
		width:calc(50% - 1rem);
		padding:0 2rem;
		}
		
	#site-header {
		height:10.7rem;
		}

	#site-header.stuck {
		height:9rem;
		}
		
	.primary-navigation-open #page .site-header .menu-button-container {
		top:6rem;
		right:2rem;
		}
		
	#page .site-header.stuck .menu-button-container {
		top:5rem;
		}
		
	#site-header .custom-logo {
		max-height:9rem;
		}
		
	#site-header.stuck .custom-logo {
		max-height:7rem;
		}

}


/*** 600 ***/

@media all and (max-width:600px) {
	#page h1, 
	#page h1.entry-title {
		font-size:3rem;
		line-height:1.2em;
		}
		
	#page .nav-single {
		padding-left:0;
		padding-right:0;
		flex-direction:column;
		row-gap:3rem;
		}
	
	.nav-single .nav-previous, .nav-single .nav-next {
		width:100%;
		}
		
	.nav-single .nav-next {
		text-align:right;
		}
		
	.blog #page .entry-title {
		padding-left:2rem;
		padding-right:2rem;
		}
		
	#page h2 {
		font-size:2.6rem;
		}

	#site-navigation .primary-menu-container {
		background:var(--global--color-page-background);
		top:12rem;
		padding-top:4rem;
		margin-top:0;
		}
		
	.primary-navigation-open #site-header .header-right .top-content {
		background-color:var(--global--color-page-background);
		margin:0;
		padding-top:3rem;
		top:0;
		row-gap:3rem;
		}
		
	.primary-navigation #primary-menu-list {
		padding-top:2rem;	
		}
		
	.primary-navigation #primary-menu-list > li:first-child {
		padding-top:3rem;
		}
		
	.page-template-template-supporters #page .program-partners .spo-item {
		width:calc(50% - 1rem);
		}

	.reports .report-thumb {
		width:100%;
		}
		
	#page .reports .report-item {
		width:calc(33% - 1.25rem);
		}
		
	#page .blog-index .post {
		width:100%;
		margin:0;
		}
		
	.single-product .entry.product {
		flex-direction:column;
		}
		
	.custom-back-to-shop {
		margin-bottom:0;
		}

	.single-product .woocommerce-product-gallery, 
	.woocommerce #content div.product div.images, 
	.woocommerce div.product div.images, 
	.woocommerce-page #content div.product div.images, 
	.woocommerce-page div.product div.images,
	.woocommerce #content div.product div.summary, 
	.woocommerce div.product div.summary, 
	.woocommerce-page #content div.product div.summary, 
	.woocommerce-page div.product div.summary {
		max-width:unset;
		width:100%;
		}
	
	.home #page .entry-content .wp-block-columns:not(.six-wide):not(.home-supports), 
	.home #page .wp-block-columns.alignfull,
	#page .home-middle .wp-block-columns .wp-block-column .post-item.horizontal,
	#page .home-bottom .wp-block-columns .wp-block-column .post-item.vertical {
		flex-direction:column;
		max-width:100%;
		position:relative;
		column-gap:0;
		margin-top:0;
		margin-bottom:0;
		}
		
	#page .home-middle .wp-block-columns .wp-block-column .post-item.horizontal .item-image,
	#page .home-middle .wp-block-columns .wp-block-column .post-item.horizontal .item-details {
		width:100%;
		}
	
	#page .home-bottom .wp-block-columns .wp-block-column .post-item .item-image,
	#page .wp-block-columns .wp-block-column .post-item .item-image {
		display:flex;
		width:100%;
		}
		
	#page .wp-block-columns .wp-block-column .post-item .item-image img {
		object-fit:cover;
		width:100%;
		}
		
	#page .home-bottom .wp-block-columns .wp-block-column .post-item.vertical {
		flex-direction:column;
		max-width:100%;
		position:relative;
		column-gap:0;
		}
	
	#page .wp-block-columns .wp-block-column .post-item .item-image {
		display:flex;
		width:100%;
		}
		
	#page .wp-block-columns .wp-block-column .post-item .item-image img {
		object-fit:cover;
		width:100%;
		}
		
	#page .home-bottom .wp-block-columns .wp-block-column .post-item.vertical .item-details {
		display:flex;
		width:100%;
		flex-direction:column;
		max-width:100%;
		padding-bottom:4rem;
		padding-top:0;
		}
		
	#page .home-bottom .post-item h3 {
		margin-top:2rem;
		}
}

/*** 481 ***/

@media all and (max-width:481px) {
	#page .site-header:not(.stuck) .header-content {
		padding:1rem 1rem 0 1rem;
		}
		
	#page .site-header.stuck .menu-button-container {
		top:3.25rem;
		}
		
	#page .site-header .menu-button-container {
		width:auto;
		margin:0;
		}
	
	.site-header.stuck .header-content {
		padding:1rem;
		}
		
	body:not(.primary-navigation-open) #site-header.stuck .header-right .top-content {
		display:none;
		}
		
	.site-branding {
		max-width:50%;
		}
		
	#site-header:not(.stuck) .custom-logo {
		margin-top:2rem;
		}
		
	#page header.entry-header {
		padding:0 1rem;
		}

	#page .site-content {
		margin-top:11rem;
		padding-top:4.5rem;
		}
		
	.single-program #page .site-content {
		margin-top:7rem;
		}
		
	.single-program #page .entry-content .spo-tier h3 {
		margin-bottom:1rem;
		}
		
	.single-program #page header.entry-header h1 {
		padding-top:2rem;
		}
		
	.custom-back-to-shop,
	.woocommerce #page .site-content,
	.woocommerce-page .site-main .woocommerce-products-header,	
	.home #page .site-content {
		padding-top:0;
		}
		
		.woocommerce #page .site-content,
	.woocommerce-page .site-main .woocommerce-products-header {
		padding-top:2rem;
		margin-bottom:0rem;
			}
			
		.no-widgets .site-footer, .site-footer {
			padding-left:0;
			padding-right:0;
			}	
			
		.footer-sections,
		.footer-bottom{
			padding-left:2rem;
			padding-right:2rem;
			}
		
	#page .entry-content > .supp-block.alignfull > *:not(.alignfull):not(.wp-block-group__inner-container),
	#page .entry-content .spo-block,	
	#page .entry-content > .alignfull > .wp-block-group__inner-container {
		padding-left:0;
		padding-right:0;
		}
	
	#page .home-middle .wp-block-columns, #page .home-bottom .wp-block-columns,
	.home #page .entry-content .spo-block,	
	.home #page .entry-content > .alignfull > .wp-block-group__inner-container {
		padding-left:1rem;
		padding-right:1rem;
		}
		
	#site-navigation .primary-menu-container {
		margin-top:4rem;
		}
	
	.primary-navigation-open .site-header.has-logo:not(.has-title-and-tagline).has-menu .site-logo {
		display:flex;
		}
		
	#page .primary-navigation li.menu-item:first-of-type, 
	#page .primary-navigation li.menu-item, 
	#page .primary-navigation li ul.sub-menu li {
		display:flex;
		}
		
	#page .primary-navigation > .primary-menu-container ul > li .sub-menu-toggle {
		right:1rem;
		}
		
	.primary-navigation-open #page .primary-navigation .sub-menu-toggle[aria-expanded="true"] + .sub-menu {
		margin-left:0;
		}
		
	#page .primary-navigation li.menu-item {
		padding-left:0;
		}
		
	.primary-navigation-open .primary-navigation > .primary-menu-container {
		top:12rem;
		padding-top:4rem;
		} 
		
	#page.repertoire .entry-content .mep_event_list {
		margin:3rem auto 0 auto;
		}
		
	.site-header.stuck .site-branding {
		max-width:60%;
		}
		
	.board-member {
		width:100%;
		}
	
	#page .entry-content > .supp-block.alignfull,
	#page .entry-content > .wp-block-group.alignfull {
	    margin: 0;
		width: calc(100% + 4rem);
		margin-left: -2rem;
		margin-right: -2rem;
		padding: 1rem 1rem 0.75rem 1rem;
		}
		
	#page .entry-content > .alignfull {
		max-width:unset;
		}
		
	.slider-block {
		margin-top:0;
		}
		
	#page .slide blockquote {
		padding-left:3rem;
		padding-right:3rem;
		}
		
	#page .slider-block .wp-block-group__inner-container p {
		padding-left:0;
		padding-right:0;
		margin-bottom:2rem;
		}
			
	#page .entry-content .spo-block.alignfull {
		padding-left:0;
		padding-right:0;
		margin-left:auto;
		margin-right:auto;
		}
		
	.single-post #page .site-content {
		padding-top:0;
		margin-top:10rem;
		}
		
	.single-post article .title-image {
		padding:0;
		}
		
	.media-article {
		width:100%;
		}
		
	#page .entry-content .home-banner.mobile {
		display:flex;
		padding-top:0;
		padding-bottom:0;
		}
		
	.blog #page .site-main > .entry-header {
		margin-top:0;
		padding-top:0;
		}
}

@media all and (max-width:390px) {
	.single-program .spo-item, #page .spo-item, .spo-item {
		width:100%;
		}	
		
	#page .help-columns .wp-block-column {
		width:100%;
		}
		
	#page .reports .report-item {
		width:calc(50% - 1rem);
		}

}

@media all and (max-width:350px) {

.site-branding {
	margin-top:1rem;
	}

}