/* ######################### Global styles ######################### */

.page-content, .entry-content, .entry-summary, .entry-footer, .post-navigation, .posts-navigation, .comments-wrapper, .respond-wrapper {
    width: 960px;
} /* Sets screen width */

h1, h1.entry-title, .wf-active .entry-title, h2, h3, h4, h5, h6, .wf-active h1, .wf-active h2, .wf-active h3, .wf-active h4, .wf-active h5, .wf-active h6 {
	font-family: "Trebuchet MS", "Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", Tahoma, sans-serif;
} /* Defines heading font stack for the whole site */

body {
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
} /* Defines body text font stack for the whole site */

body .is-layout-grid {
	display: block;
} /* Overrides default grid layout settings */

p {
	margin: 0 0 1.1em;
} /* Sets paragraphs to only have a bottom margin */

.entry-title {
	font-family: inherit;
} /* Overrides theme's default blog post title font and forces it to use the custom font stack defined above */

a {
	text-decoration: underline;
} /* Adds an underline to all links for accessibility purposes */

.contact-info-wrapper a {
	text-decoration: none;
} /* Removes the underline from the contact info in the top header bar */

figure {
	margin: 0;
} /* Removes margin from all figure elements (images) */

figure.aligncenter.size-full img {
	width: 960px;
	max-width: 100%;
} /* Allows images to be full width of the content section */

.zeromargin {
	margin: 0;
	padding: 0;
} /* Adds a custom override class for items that should have no padding or margin */

.wp-block-image img, .wp-block-media-text__media img, #sbi_images img, .wpnbha.image-alignleft .post-has-image .post-thumbnail img {
	border-radius: 5px;
} /* Sets all images to have subtly rounded corners to soften the page appearance slightly */

.wp-block-media-text *:last-child {
	margin-bottom: 1em;
} /* Adds a margin to the bottom of the last item in a group */

.wp-block-buttons.no-padding *:last-child {
	margin-bottom: 0!important;
} /* Removes the margin defined above from button groups to avoid weird display issues with the last button being higher up than the rest */

:where(.is-layout-grid) {
    gap: 2em;
} /* Sets grid layout elements to have a specific gap amount between grid items */

/* ######################### Header ######################### */

p.site-title {
	display: none;
} /* Hides the redundant title */

.custom-logo-link {
	margin-bottom: 0;
} /* Adjusts spacing on logo */

p.site-description {
	margin-bottom: 1em;
} /* Adjusts spacing on tagline */

.contact-info-area span a, .contact-info-wrapper > span:last-of-type {
	padding: 0 10px;
} /* Sets padding for contact info items in the top header bar */

.single.no-featured-image .site-header, .page.no-featured-image .site-header {
    border-bottom: 1px solid #ddd;
} /* Adds a subtle border under the navigation to visually separate it from the page */

.header-wrapper {
	padding: 0;
} /* Removes padding on the header */

/* ######################### Navigation ######################### */

.main-navigation ul li.current-menu-item > a {
	color: white;
} /* Sets text color on non-active navigation drop-down items to white for better readability */

.main-navigation {
	margin-bottom: 0;
} /* Removes bottom margin on navigation */

.main-navigation.toggled .menu {
    background-color: white;
} /* Sets background color on non-active navigation drop-down items to white for better readability */

.main-navigation.toggled ul.sub-menu.toggled a {
    color: white;
} /* Sets text color on non-active navigation drop-down items to white for better readability */

/* ######################### Buttons ######################### */

.entry-content .wp-block-button .wp-block-button__link {
	background-color: #63bb46;
	color: white;
	font-size: 1em;
} /* Sets colors for all buttons */

.entry-content .wp-block-button .wp-block-button__link:hover, .entry-content .wp-block-button .wp-block-button__link:focus {
    background: #aecece;
    color: #222222;
    text-decoration: none;
} /* Sets colors for active-state buttons */

/* ######################### Team Bios ######################### */

.team-photos .wp-block-column {
	margin-bottom: 2em;
} /* Adds spacing between bio items on mobile */

.team-photos img {
	max-width: 80%;
	display: block;
	margin: 0 auto 1em auto;
} /* Reduces size of bio photos to not be overwhelming on small screens */

.team-photos h3, .team-photos p {
	margin-bottom: 0;
} /* Removes spacing between name and job title */

.team-photos .wp-block-buttons {
	margin-top: 1em;
} /* Adds spacing above buttons */

/* ######################### Custom content sections ######################### */

