:root {
	--sba-blue-primary:			hsl( 209deg 87% 38% / 1 ); /* = #0d65b7 */
	--sba-blue-primary-plus:	hsl( 210deg 89% 35% / 1 ); /* = #0a59a9 */
	--sba-blue-secondary:		hsl( 186deg 61% 84% / 1 ); /* = #bdeaef */
	--sba-blue-secondary-lt:	hsl( 186deg 56% 84% / 0.22 ); /* = #bfe8ed38 */
	--sba-grey-dk:				hsl( 0deg 0% 20% / 1 ); /* = #333 */
	--sba-grey-md:				hsl( 0deg 0% 41% / 1 ); /* = #696969 */
	--sba-grey-lt:				hsl( 0deg 0% 85% / 1 ); /* = #d9d9d9 */
	--sba-grey-subtle:			hsl( 0deg 0% 93% / 1 ); /* = #ececec */
	--sba-div-line:				1px solid var( --sba-grey-lt, #d9d9d9 );
	--sba-fx-duration:			500ms;
	--sba-fx-easing:			ease;
	--shadow-subtle:			0 0 1px hsl( 0deg 0% 0% / 0.16 ); /* = #00000029 */
}
html { line-height: 1.5 }

/* ---------------------------------------- */
/* -------- GLOBAL PAGE OVERRIDES --------- */
/* ---------------------------------------- */

body.page > div#page > div#content.site-content #main.site-main > article[ id^="post" ] > header.entry-header { display: none }
div#page { position: relative }
div#page #main.site-main > article[ id^="post" ] > div.entry-content { margin-top: 0 }

/* ----------------------------------- */
/* -------- HEADER OVERRIDES --------- */
/* ----------------------------------- */
div#page > header#masthead {
	position: relative;
	height: min( 342px, max( 28vw, 230px ) );
	margin: 0;
	background-color: var( --sba-blue-secondary );
	background-image: url( 'https://summerbridgeactivities.com/wp-content/uploads/2024/02/SBAmicrosite-blueWave.svg' );
	background-repeat: no-repeat;
	background-origin: border-box;
	background-position: left bottom;
	background-size: 97%;
	
	transition-property: height, padding;
	transition-duration: var( --sba-fx-duration );
	transition-timing-function: var( --sba-fx-easing );
}
div#page > header#masthead > div.site-header-wrap {
	position: relative;
	display: flex;
	width: auto;
	max-width: none;
	height: 100%;
	margin: 0;
	padding: 0;
}
div#page > header#masthead > div.site-header-wrap > p.site-title {
	position: absolute;
	top: -100px;
	left: -1500px;
	width: 1px;
	height: 1px;
	overflow: hidden;
	visibility: hidden;
	color: transparent;
}
div#page > header#masthead > div.site-header-wrap > div.site-logo { align-self: flex-start }
div#page > header#masthead > div.site-header-wrap > p.site-description {
	align-self: flex-end;
	font-family: var( --font-headings );
	font-size: 18px;
	font-size: clamp( 1.11rem, 2.8vw, 1.67rem );
	line-height: 1.25;
	font-weight: 700;
	color: var( --sba-blue-primary-plus );
	text-align: right;
}
div#page > header#masthead > div.site-header-wrap > nav.main-navigation {
	position: absolute;
	top: 0;
	right: 0;
}
div#page > header#masthead > div.site-header-wrap > nav.main-navigation a {
	background-color: var( --sba-blue-secondary );
	border-bottom: 0.17rem solid transparent;
	font-family: var( --font-headings );
	font-weight: 700;
	color: var( --sba-blue-primary-plus );
	
	transition-property: background, color;
	transition-duration: var( --sba-fx-duration );
	transition-timing-function: var( --sba-fx-easing );
}
div#page > header#masthead > div.site-header-wrap > nav.main-navigation a:hover, 
div#page > header#masthead > div.site-header-wrap > nav.main-navigation a:active, 
div#page > header#masthead > div.site-header-wrap > nav.main-navigation a:focus {
	background-color: var( --sba-blue-primary );
	outline: none;
	color: var( --sba-blue-secondary );
}
div#page > header#masthead > div.site-header-wrap > nav.main-navigation li.current-menu-item { pointer-events: none }
div#page > header#masthead > div.site-header-wrap > nav.main-navigation li.current-menu-item > a {
	cursor: default;
	background-color: transparent;
	border-color: var( --sba-blue-primary );
	box-shadow: none;
	color: var( --sba-blue-primary-plus );
}

/* MEDIA QUERIES */
@media ( min-width: 559px ) and ( max-width: 800px ) {
	div#page > header#masthead > div.site-header-wrap > div.site-logo { margin-top: calc( -16% + 115px ) }
}
@media ( max-width: 558px ) {
	div#page > header#masthead > div.site-header-wrap > div.site-logo { margin-top: 2rem }
}

@media ( min-width: 560px ) {
	html { font-size: 18px }
	div#page > header#masthead { padding: 0.78rem min( 2.6%, 1.78rem ) 6% }
	div#page > header#masthead > div.site-header-wrap {
		flex-flow: row nowrap;
		justify-content: space-between;
	}
	div#page > header#masthead > div.site-header-wrap > div.site-logo {
		flex: 0 1 40.47%;
		min-width: 230px;
		max-width: 464px;
	}
	div#page > header#masthead > div.site-header-wrap > p.site-description { flex: 0 1 22ch }
	div#page > header#masthead > div.site-header-wrap > nav.main-navigation { right: -0.33rem }
	div#page > header#masthead > div.site-header-wrap > nav.main-navigation a {
		padding: 0.5rem 0.5rem 0.33rem 0.56rem;
		border-radius: 0.78rem 0 0 0;
		font-size: 16px;
		font-size: clamp( 0.78rem, 1.9vw, 1rem );
	}
	div#page > header#masthead > div.site-header-wrap > nav.main-navigation li:nth-last-of-type( n + 2 ) > a { margin-right: 0.33rem }
}
@media ( max-width: 559px ) {
	html { font-size: 16px }
	div#page > header#masthead { padding: 0.875rem 0.875rem 0 }
	div#page > header#masthead > div.site-header-wrap {
		flex-flow: column nowrap;
		justify-content: space-around;
	}
	div#page > header#masthead > div.site-header-wrap > div.site-logo { max-width: 230px }
	div#page > header#masthead > div.site-header-wrap > p.site-description {
		width: 22.5ch;
		flex: 0 1 11ch;
	}
	div#page > header#masthead > div.site-header-wrap > nav.main-navigation { right: 0 }
	body.mobile-nav-side div#page > header#masthead > div.site-header-wrap > nav.main-navigation label#toggle-menu {
		padding: 0.5625rem 1rem 0.4375rem;
		background-color: var( --sba-blue-primary );
		border: 2px solid transparent;
		border-radius: 1.25rem 0 0 0;
		font-family: var( --font-headings );
		font-size: 0.875rem; /* = 14px */
		font-weight: 700;
		letter-spacing: 0.375px;
		color: var( --sba-blue-secondary );
		
		transition-property: background, border, color;
		transition-duration: var( --sba-fx-duration );
		transition-timing-function: var( --sba-fx-easing );
	}
	body.mobile-nav-side div#page > header#masthead > div.site-header-wrap > nav.main-navigation label#toggle-menu:hover, 
	body.mobile-nav-side div#page > header#masthead > div.site-header-wrap > nav.main-navigation label#toggle-menu:active, 
	body.mobile-nav-side div#page > header#masthead > div.site-header-wrap > nav.main-navigation label#toggle-menu:focus {
		background-color: var( --sba-blue-secondary );
		border-color: var( --sba-blue-primary );
		color: var( --sba-blue-primary );
	}
	body.mobile-nav-side div#page > header#masthead > div.site-header-wrap > nav.main-navigation #toggle:checked + label {
		top: 0.875rem;
		right: 0.875rem;
	}
	body.mobile-nav-side div#page > header#masthead > div.site-header-wrap > nav.main-navigation > .main-menu-container {
		top: 0;
		margin-top: 0;
		padding: 3.25rem 1.25rem 1.25rem;
		background-color: var( --sba-blue-secondary );
		background-image: url( 'https://summerbridgeactivities.com/wp-content/uploads/2024/02/SBAmicrosite-blueWave.svg' );
		background-repeat: no-repeat;
		background-origin: border-box;
		background-position: left bottom;
		background-size: 97%;
	}
	div#page > header#masthead > div.site-header-wrap > nav.main-navigation a {
		margin: 0.5rem 0;
		padding: 0 0 0 0.375rem;
		font-size: 1.25rem; /* = 20px */
		line-height: 2;
		font-weight: 700;
	}
}

/* ------------------------------------ */
/* ---------- BODY OVERRIDES ---------- */
/* ------------------------------------ */
div#page > div#content > section.content-area > #main.site-main { padding: 1.89rem 0 0 }

div#page #main.site-main > article[ id^="post" ] > div.entry-content > div.sba { margin-top: 0 }
div#page #main.site-main > article[ id^="post" ] > div.entry-content > div.sba:nth-last-of-type( n + 2 ) { margin-bottom: 1.89rem }
div#page #main.site-main > article[ id^="post" ] > div.entry-content div.sba-fw-block {
	justify-content: space-between;
	width: calc( 100% - 5.128% );
	max-width: none;
}
div#page #main.site-main > article[ id^="post" ] > div.entry-content div.sba img { width: fit-content }
div#page #main.site-main > article[ id^="post" ] > div.entry-content div.sba h1.sba { font-size: 1.89rem /* = 34px */ }
div#page #main.site-main > article[ id^="post" ] > div.entry-content div.sba h2.sba {
	margin: 0;
	padding: 0 0 1rem;
	font-size: 26px;
	font-size: clamp( 1.33rem, 3.6vw, 1.67rem );
	line-height: 1.25;
	font-weight: 900;
	color: var( --sba-blue-primary );
}
div#page #main.site-main > article[ id^="post" ] > div.entry-content div.sba p.sba { margin: 0 0 1rem }
div#page #main.site-main > article[ id^="post" ] > div.entry-content div.sba ul.sba {
	margin: 0 0 1rem;
	padding: 0 5% 0 8%;
}
div#page #main.site-main > article[ id^="post" ] > div.entry-content div.sba ul.sba li { padding-bottom: 0.5rem }
div#page #main.site-main > article[ id^="post" ] > div.entry-content div.sba a {
	background-color: transparent;
	color: var( --sba-blue-primary-plus );
	
	transition-property: background;
	transition-duration: var( --sba-fx-duration );
	transition-timing-function: var( --sba-fx-easing );
}
div#page #main.site-main > article[ id^="post" ] > div.entry-content div.sba a:hover, 
div#page #main.site-main > article[ id^="post" ] > div.entry-content div.sba a:active, 
div#page #main.site-main > article[ id^="post" ] > div.entry-content div.sba a:focus {
	background-color: var( --sba-blue-secondary );
	outline: none;
}
div#page #main.site-main > article[ id^="post" ] > div.entry-content div.sba div.wp-block-buttons:not( :last-child ) { margin: 0 0 1rem }
div#page #main.site-main > article[ id^="post" ] > div.entry-content div.sba div.wp-block-buttons:last-child { margin: 0 }
div#page #main.site-main > article[ id^="post" ] > div.entry-content div.sba div.sba-btn > a {
	padding: 0.94rem 1.78rem;
	border-radius: 1.11rem 0 0 0;
	background-color: var( --sba-blue-secondary );
	font-size: 1.11rem; /* = 20px */
	color: var( --sba-blue-primary-plus );
	
	transition-property: background, color;
	transition-duration: var( --sba-fx-duration );
	transition-timing-function: var( --sba-fx-easing );
}
div#page #main.site-main > article[ id^="post" ] > div.entry-content div.sba div.sba-btn > a:hover, 
div#page #main.site-main > article[ id^="post" ] > div.entry-content div.sba div.sba-btn > a:active, 
div#page #main.site-main > article[ id^="post" ] > div.entry-content div.sba div.sba-btn > a:focus {
	background-color: var( --sba-blue-primary );
	outline: none;
	color: var( --sba-blue-secondary );
}
div#page #main.site-main > article[ id^="post" ] > div.entry-content div.sba figure.sba-lifestyle { margin: 0 }
div#page #main.site-main > article[ id^="post" ] > div.entry-content div.sba figure.sba-lifestyle > img {
	width: fit-content;
	border-bottom: 0.56rem solid var( --sba-blue-primary );
	border-radius: 2.78rem 0 0 0;
	box-shadow: var( --shadow-subtle );
}