.post-32 .entry-title, .post-1127 .entry-title {
	display: none;
} /* Hides the title on only the homepage */

.post-32 .entry-header, .post-1127 .entry-header {
	padding: 8px 0;
} /* Changes the top padding under the navigation on only the homepage */

.homepage-programs {
	grid-template-columns: auto!important;
} /* Custom grid layout for the Programs section of the homepage */

/* ######################### Footer ######################### */

ul.wp-block-social-links {
	justify-content: center;
} /* Horizontally centers the social media links in the footer (on mobile, overridden below for larger screens) */

.footer-widget-2 p {
	text-align: center;
} /* Horizontally centers the text in the footer (on mobile, overridden below for larger screens) */

/* ######################### MEDIA QUERIES ######################### */

@media (min-width: 600px) { /* All screens larger than 600px wide */
	
	.page-content, .entry-content, .entry-summary {
		font-size: 1.8rem;
	} /* Sets font size */
	
	.header-wrapper {
		padding-top: 20px;
		padding-bottom: 10px;
	} /* Sets the padding for the header */
	
	.main-navigation {
		margin-bottom: 18px;
	} /* Sets the padding under the navigation */
	
	.team-photos img {
		max-width: 100%;
	} /* Allows photos to be full-width within their column on larger screens */
	
	ul.wp-block-social-links {
		justify-content: start;
	} /* Left-aligns the social media icons in the footer */
	
	body .is-layout-grid {
		display: grid;
	} /* Enables multicolumn grid layout */

	.homepage-programs {
		grid-template-columns: repeat(2, minmax(0, 1fr))!important;
	} /* Custom grid layout for the Programs section of the homepage */
	
	.footer-widget-2 p {
		text-align: right;
	} /* Right-aligns the text in the footer */
	
	.wpnbha.image-alignleft .post-has-image .post-thumbnail {
		min-width: inherit;
	} /* Removes hard-coded theme width for blog post featured image thumbnails, to allow setting of that in the display page */
	
	.wpnbha.mobile-stack.image-alignleft .post-thumbnail {
		margin-right: 2em!important;
	} /* Adds padding between the blog post thumbnail and the exceprt */
	
}

@media (max-width: 768px) {
	.site-header .main-navigation li.current-menu-item>a {
		background-color: #63bb46;
		color: white;
	} /* Defines colors for mobile navigation links */
}

@media (min-width: 768px) {
	
	.main-navigation {
		justify-content: center;
	} /* Centers the navigation */

	.main-navigation li:hover > a, .main-navigation li a:hover, .main-navigation.toggled li a:hover, .main-navigation.toggled li:hover a {
		background-color: #aecece;
		color: #222222 !important;
	} /* Sets the active color for navigation items so users can tell what page they're on */
	
	#header-menu {
		margin-left: 0px;
	} /* Removes left margin to keep the navigation centered */
	
	.site-header {
		padding-bottom: 0;
	} /* Removes bottom spacing on navigation */
	
	.main-navigation li:last-of-type {
		margin-right: 0px;
	} /* Removes last-item margin to keep the navigation centered */
	
	.entry-header {
			padding: 48px 0;
	} /* Sets the spacing between the navigation and the page content */

	.post-32 .entry-header, .post-1127 .entry-header {
		padding: 28px 0;
	} /* Sets the spacing between the navigation and the page content on just the homepage */
	
	.homepage p {
		font-size: 1.2em;
	} /* Custom font size for paragraphs tagged with the "homepage" CSS class in the page editor */
	
	.homepage-programs {
		grid-template-columns: repeat(3, minmax(0, 1fr))!important;
	} /* Custom grid layout for the Programs section of the homepage */
	
}

@media (min-width: 1000px) {
	.entry-thumbnail {
		width: 70%;
		margin: 0 auto;
		border-radius: 5px;
		max-width: 1000px;
	} /* Changes the width of Stories posts' featured images, and softens the corners slightly */
}

@media (min-width: 1200px) {
	
	.wp-block-cover.alignfull.homepage {
		height: 60vh
	} /* Sets the height of the Cover element, when tagged with the "homepage" CSS class in the page editor */
	
	.homepage p {
		font-size: 1.5em;
	} /* Custom font size for paragraphs tagged with the "homepage" CSS class in the page editor */
	
	.homepage .wp-block-cover.alignfull .wp-block-cover__inner-container {
		max-width: 1100px;
	} /* Custom max width for the inner text box of the Cover element, when tagged with the "homepage" CSS class in the page editor */
}