/* --- callout (HOME) --- */
div#page #main.site-main > article[ id^="post" ] > div.entry-content > div.sba-callout {
	position: relative;
	height: 10.33rem;
	margin: 0;
	overflow: hidden;
	background-color: var( --sba-blue-primary );
}
div#page #main.site-main > article[ id^="post" ] > div.entry-content > div.sba-callout::before {
	content: url( 'https://summerbridgeactivities.com/wp-content/uploads/2024/02/SBAmicrosite-blueWave-lt.svg' );
	position: absolute;
	right: 20%;
	bottom: -5%;
	left: 0;
	z-index: 9;
	transform-origin: left bottom;
}
div#page #main.site-main > article[ id^="post" ] > div.entry-content > div.sba-callout h1.sba-callout-heading {
	padding: 0;
	font-size: 28px;
	font-size: clamp( 1.33rem, 3vw, 1.89rem );
	line-height: 1.25;
	font-weight: 700;
	color: var( --sba-blue-secondary );
	text-align: right;
}

/* --- 5 key facts (HOME) --- */
div#page #main.site-main > article[ id^="post" ] > div.entry-content > div.sba-facts { padding: 1rem }
div#page #main.site-main > article[ id^="post" ] > div.entry-content > div.sba-facts.facts-odd { background-color: var( --sba-blue-secondary-lt ) }
div#page #main.site-main > article[ id^="post" ] > div.entry-content > div.sba-facts.facts-even {}
div#page #main.site-main > article[ id^="post" ] > div.entry-content > div.sba-facts > div > div { margin: 0 0 1rem }
div#page #main.site-main > article[ id^="post" ] > div.entry-content > div.sba-facts div.sba-fact-number {
	display: flex;
	flex-flow: row nowrap;
	justify-content: center;
	align-items: center;
	width: 3rem;
	height: 3rem;
	margin: 0;
	background-color: var( --sba-blue-primary );
	border-radius: 50%;
}
div#page #main.site-main > article[ id^="post" ] > div.entry-content > div.sba-facts div.sba-fact-number > p {
	font-family: var( --font-headings );
	font-size: 1.44rem; /* = 26px */
	line-height: 0;
	font-weight: 900;
	color: var( --sba-blue-secondary );
}
div#page #main.site-main > article[ id^="post" ] > div.entry-content > div.sba-facts.facts-odd h4,
div#page #main.site-main > article[ id^="post" ] > div.entry-content > div.sba-facts.facts-odd h5 { color: var( --sba-blue-primary-plus ) }
div#page #main.site-main > article[ id^="post" ] > div.entry-content > div.sba-facts h4,
div#page #main.site-main > article[ id^="post" ] > div.entry-content > div.sba-facts h5 {
	margin: 0;
	padding: 0;
	font-family: var( --font-headings );
	line-height: 1.25;
	font-weight: 700;
	color: var( --sba-blue-primary-plus );
}
div#page #main.site-main > article[ id^="post" ] > div.entry-content > div.sba-facts.facts-even h4,
div#page #main.site-main > article[ id^="post" ] > div.entry-content > div.sba-facts.facts-even h5 { color: var( --sba-blue-primary ) }
div#page #main.site-main > article[ id^="post" ] > div.entry-content > div.sba-facts h4 {
	font-size: 1.33rem; /* = 24px */
	font-weight: 900;
}
div#page #main.site-main > article[ id^="post" ] > div.entry-content > div.sba-facts h5 {
	padding: 1rem 0;
	font-size: 1.11rem; /* = 20px */
}

/* --- backpacks / 3 key parts (ABOUT) --- */
div#page #main.site-main > article[ id^="post" ] > div.entry-content > div.sba-backpacks {
	padding: 1rem 2.70%;
	background-color: var( --sba-blue-secondary-lt );
}
div#page #main.site-main > article[ id^="post" ] > div.entry-content > div.sba-backpacks div.sba-fw-block { width: 100% !important }
div#page #main.site-main > article[ id^="post" ] > div.entry-content > div.sba-backpacks figure { margin-bottom: 1.56rem !important }
div#page #main.site-main > article[ id^="post" ] > div.entry-content > div.sba-backpacks div.sba div.sba-btn > a {
	padding-bottom: calc( 0.94rem - 0.17rem );
	background-color: var( --sba-blue-primary );
	border-bottom: 3px solid transparent;
	color: var( --sba-blue-secondary );
}
div#page #main.site-main > article[ id^="post" ] > div.entry-content > div.sba-backpacks div.sba div.sba-btn > a:hover, 
div#page #main.site-main > article[ id^="post" ] > div.entry-content > div.sba-backpacks div.sba div.sba-btn > a:active, 
div#page #main.site-main > article[ id^="post" ] > div.entry-content > div.sba-backpacks div.sba div.sba-btn > a:focus {
	background-color: transparent;
	outline: none;
	border-bottom: 3px solid var( --sba-blue-primary );
	color: var( --sba-blue-primary-plus );
}
div#page #main.site-main > article[ id^="post" ] > div.entry-content > div.sba-backpacks div.sba-key-parts { margin: 0 0 0.78rem }
div#page #main.site-main > article[ id^="post" ] > div.entry-content > div.sba-backpacks div.sba-key-parts:last-of-type { margin: 0 }
div#page #main.site-main > article[ id^="post" ] > div.entry-content > div.sba-backpacks div.sba-key-parts div.key-part-number {
	display: flex;
	flex-flow: row nowrap;
	justify-content: center;
	align-items: center;
	flex: 1 0 2.5rem !important;
	width: 2.5rem;
	height: 2.5rem;
	margin: 0;
	background-color: var( --sba-blue-primary );
	border-radius: 50%;
}
div#page #main.site-main > article[ id^="post" ] > div.entry-content > div.sba-backpacks div.sba-key-parts div.key-part-number p {
	font-family: var( --font-headings );
	font-size: 1.44rem; /* = 26px */
	line-height: 0;
	font-weight: 900;
	color: var( --sba-blue-secondary );
}
div#page #main.site-main > article[ id^="post" ] > div.entry-content > div.sba-backpacks div.sba-key-parts div.key-part-copy { flex: 0 1 auto !important }
div#page #main.site-main > article[ id^="post" ] > div.entry-content > div.sba-backpacks div.sba-key-parts div.key-part-copy h5 {
	margin: 0;
	padding: 0.67rem 0 0.22rem;
	font-family: var( --font-headings );
	font-size: 1rem; /* = 18px */
	line-height: 1.25;
	font-weight: 700;
	color: var( --sba-blue-primary-plus );
}
div#page #main.site-main > article[ id^="post" ] > div.entry-content > div.sba-backpacks div.sba-key-parts div.key-part-copy p {
	margin: 0;
	font-size: 1rem; /* = 18px */
}

/* --- about sba (ABOUT) --- */
div#page #main.site-main > article[ id^="post" ] > div.entry-content > div.about-sba h4 {
	margin: 0;
	padding: 0 0 1rem;
	font-family: var( --font-headings );
	font-size: 1.11rem; /* = 20px */
	line-height: 1.25;
	font-weight: 700;
	color: var( --sba-blue-primary );
}

/* --- available in spanish (ABOUT) --- */
div#page #main.site-main > article[ id^="post" ] > div.entry-content > div.spanish-disclaimer { padding: 0 1rem }

/* --- (REVIEWS) --- */
div#page #main.site-main > article[ id^="post" ] > div.entry-content > div.sba-reviews-headline h2.sba { padding-bottom: 0 }
div#page #main.site-main > article[ id^="post" ] > div.entry-content > div.sba-reviews div.sba-review {
	margin-right: 0;
	margin-bottom: 2rem;
	padding-bottom: 1rem;
	border-bottom: var( --sba-div-line );
}
div#page #main.site-main > article[ id^="post" ] > div.entry-content > div.sba-reviews div.sba-review p {
	font-size: 0.89rem; /* = 16px */
	font-weight: 400;
}
div#page #main.site-main > article[ id^="post" ] > div.entry-content > div.sba-reviews div.sba-review p.review-text {
	font-family: var( --font-base );
	margin: 0 0 1rem;
	line-height: 1.625;
}
div#page #main.site-main > article[ id^="post" ] > div.entry-content > div.sba-reviews div.sba-review p.review-text > img { position: relative }
div#page #main.site-main > article[ id^="post" ] > div.entry-content > div.sba-reviews div.sba-review p.review-text > img:first-of-type {
	top: 0;
	left: -0.38rem;
	float: left;
	margin: -0.75rem 0.38rem 0 0;
}
div#page #main.site-main > article[ id^="post" ] > div.entry-content > div.sba-reviews div.sba-review p.review-text > img:last-of-type {
	right: -0.38rem;
	bottom: -0.19rem;
	float: right;
	margin: 0 0 -0.75rem 0.38rem;
}
div#page #main.site-main > article[ id^="post" ] > div.entry-content > div.sba-reviews div.sba-review p.review-attribution {
	margin: 0;
	padding: 0 0 0 2rem;
	font-family: var( --font-base-default );
	line-height: 1.375;
	font-style: italic;
}
div#page #main.site-main > article[ id^="post" ] > div.entry-content > div.sba-reviews div.sba-review p.review-attribution span.attrib-divline {
    display: inline-block;
    width: 1px;
    margin: 0 0.25rem 0 0.31rem;
    border-right: 1px solid var( --sba-grey-md );
}

div#page #main.site-main > article[ id^="post" ] > div.entry-content > div.sba-trust-line {
	padding: 1.78rem;
	background-color: var( --sba-blue-secondary-lt );
}
div#page #main.site-main > article[ id^="post" ] > div.entry-content > div.sba-trust-line div.trust-logos {}

/* --- 'checks all the boxes' (SHOP) --- */
div#page #main.site-main > article[ id^="post" ] > div.entry-content > div.sba ul.sba.checkbox-bullets {
	list-style-type: none;
	padding-left: 5%;
}
div#page #main.site-main > article[ id^="post" ] > div.entry-content > div.sba ul.sba.checkbox-bullets > li {
	padding-left: 30px;
	background-color: transparent;
	background-image: url( 'https://summerbridgeactivities.com/wp-content/uploads/2021/12/common-bulletPoint_checkbox.png' );
	background-repeat: no-repeat;
	background-size: auto;
}

/* --- product listing (SHOP) --- */
/* ---       (products)       --- */
div#page #main.site-main > article[ id^="post" ] > div.entry-content > div.sba-shop section.sba-product-cat {
	max-width: 1248px;
	margin: 0 auto;
}
div#page #main.site-main > article[ id^="post" ] > div.entry-content > div.sba-shop section.sba-product-cat > h2 {
	cursor: pointer;
	
	position: relative;
	margin: 0 0 1rem;
	padding: 0.375rem 4rem 0.1875rem 0.75rem;
	background-color: var( --sba-blue-secondary-lt );
	border-radius: 15px 0 0 0;
	font-size: clamp( 1.33rem, 3.6vw, 1.67rem );
	line-height: 1.25;
	font-weight: 900;
	color: var( --sba-blue-primary );
		text-align: left;
	
	transition: background-color var( --sba-fx-duration ) var( --sba-fx-easing );
}
div#page #main.site-main > article[ id^="post" ] > div.entry-content > div.sba-shop section.sba-product-cat > h2:hover, 
div#page #main.site-main > article[ id^="post" ] > div.entry-content > div.sba-shop section.sba-product-cat > h2:focus {
	background-color: var( --sba-blue-secondary );
	outline: none;
}
div#page #main.site-main > article[ id^="post" ] > div.entry-content > div.sba-shop section.sba-product-cat > h2 sup { font-size: 60% }
div#page #main.site-main > article[ id^="post" ] > div.entry-content > div.sba-shop section.sba-product-cat > h2::after {
	content: '\0023f7';
    position: absolute;
    top: 50%;
    right: 0.75rem;
    font-size: 2.5ch;
    line-height: 0;
    transform-origin: center;
	transform: rotate( 0deg ) translateY( -2px );
	
	transition: transform var( --sba-fx-duration ) var( --sba-fx-easing );
}
div#page #main.site-main > article[ id^="post" ] > div.entry-content > div.sba-shop section.sba-product-cat > h2.open::after { transform: rotate( 180deg ) translateY( -2px ) }

div#page #main.site-main > article[ id^="post" ] > div.entry-content > div.sba-shop section.sba-product-cat > .sba-products {
	display: flex;
	flex-flow: row wrap;
	align-items: flex-start;
	column-gap: 0.5rem;
	height: 100%;
	overflow: hidden;
	transform-origin: top;
	opacity: 1;
	
	transition-property: height, transform, opacity;
	transition-duration: var( --sba-fx-duration );
	transition-timing-function: cubic-bezier( 0.65, 0.05, 0.36, 1 );
}
div#page #main.site-main > article[ id^="post" ] > div.entry-content > div.sba-shop section.sba-product-cat > .sba-products.hidden {
	height: 0;
	transform: scaleY( 0 );
	opacity: 0;
}
div#page #main.site-main > article[ id^="post" ] > div.entry-content > div.sba-shop section.sba-product-cat > .sba-products .bc-buy-button {
	width: 230px !important;
	height: auto !important;
	margin-bottom: min( 6vw, 2rem );
	border: 1px solid var( --sba-grey-subtle );
	border-radius: 15px 0 0 0;
}

div#page #main.site-main > article[ id^="post" ] > div.entry-content > div.sba-shop section.sba-product-cat > .sba-products .sba-ghost-product { width: 230px }

div#page #main.site-main > article[ id^="post" ] > div.entry-content > div.sba-shop section.sba-product-cat > .sba-products .bc-buy-button > iframe {
	width: 100%;
	height: auto !important;
	overflow: hidden;
	border: none; 
}
div#page #main.site-main > article[ id^="post" ] > div.entry-content > div.sba-shop section.sba-product-cat > .sba-products .bc-buy-button.sba-workbook > iframe { aspect-ratio: 54 / 97 }
div#page #main.site-main > article[ id^="post" ] > div.entry-content > div.sba-shop section.sba-product-cat > .sba-products .bc-buy-button.sba-backpack > iframe { aspect-ratio: 51 / 97 }

/* MEDIA QUERIES */
@media ( min-width: 896px ) {
	div#page #main.site-main > article[ id^="post" ] > div.entry-content > div.sba-shop section.sba-product-cat { padding: 1rem }
}
@media ( max-width: 895px ) {
	div#page #main.site-main > article[ id^="post" ] > div.entry-content > div.sba-shop section.sba-product-cat { padding: 2% }
}
@media ( min-width: 515px ) {
	div#page #main.site-main > article[ id^="post" ] > div.entry-content > div.sba-shop section.sba-product-cat > .sba-products { justify-content: space-around }
}
@media ( max-width: 514px ) {
	div#page #main.site-main > article[ id^="post" ] > div.entry-content > div.sba-shop section.sba-product-cat > .sba-products { justify-content: center }
	div#page #main.site-main > article[ id^="post" ] > div.entry-content > div.sba-shop section.sba-product-cat > .sba-products > .sba-ghost-product { display: none }
}

/* --- container & headings (CONTACT) --- */
div#page #main.site-main > article[ id^="post" ] > div.entry-content > div.sba-contact-info { margin-bottom: 3rem }
div#page #main.site-main > article[ id^="post" ] > div.entry-content > div.sba-contact-info h3.sba {
	margin: 0;
	padding: 0 0 1rem;
	font-size: 26px;
	font-size: clamp( 1.33rem, 3.6vw, 1.67rem );
	line-height: 1.25;
	font-weight: 900;
	color: var( --sba-blue-primary );
}

/* --- social links (CONTACT) --- */
div#page #main.site-main > article[ id^="post" ] > div.entry-content > div.sba-contact-info ul.sba-social {
	justify-content: space-evenly;
	gap: 1%;
	max-width: 400px;
	margin: 0 auto 2rem;
}
div#page #main.site-main > article[ id^="post" ] > div.entry-content > div.sba-contact-info ul.sba-social > li[class*="sba-social-icon"] {
	flex: 0 1 2.89rem;
	padding: 0.45rem;
	background-color: var( --sba-grey-subtle );
	color: var( --sba-grey-dk );
	
	transition: padding 150ms var( --sba-fx-easing ), background-color 300ms var( --sba-fx-easing ), color 300ms var( --sba-fx-easing );
}
div#page #main.site-main > article[ id^="post" ] > div.entry-content > div.sba-contact-info ul.sba-social > li[class*="sba-social-icon"]:hover, 
div#page #main.site-main > article[ id^="post" ] > div.entry-content > div.sba-contact-info ul.sba-social > li[class*="sba-social-icon"]:active, 
div#page #main.site-main > article[ id^="post" ] > div.entry-content > div.sba-contact-info ul.sba-social > li[class*="sba-social-icon"]:focus, 
div#page #main.site-main > article[ id^="post" ] > div.entry-content > div.sba-contact-info ul.sba-social > li[class*="sba-social-icon"]:has( > a:focus ) {
	padding: 0;
	background-color: var( --sba-blue-secondary );
	outline: none;
	color: var( --sba-blue-primary-plus );
}
div#page #main.site-main > article[ id^="post" ] > div.entry-content > div.sba-contact-info ul.sba-social > li[class*="sba-social-icon"] > a {
	background-color: transparent;
	color: currentcolor;
	transition: none;
}
div#page #main.site-main > article[ id^="post" ] > div.entry-content > div.sba-contact-info ul.sba-social > li[class*="sba-social-icon"] > a:hover, 
div#page #main.site-main > article[ id^="post" ] > div.entry-content > div.sba-contact-info ul.sba-social > li[class*="sba-social-icon"] > a:active, 
div#page #main.site-main > article[ id^="post" ] > div.entry-content > div.sba-contact-info ul.sba-social > li[class*="sba-social-icon"] > a:focus { background-color: transparent }
div#page #main.site-main > article[ id^="post" ] > div.entry-content > div.sba-contact-info ul.sba-social > li[class*="sba-social-icon"] svg {
	width: 1.33rem;
	height: 1.33rem;
	shape-rendering: geometricprecision;
	
	transition-property: width, height;
	transition-duration: 150ms;
	transition-timing-function: var( --sba-fx-easing );
}
div#page #main.site-main > article[ id^="post" ] > div.entry-content > div.sba-contact-info ul.sba-social > li[class*="sba-social-icon"]:hover svg, 
div#page #main.site-main > article[ id^="post" ] > div.entry-content > div.sba-contact-info ul.sba-social > li[class*="sba-social-icon"]:active svg, 
div#page #main.site-main > article[ id^="post" ] > div.entry-content > div.sba-contact-info ul.sba-social > li[class*="sba-social-icon"]:focus svg, 
div#page #main.site-main > article[ id^="post" ] > div.entry-content > div.sba-contact-info ul.sba-social > li[class*="sba-social-icon"]:has( > a:focus ) svg {
	width: 2.22rem;
	height: 2.22rem;
	outline: none;
}

/* --- contact form (CONTACT) --- */


/* --- 'whitepaper' global block ("pattern") --- */
div#page #main.site-main > article[ id^="post" ] > div.entry-content > div.sba-whitepaper {
	width: min( 980px, 92.75vw );
	max-width: 100%;
	padding: 1rem;
}
div#page #main.site-main > article[ id^="post" ] > div.entry-content > div.sba-whitepaper p.sba {
	margin: 0 0 1.5rem;
	font-size: 1rem; /* = 18px */
	font-size: clamp( 1rem, 2.5vw, 1.11rem );
}
div#page #main.site-main > article[ id^="post" ] > div.entry-content > div.sba-whitepaper figure {
	max-width: 480px;
	margin: 0 auto;
}

/* --- 'contact us' global block ("pattern") --- */
div#page #main.site-main > article[ id^="post" ] > div.entry-content > div.sba-contact {
	height: 258px;
	margin: 0;
	overflow: hidden;
	background-color: var( --sba-blue-secondary );
	background-image: url( 'https://summerbridgeactivities.com/wp-content/uploads/2024/02/SBAmicrosite-blueWave.svg' );
	background-repeat: no-repeat;
	background-origin: border-box;
	background-position: left 100.35%;
	background-size: 100%;
}
div#page #main.site-main > article[ id^="post" ] > div.entry-content > div.sba-contact > div {
	display: flex;
	flex-flow: column nowrap;
	justify-content: center;
	align-items: flex-end;
}
div#page #main.site-main > article[ id^="post" ] > div.entry-content > div.sba-contact h2.sba, 
div#page #main.site-main > article[ id^="post" ] > div.entry-content > div.sba-contact p.sba {
	color: var( --sba-blue-primary-plus );
	text-align: right;
}
div#page #main.site-main > article[ id^="post" ] > div.entry-content > div.sba-contact h2.sba { padding: 0 }
div#page #main.site-main > article[ id^="post" ] > div.entry-content > div.sba-contact p.sba { margin: 0 0 0.5rem }
div#page #main.site-main > article[ id^="post" ] > div.entry-content > div.sba-contact .sba-btn.btn-rev > a {
	padding-bottom: calc( 0.94rem - 0.17rem );
	background-color: var( --sba-blue-primary );
	border-bottom: 3px solid transparent;
	color: var( --sba-blue-secondary );
}
div#page #main.site-main > article[ id^="post" ] > div.entry-content > div.sba-contact .sba-btn.btn-rev > a:hover, 
div#page #main.site-main > article[ id^="post" ] > div.entry-content > div.sba-contact .sba-btn.btn-rev > a:active, 
div#page #main.site-main > article[ id^="post" ] > div.entry-content > div.sba-contact .sba-btn.btn-rev > a:focus {
	background-color: var( --sba-blue-secondary );
	border-bottom: 3px solid var( --sba-blue-primary );
	color: var( --sba-blue-primary-plus );
}


/* MEDIA QUERIES */
@media ( max-width: 1024px ) and ( pointer: coarse ) {
	div#page #main.site-main > article[ id^="post" ] > div.entry-content > div.sba-contact-info div[ itemprop="location" ] > div { margin-bottom: 0.625rem }
}

@media ( min-width: 782px ) {
	div#page #main.site-main > article[ id^="post" ] > div.entry-content div.sba-fw-block div.sba-fw-2col { flex: 0 1 48.5% }
	div#page #main.site-main > article[ id^="post" ] > div.entry-content > div.sba-intro figure.sba-lifestyle { text-align: right }
	div#page #main.site-main > article[ id^="post" ] > div.entry-content > div.sba-callout h1.sba-callout-heading { margin: 0 0 5% calc( 47% - 18rem ) }
	div#page #main.site-main > article[ id^="post" ] > div.entry-content > div.sba-facts div.sba-fact-number { flex: 1 0 auto !important }
	div#page #main.site-main > article[ id^="post" ] > div.entry-content > div.sba-reviews > div > div[ data-columns ]:last-of-type div.sba-review {
		margin-bottom: 0;
		border-bottom: none;
	}
}
@media ( max-width: 781px ) {
	div#page #main.site-main > article[ id^="post" ] > div.entry-content > div.sba-intro figure.sba-lifestyle { text-align: center }
	div#page #main.site-main > article[ id^="post" ] > div.entry-content > div.sba-callout h1.sba-callout-heading { margin: 0 0 5% 0 }
	div#page #main.site-main > article[ id^="post" ] > div.entry-content > div.sba-facts > div.wp-block-column { margin-bottom: 0 }
	div#page #main.site-main > article[ id^="post" ] > div.entry-content > div.sba-facts div.sba-fact-number { flex: 0 1 auto !important }
	div#page #main.site-main > article[ id^="post" ] > div.entry-content > div.sba-facts > div:nth-last-of-type( n + 2 ) p:last-of-type { margin-bottom: 0 }
	div#page #main.site-main > article[ id^="post" ] > div.entry-content > div.sba-info-deck { flex-wrap: wrap-reverse !important }
	div#page #main.site-main > article[ id^="post" ] > div.entry-content > div.sba-backpacks div.sba-fw-block { flex-wrap: wrap-reverse !important }
	div#page #main.site-main > article[ id^="post" ] > div.entry-content > div.sba-backpacks div.sba-fw-block > div:first-of-type { margin-bottom: 0.67rem }
	div#page #main.site-main > article[ id^="post" ] > div.entry-content > div.about-sba > div:first-of-type { margin-bottom: 0 }
	div#page #main.site-main > article[ id^="post" ] > div.entry-content > div.sba-reviews > div:first-of-type { margin-bottom: 0 }
	div#page #main.site-main > article[ id^="post" ] > div.entry-content > div.sba-reviews > div:first-of-type > div[ data-columns ]:last-of-type { margin-bottom: 12px }
	div#page #main.site-main > article[ id^="post" ] > div.entry-content > div.sba-reviews > div:first-of-type > div[ data-columns ]:last-of-type div.sba-review { margin-bottom: 0 }
	div#page #main.site-main > article[ id^="post" ] > div.entry-content > div.sba-reviews > div:last-of-type > div[ data-columns ]:last-of-type div.sba-review {
		margin-bottom: 0;
		border-bottom: none;
	}
	div#page #main.site-main > article[ id^="post" ] > div.entry-content > .sba-video { max-width: 100vw }
}

@media ( min-width: 560px ) {
	div#page #main.site-main > article[ id^="post" ] > div.entry-content > div.sba-callout {}
	div#page #main.site-main > article[ id^="post" ] > div.entry-content > div.sba-callout::before { transform: scaleY( 0.6 ) }
	div#page #main.site-main > article[ id^="post" ] > div.entry-content > div.sba-facts {}
	div#page #main.site-main > article[ id^="post" ] > div.entry-content > div.sba ul.sba.checkbox-bullets > li { background-position: left 1px }
	div#page #main.site-main > article[ id^="post" ] > div.entry-content > div.sba-contact { padding: calc( 1.3% + 1.33rem ) 1.78rem 0 }
	div#page #main.site-main > article[ id^="post" ] > div.entry-content > div.sba-contact > div {
		gap: 1rem;
		align-self: flex-start;
	}
}
@media ( max-width: 559px ) {
	div#page #main.site-main > article[ id^="post" ] > div.entry-content div.wp-block-columns.alignfull {
		width: 100%;
		margin-right: 0;
		margin-left: 0;
	}
	div#page #main.site-main > article[ id^="post" ] > div.entry-content > div.sba-callout {
		width: 100%;
		max-width: 100%;
	}
	div#page #main.site-main > article[ id^="post" ] > div.entry-content > div.sba-callout::before { transform: scaleY( 0.8 ) }
	div#page #main.site-main > article[ id^="post" ] > div.entry-content > div.sba-callout h1.sba-callout-heading {
		float: right;
		max-width: 20.06rem;
	}
	div#page #main.site-main > article[ id^="post" ] > div.entry-content > div.sba-facts {
		width: 100%;
		max-width: 100%;
		margin-right: 0;
		margin-left: 0;
	}
	div#page #main.site-main > article[ id^="post" ] > div.entry-content > div.sba ul.sba.checkbox-bullets > li { background-position: left -1px }
	div#page #main.site-main > article[ id^="post" ] > div.entry-content > div.sba-shop {
		width: calc( 100% - 5.128% );
		max-width: 100%;
		margin: 0 auto;
	}
	div#page #main.site-main > article[ id^="post" ] > div.entry-content > div.sba-contact {
		width: 100%;
		max-width: 100%;
		padding: 0 1rem 6%;
	}
	div#page #main.site-main > article[ id^="post" ] > div.entry-content > div.sba-contact > div {
		gap: 0.75rem;
		align-self: center;
	}
}

@media ( pointer: none ) {
	div#page #main.site-main > article[ id^="post" ] > div.entry-content > div.sba-shop section#sba_shop_products > .sba-products > .sba-product > .product-title:focus {
		cursor: zoom-out;
		outline: none;
		-webkit-line-clamp: 12;
	}
}

/* -------------------------------------- */
/* ---------- FOOTER OVERRIDES ---------- */
/* -------------------------------------- */
div#page footer#colophon.site-footer {
	display: flex;
	flex-flow: column nowrap;
	justify-content: flex-start;
	align-items: center;
	width: 100%;
	max-width: 100%;
	padding: 2rem 2.564% 1rem;
	background-color: var( --sba-blue-primary );
}
div#page footer#colophon.site-footer aside.widget-area section.widget { width: 100% }
div#page footer#colophon.site-footer aside.widget-area section.widget div.textwidget { margin: 0 }
div#page footer#colophon.site-footer .sba-footer {
	display: flex;
	flex-flow: column nowrap;
	justify-content: flex-start;
	align-items: center;
	gap: 1rem;
}
div#page footer#colophon.site-footer .sba-footer > img { filter: brightness( 0.8 ) sepia( 1 ) hue-rotate( 134deg ) contrast( 0.85 ) }
div#page footer#colophon.site-footer .sba-footer .fine-print { text-align: center }
div#page footer#colophon.site-footer .sba-footer .fine-print p, 
div#page footer#colophon.site-footer .sba-footer .fine-print a {
	margin: 0 0 1rem;
	font-size: 0.72rem; /* = 13px */
	line-height: 1.3;
	font-weight: 300;
	color: var( --sba-blue-secondary );
	letter-spacing: 0.125px;
}

div#page footer#colophon.site-footer div.site-info { margin: 0 }
div#page footer#colophon.site-footer div.site-info a.site-name {
	padding: 3px 6px;
	background-color: var( --sba-blue-primary );
	border-radius: 2px;
	font-family: var( --font-base );
	font-size: 0.72rem; /* = 13px */
	line-height: 1;
	font-weight: 400;
	color: var( --sba-blue-secondary );
	letter-spacing: 0.125px;
	text-align: center;
	
	transition-property: background-color, color;
	transition-duration: var( --sba-fx-duration );
	transition-timing-function: var( --sba-fx-easing );
}
div#page footer#colophon.site-footer div.site-info a.site-name:hover, 
div#page footer#colophon.site-footer div.site-info a.site-name:active, 
div#page footer#colophon.site-footer div.site-info a.site-name:focus {
	background-color: var( --sba-blue-secondary );
	color: var( --sba-blue-primary-plus );
}