/*
Theme Name: Salient Child Theme
Description: This is a custom child theme for Salient
Theme URI:   https://themeforest.net/item/salient-responsive-multipurpose-theme/4363266
Author: ThemeNectar
Author URI:  https://themeforest.net/user/themenectar
Template: salient
Version: 1.0
*/

/*
+++++++++++++++++++++
COLORS
+++++++++++++++++++++

Hero      #26a9e0
Dark Hero #009ada
Blue      #2e5b96
Gray      #bcbec0
Dark Gray #6d6e71
*/

:root {
	--hero:   #26a9e0;
	--dkhero: #009ada;
	--blue:   #2e5b96;
	--gray:   #bcbec0;
	--dkgray: #6d6e71;
	--black:  #000002;
}


/* ══════════════════════════════════════════
   FONTS
   ══════════════════════════════════════════ */



/* ══════════════════════════════════════════
   SITEWIDE STYLES
   ══════════════════════════════════════════ */

h1, h2, h3, h4, h5, h6 {
	letter-spacing: normal !important;
}

/* Nectar Post Grid titles should never be all-caps — they inherit title case from the post title. */
.nectar-post-grid-item h3.post-heading,
.nectar-post-grid-item h3.post-heading span {
	text-transform: none !important;
}

html, body {
	--scroll-bar-w: 0px !important;

	& :is(p, ul, li, h3, h4, h5, a) {
		font-family: "Montserrat", sans-serif!important;
		font-weight: 400;
		font-style: normal;
	}

	& :is(h1, h2) {
		font-family: "Montserrat", sans-serif!important;
		font-weight: 700;
	}

	& p { font-size: 1.125rem; }

	& p { line-height: 1.5em; }

	& h2 {
		font-weight: 700;
		margin-bottom: 7px;
	}

	& h3 {
		font-weight: 600;
		margin-bottom: 7px;
		text-transform: uppercase;

		& strong { font-weight: 800; }
	}

	& :is(h4, h6) {
		font-weight: 600;
		margin-bottom: 7px;
	}

	& blockquote {
		color: #8B8787;
		font-size: 1.5rem;
	}

	& :is(h1 a, h2 a, h3 a, h4 a, h5 a, h6 a) {
		color: var(--black);
	}
}

/* ── Sitewide button style ── */
body {
	& a.button,
	input[type=submit],
	button:not(.program-tabs__btn),
	.minti_button,
	a.button.full,
	#navigation ul li.nav-button a,
	a.btn.btn-secondary,
	.sr7-btn.sr7-layer,
	a.nectar-button.large.regular.accent-color.regular-button {
		background-image: linear-gradient(45deg, var(--dkhero) 5%, var(--blue) 100%)!important;
		background-size: 200%!important;
		background-position-x: 0%!important;
		border: 1px solid #aecceb!important;
		padding: 12px 24px!important;
		font-size: 15px!important;
		font-weight: 600!important;
		color: #FFF!important;
		cursor: pointer!important;
		transition: all .3s ease-in-out!important;
		border-radius: 30px!important;
		font-family: 'Montserrat'!important;
		background-color: transparent!important;
	}

	& a.button:hover,
	input[type=submit]:hover,
	button:not(.program-tabs__btn):hover,
	.minti_button:hover,
	a.button.full:hover,
	#navigation ul li.nav-button a:hover,
	a.btn.btn-secondary:hover,
	.sr7-btn.sr7-layer:hover,
	a.nectar-button.large.regular.accent-color.regular-button:hover {
		background-image: linear-gradient(45deg, #127ec3 75%, #163660 100%)!important;
		background-position-x: -50%!important;
		background-size: 300%!important;
	}

	& .container-wrap {
		padding-bottom: 0px;
	}
}


/* ══════════════════════════════════════════
   SECTION BACKGROUND STYLES
   ══════════════════════════════════════════ */

body .snowflake-band .row-bg.using-image {
	background-size: contain;
}


/* ══════════════════════════════════════════
   HEADER STYLES
   ══════════════════════════════════════════ */

/* Snowflake watermark — all skins */
body #header-outer {
	background-image: url('/wp-content/uploads/2026/03/snowflakes_blue-new-50.svg');
	background-repeat: no-repeat;
	background-position: 30% center;
}

/* Align page sub-menu first item with the rest of the page content.
   Salient adds margin-left: 25px to the first item on left-aligned submenus,
   which causes it to indent further than the hero and body text. */
.page-submenu[data-alignment=left] .full-width-content ul li:first-child {
	margin-left: 0 !important;
}

/* Material skin fixes */
body.material {
	& #header-outer {
		transform: none !important;
		transition: background-color 0.3s ease, box-shadow 0.3s ease, opacity 0.3s ease !important;
	}

	& .wpb_content_element,
	& .wpb_row {
		margin-bottom: 0;
	}

	& #header-secondary-outer nav>ul>li>a {
		border-left: 0;
		line-height: 22px;
		font-size: 15px;
	}

	& #header-secondary-outer nav ul li:first-child a::after {
		content: "|";
		margin-left: 10px;
		color: #858585;
	}

	& #header-secondary-outer nav ul li:first-child a {
		margin-right: 0px;
	}
}

body .sf-menu>li ul {
	padding: 15px;
	width: auto;
}

body #top .sf-menu li ul li.menu-item a {
	white-space: nowrap;
}

body ul.sub-menu li {
	border-bottom: 1px solid #ffffff33;
	padding-bottom: 8px;
	margin-bottom: 8px;
}

body ul.sub-menu li:last-child {
	border-bottom: none;
	padding-bottom: 0;
	margin-bottom: 0;
}


/* ══════════════════════════════════════════
   SINGLE PROGRAM STYLES
   ══════════════════════════════════════════ */

body .program-hero__content {
	display: none;
}

body h1.program-hero__title,
body h2.program-sticky-title__text {
	text-transform: uppercase;
}

body h2.program-sticky-title__text {
	font-size: 2rem;
	color: #ffffff;
}

body .program-sticky-title {
	background-image: linear-gradient(90deg, #2e5b96, #52a5da);
}

body h2.program-overview__heading,
body h2 {
	font-family: "Montserrat", sans-serif!important;
	text-transform: uppercase;
	font-size: 30px;
	padding-bottom: 8px;
}

body h2.program-overview__heading:after,
body h2:after {
	content: '';
	height: 4px;
	width: 83px;
	display: block;
	margin-bottom: 9px;
	background-image: linear-gradient(90deg, #2e5b96, #26A9AC);
	margin-left: 0;
	margin-top: 3px;
}

body h2.sr7-layer:after { content: none; }

body button.sswsc-birthday-go {
	margin-left: 20px;
}

/*
 * Salient's skin CSS outputs:
 *   body[data-button-style=rounded] .container-wrap button[type=submit] { padding: 16px 23px !important }
 * which has specificity (0,3,2). Match it exactly so the child theme wins
 * (child theme loads after Salient, so equal-specificity !important rules here win).
 */
body[data-button-style=rounded] .container-wrap button.sswsc-finder-button,
body[data-form-submit=regular] .container-wrap button.sswsc-finder-button {
	padding: 12px 24px !important;
	border-radius: 30px !important;
	font-size: 15px !important;
}


/* ══════════════════════════════════════════
   FOOTER STYLES
   ══════════════════════════════════════════ */

body #footer-outer {

	& .footer-info p {
		text-align: center;
		font-size: .95rem;
		line-height: 1.5em;
	}

	& #footer-widgets .col ul li {
		padding: 10px 0!important;
		border: none;
		border-bottom: 1px solid #6666;
		font-size: 1rem;
	}

	& i {
		margin-right: 7px;
	}

	& #footer-widgets .col ul li:last-child {
		border-bottom: none;
	}

	& .widget h4 {
		color: #f0c040;
		font-size: 1.375em;
		font-weight: bold;
		margin-bottom: 18px;
		font-family: 'Montserrat'!important;
	}

	& #copyright p {
		font-size: .85rem;
	}
}


/* ══════════════════════════════════════════
   INTERNAL PAGE STYLES
   ══════════════════════════════════════════ */

body {
	& #page-header-bg[data-alignment-v=bottom] .span_6,
	#page-header-bg[data-parallax="1"][data-alignment-v=bottom] .span_6 {
		bottom: 18%!important;
	}

	& .page-header-overlay-color {
		position: absolute;
		height: 100%;
		width: 100%;
		margin-left: 0;
		pointer-events: none;
		background-color: transparent!important;
		background-image: linear-gradient(18deg, black 0%, transparent 60%)!important;
		z-index: 9;
	}

	& div#page-header-wrap {
		position: relative;
	}

	& div#page-header-wrap:after {
		content: '';
		background-image: linear-gradient(90deg, #2e5b96, #52a5da);
		height: 10px;
		display: block;
		width: 100%;
		position: absolute;
		bottom: 0px;
		left: 0;
		z-index: 2;
	}

	& p#breadcrumbs {
		display: none !important;
	}


	& .light .wpb_text_column a {
		opacity: 1;
		text-decoration: underline;
		font-weight: 500;
	}

	& .light .wpb_text_column a:hover {
		font-weight: 500;
	}

	/* ACCORDION STYLES */

	& .toggle>.toggle-title a {
		background: var(--hero);
		color: #fff;
		font-size: 1.05rem !important;
		font-weight: 600;
		text-transform: uppercase;
		letter-spacing: 0.02em;

		&:hover { background: var(--blue); }
	}

	& .toggle>.toggle-title a i {
		position: absolute;
		left: 13px;
		background-color: transparent;
		color: #ffffff;
		top: 30%;
		width: 18px;
		height: 18px;
		line-height: 18px;
		font-size: 21px;
		transition: all .2s linear;
		-webkit-transition: all .2s linear;
	}

	& .toggle[data-inner-wrap=true]>div .inner-toggle-wrap {
		padding: 24px!important;
	}
}


/* ══════════════════════════════════════════
   SIDEBAR STYLES
   ══════════════════════════════════════════ */

body {
	& .inner-wrap.row-bg-layer.blue-gradient-bg {
		background-image: linear-gradient(180deg, #385fa2, #3e4b69);
		padding: 40px 30px;
		position: sticky;
		top: 80px;
		color: #fff;

		&:after {
			content: none;
			z-index: 0;
		}
	}
}


/* ══════════════════════════════════════════
   EVENTS & NEWS LOOP STYLES
   ══════════════════════════════════════════ */

body #events-grid {
	/*
	 * Visual styling only — Nectar's native CSS grid handles columns
	 * and responsive breakpoints. Masonry is destroyed via scripts.js
	 * so it no longer sets inline heights that break the grid.
	 */

	& span.nectar-post-grid-item__meta-wrap span.meta-date {
		background: #000000;
		padding: 4px 10px;
		border-radius: 20px;
		font-size: 0.8rem;
		font-weight: 700;
	}

	/* event_start_date custom field — same black pill, no wrapping */
	& .nectar-post-grid-item__custom-field[data-key="event_start_date"],
	& .nectar-post-grid-item__custom-field[data-key="event_end_date"] {
		background: #000000;
		padding: 0 10px;
		border-radius: 20px;
		font-size: 0.8rem;
		font-weight: 700;
		color: #ffffff;
		white-space: nowrap;
	}


	& h3.post-heading.nectar-inherit-h3 {
		font-weight: 600!important;
		background: #52a5da;
		display: block;
		width: fit-content;
		padding: 5px 10px;
		border-radius: 8px;
		font-size: clamp(0.8rem, 1.8vw, 1.275rem) !important;
		border: 1px solid #fff;
		background-image: linear-gradient(90deg, #2e5b96, #52a5da);
		margin: 0;
	}

	& .nectar-post-grid[data-text-layout=all_bottom_left_shadow] .nectar-post-grid-item div.inner:before {
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
		height: 65%;
		display: block;
		z-index: 10;
		content: '';
		opacity: 1;
		background: linear-gradient(to bottom, rgba(15,15,15,0), rgba(15,15,15,.95) 100%);
		transition: opacity .65s cubic-bezier(.05,.2,.1,1);
	}
}

/* ── Events grid: responsive column overrides ── */

/* Let event titles wrap fully — no clamping. */
body #events-grid .nectar-post-grid-item h3.post-heading {
	display: block !important;
	overflow: visible !important;
	white-space: normal !important;
	-webkit-line-clamp: unset !important;
}

@media (max-width: 1024px) and (min-width: 769px) {
	/* Force 2 columns on tablets — wider cards = taller cards via aspect ratio = more room for titles */
	body #events-grid .nectar-post-grid {
		grid-template-columns: repeat(2, 1fr) !important;
	}

	body #events-grid h3.post-heading.nectar-inherit-h3 {
		font-size: 0.9rem !important;
		line-height: 1.25 !important;
	}
}

@media (max-width: 768px) {
	/* Single column on all phones */
	body #events-grid .nectar-post-grid {
		grid-template-columns: 1fr !important;
	}

	body #events-grid h3.post-heading.nectar-inherit-h3 {
		font-size: 1rem !important;
		line-height: 1.3 !important;
	}
}


/* ══════════════════════════════════════════
   ATHLETES GRID STYLES
   ══════════════════════════════════════════ */

body #athletes-grid {
	& h3.post-heading.nectar-inherit-h3 span {
		color: #2e5b96!important;
		font-size: 1.125rem;
		font-weight: 600;
		line-height: 1.2em;
		margin-bottom: 13px;
		display: block;
	}

	& span.nectar-post-grid-item__meta-wrap span.meta-date {
		background: #000000;
		padding: 4px 10px;
		border-radius: 20px;
		font-size: 0.8rem;
		font-weight: 700;
		color: #ffffff;
	}

	& .nectar-post-grid[data-text-color=dark] .nectar-post-grid-item .content .nectar-post-grid-item__read-more * {
		color: var(--dkhero);
	}
}


/* ══════════════════════════════════════════
   SPONSORS STYLES
   ══════════════════════════════════════════ */

body {
	& .nectar-flickity[data-control-style=material_pagination] .flickity-page-dots,
	& .nectar-flickity[data-controls=material_pagination] .flickity-page-dots {
		bottom: -20px;
		margin: 0;
	}

	& .nectar-flickity.nectar-carousel.nectar-carousel:not(.masonry) .flickity-viewport {
		margin: 90px 0 40px 0;
	}

	& .sponsor-level h3:before,
	& .sponsor-level.silver h3:before,
	& .sponsor-level.bronze h3:before {
		content: none;
	}

	/* Tighten sponsor carousels — reduce the excess vertical spacing
	   and cap logo height so each tier column feels compact.
	   Note: .sponsor-level is a sibling of .nectar-carousel, not a parent,
	   so we scope to the #sponsor-carousel row ID instead.
	   data-column-padding="40px" makes Salient set padding:40px on .inner-wrap. */
	& #sponsor-carousel .nectar-carousel .flickity-viewport {
		margin-top: 16px !important;
		margin-bottom: 16px !important;
	}

	& #sponsor-carousel .nectar-carousel .inner-wrap {
		padding: 12px 20px !important;
	}

	& #sponsor-carousel .nectar-carousel .flickity-slider .cell img {
		width: auto !important;
		max-width: 100%;
		max-height: 80px;
		object-fit: contain;
	}

	& .nectar-flickity[data-control-style=material_pagination] .flickity-page-dots .dot {
		width: 20px;
	}
}


/* ══════════════════════════════════════════
   ABOUT SECTION SUB-NAVIGATION
   ══════════════════════════════════════════ */

/*
 * On About section pages, remove the breadcrumbs bottom border and margin so
 * the subnav sits flush against them with no line or gap.
 */
.sswsc-about-subnav {
	background: #0f3660;
	margin-bottom: 0;
	border-top: 1px solid rgba(255, 255, 255, 0.15);
	border-bottom: 1px solid rgba(255, 255, 255, 0.15);
	/* Escape the WPBakery/Salient container to span full viewport width */
	position: relative;
	left: 50%;
	width: 100vw;
	transform: translateX(-50%);
}

.sswsc-about-subnav__inner {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
	/* align nav items with the page content columns */
	max-width: var(--container-width, 1280px);
	margin-left: auto;
	margin-right: auto;
	padding-left: var(--container-padding, 30px);
	padding-right: var(--container-padding, 30px);
}

.sswsc-about-subnav__inner::-webkit-scrollbar {
	display: none;
}

.sswsc-about-subnav__list {
	display: flex;
	list-style: none !important;
	margin: 0;
	padding: 0;
	gap: 0;
	white-space: nowrap;
}

.sswsc-about-subnav__item {
	list-style: none !important;
	flex-shrink: 0;
}

.sswsc-about-subnav__link {
	display: block;
	padding: 13px 18px;
	font-size: 0.8rem;
	font-weight: 600;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.65) !important;
	text-decoration: none !important;
	border-bottom: 3px solid transparent;
	transition: color 0.2s, border-color 0.2s;
}

.sswsc-about-subnav__link:hover {
	color: #ffffff !important;
	border-bottom-color: #26a9e0;
}

.sswsc-about-subnav__item.is-current .sswsc-about-subnav__link {
	color: #ffffff !important;
	border-bottom-color: #26a9e0;
	font-weight: 700;
}

@media (max-width: 767px) {
	.sswsc-about-subnav__link {
		padding: 11px 12px;
		font-size: 0.75rem;
	}
}

/* ══════════════════════════════════════════
   SHARED HERO COMPONENT
   Used by page-hero.php (Hero Page template).
   Two variants: --gradient (blue fade) and --image (photo with overlay).
   ══════════════════════════════════════════ */

/* ── Base ── */
.sswsc-hero {
	position: relative;
	overflow: hidden;
}

.sswsc-hero__inner {
	max-width: var(--container-width, 1400px);
	margin: 0 auto;
	padding: 0 var(--container-padding, 60px);
}

/* ── Gradient variant ── */
.sswsc-hero--gradient {
	background-color: #0d2f4d;
	background-image: linear-gradient(120deg, #0d2f4d 0%, #1a4a7a 50%, #2e5b96 100%);
	padding: 64px 0 60px;
}

.sswsc-hero--gradient .sswsc-hero__eyebrow {
	font-size: 0.8rem;
	font-weight: 700;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.55);
	margin: 0 0 14px;
}

.sswsc-hero--gradient .sswsc-hero__title {
	font-size: clamp(2.2rem, 4.5vw, 3.4rem);
	font-weight: 900;
	color: #fff;
	margin: 0 0 0.75rem -3.2px;
	padding-left: 0;
	text-transform: uppercase;
	text-shadow: 0 2px 16px rgba(0, 0, 0, 0.25);
}

.sswsc-hero--gradient .sswsc-hero__sub {
	font-size: 1.0625rem;
	font-weight: 500;
	color: rgba(255, 255, 255, 0.82);
	line-height: 1.65;
	margin: 0;
	max-width: 480px;
}

/* ── Image variant ── */
.sswsc-hero--image {
	min-height: 380px;
	display: flex;
	align-items: flex-end;
	background-size: cover;
	background-position: center;
}

.sswsc-hero--image::before {
	content: '';
	background-image: linear-gradient(90deg, #2e5b96, #52a5da);
	height: 10px;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	z-index: 2;
}

.sswsc-hero--image::after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(0, 0, 0, 0.72) 0%, rgba(0, 0, 0, 0.15) 55%, transparent 100%);
	pointer-events: none;
}

.sswsc-hero--image .sswsc-hero__inner {
	position: relative;
	z-index: 1;
	padding-bottom: 36px;
	width: 100%;
}

.sswsc-hero--image .sswsc-hero__title {
	font-size: clamp(1.3rem, 2.2vw, 2rem);
	font-weight: 900;
	color: #fff;
	text-transform: uppercase;
	margin: 0;
	text-shadow: 0 2px 10px rgba(0, 0, 0, 0.5);
}

/* ── Remove Salient default top padding when a hero sits above container-wrap.
   Uses adjacent sibling selector so it works regardless of template/body class. ── */
.sswsc-hero + .container-wrap,
.sswsc-donate__hero + .container-wrap {
	padding-top: 0 !important;
	margin-top: 0 !important;
}

/* ── Remove Salient default bottom padding for Hero Page template ── */
body.page-template-page-templates-page-hero .container-wrap,
body.page-template-page-templates-page-hero .main-content,
body.page-template-page-templates-page-hero #main-content,
body.page-template-page-templates-page-hero[data-bg-header=true] .container-wrap {
	padding-bottom: 0 !important;
	margin-bottom: 0 !important;
}


/* ══════════════════════════════════════════
   DONATE NOW PAGE
   ══════════════════════════════════════════ */

/* Donate hero reuses the shared gradient hero styles via page-donate.php aliases */
.sswsc-donate__hero {
	background-color: #0d2f4d;
	background-image: linear-gradient(120deg, #0d2f4d 0%, #1a4a7a 50%, #2e5b96 100%);
	padding: 64px 0 60px;
}

.sswsc-donate__hero-inner {
	max-width: var(--container-width, 1400px);
	margin: 0 auto;
	padding: 0 var(--container-padding, 60px);
}

.sswsc-donate__hero-title {
	font-size: clamp(2.2rem, 4.5vw, 3.4rem);
	font-weight: 900;
	color: #fff;
	margin: 0 0 0.75rem -3.2px;
	padding-left: 0;
	text-transform: uppercase;
	text-shadow: 0 2px 16px rgba(0, 0, 0, 0.25);
}

.sswsc-donate__hero-sub {
	font-size: 1.0625rem;
	font-weight: 500;
	color: rgba(255, 255, 255, 0.82);
	line-height: 1.65;
	margin: 0;
	max-width: 480px;
}

.sswsc-donate__content {
	padding: 0;
}

/* Remove Salient's default bottom padding from the page wrapper on the donate page */
body.page-template-page-templates-page-donate .container-wrap,
body.page-template-page-templates-page-donate .main-content,
body.page-template-page-templates-page-donate #main-content,
body.page-template-page-templates-page-donate[data-bg-header=true] .container-wrap {
	padding-bottom: 0 !important;
	margin-bottom: 0 !important;
}

/* Program Rally links list */
.sswsc-donate__content .program-rallies a {
	display: block;
	padding: 6px 0;
	color: var(--blue);
	font-weight: 400;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.sswsc-donate__content .program-rallies a:hover {
	color: var(--dkhero);
}

/* Flipsnack / Annual Report iframes */
.sswsc-donate__content iframe {
	display: block;
	width: 100%;
	margin: 1.5rem 0;
	border: none;
	border-radius: 8px;
}

/* ══════════════════════════════════════════
   CAMPMINDER / MY SSWSC LOGIN PAGE
   ══════════════════════════════════════════ */

.sswsc-cm-login {
	--cm-blue:   #174a79;
	--cm-mid:    #2e5b96;
	--cm-sky:    #26a9e0;
	--cm-dark:   #0d2f4d;
	--cm-muted:  #4e6070;
	--cm-border: #dce8f1;
	--cm-radius: 12px;
}

/* Pin container width for consistent rendering across environments */
body.page-template-page-templates-page-campminder-login {
	--cm-blue:   #174a79;
	--cm-mid:    #2e5b96;
	--cm-sky:    #26a9e0;
	--cm-dark:   #0d2f4d;
	--cm-muted:  #4e6070;
	--cm-border: #dce8f1;
	--cm-radius: 12px;
	--container-width: 1400px;
	--container-padding: 60px;
}

/* ── Hero banner ── */
.sswsc-cm-login__hero {
	--cm-blue:   #174a79;
	--cm-mid:    #2e5b96;
	--cm-sky:    #26a9e0;
	--cm-dark:   #0d2f4d;
	--cm-muted:  #4e6070;
	--cm-border: #dce8f1;
	background-color: var(--cm-dark);
	background-image: linear-gradient(120deg, var(--cm-dark) 0%, #1a4a7a 50%, var(--cm-mid) 100%);
	padding: 64px 0 60px;
}

.sswsc-cm-login__hero-inner {
	max-width: var(--container-width, 1400px);
	margin: 0 auto;
	padding: 0 var(--container-padding, 60px);
}

.sswsc-cm-login__hero-title {
	font-size: clamp(2.2rem, 4.5vw, 3.4rem);
	font-weight: 900;
	color: #fff;
	margin: 0 0 0.75rem;
	text-transform: uppercase;
	text-shadow: 0 2px 16px rgba(0, 0, 0, 0.25);
}

.sswsc-cm-login__hero-sub {
	font-size: 1.0625rem;
	font-weight: 500;
	color: rgba(255, 255, 255, 0.82);
	line-height: 1.65;
	margin: 0;
	max-width: 480px;
}

/* ── Article (below hero) — inside .container, no extra max-width needed ── */
.sswsc-cm-login__article {
	padding: 2.5rem 0 4rem;
}

/* ── Two-card grid ── */
.sswsc-cm-login__paths {
	display: grid;
	gap: 2rem;
	margin-top: 2.5rem;
	padding-top: 2.5rem;
	border-top: 2px solid var(--cm-border);
}

@media (min-width: 768px) {
	.sswsc-cm-login__paths {
		grid-template-columns: 1fr 1fr;
		align-items: start;
	}
}

/* ── Cards ── */
.sswsc-cm-login__card {
	background: #fff;
	border: 1.5px solid var(--cm-border);
	border-radius: var(--cm-radius);
	padding: 2rem;
	box-shadow: 0 4px 32px rgba(23, 74, 121, 0.08);
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
}

.sswsc-cm-login__card--new {
	background: linear-gradient(160deg, #f0f6fc 0%, #e8f4fb 100%);
}

/* ── Card tag ── */
.sswsc-cm-login__card-tag {
	font-size: 0.68rem;
	font-weight: 800;
	text-transform: uppercase;
	color: var(--cm-mid);
}

.sswsc-cm-login__card-tag--new {
	color: var(--cm-sky);
}

/* ── Card title ── */
.sswsc-cm-login__card-title {
	font-size: 1.5rem!important;
	font-weight: 800!important;
	color: var(--cm-dark)!important;
	margin: 0!important;
	padding: 0!important;
	border: none!important;
	border-bottom: none!important;
	text-decoration: none!important;
}

.sswsc-cm-login__card-title::after,
.sswsc-cm-login__card-title::before {
	display: none!important;
}

/* ── Fields ── */
.sswsc-cm-login__field {
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
	padding-bottom: 20px;
}

.sswsc-cm-login__field label {
	font-size: 0.75rem;
	font-weight: 700;
	text-transform: uppercase;
	color: var(--cm-blue);
}

.sswsc-cm-login__field input[type="email"],
.sswsc-cm-login__field input[type="password"] {
	width: 100%;
	box-sizing: border-box;
	padding: 0.7rem 0.875rem;
	border: 1.5px solid var(--cm-border);
	border-radius: 8px;
	font-size: 0.9375rem;
	color: var(--cm-dark);
	background: #f7fafd;
	outline: none;
	transition: border-color 0.15s, box-shadow 0.15s;
}

.sswsc-cm-login__field input:focus {
	border-color: var(--cm-sky);
	box-shadow: 0 0 0 3px rgba(38, 169, 224, 0.15);
	background: #fff;
}

/* ── Actions row ── */
.sswsc-cm-login__actions {
	display: flex;
	align-items: center;
	gap: 1rem;
	flex-wrap: wrap;
	padding-top: 20px;
}

/* ── Divider between login and reset ── */
.sswsc-cm-login__divider {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	margin: 0.25rem 0;
}

.sswsc-cm-login__divider::before,
.sswsc-cm-login__divider::after {
	content: '';
	flex: 1;
	height: 1px;
	background: var(--cm-border);
}

.sswsc-cm-login__divider span {
	font-size: 0.78rem;
	color: var(--cm-muted);
	white-space: nowrap;
}

/* Sitewide pill shape doesn't always win on <button> — enforce it here */
.sswsc-cm-login__card button[type="submit"] {
	border-radius: 30px!important;
}

/* Enroll Now link: full width within its card */
.sswsc-cm-login__card--new a.button {
	display: block;
	text-align: center;
}

/* ── Forgot password link ── */
.sswsc-cm-login__forgot {
	font-size: 0.83rem;
	color: var(--cm-muted);
	text-decoration: underline;
	text-underline-offset: 2px;
}

.sswsc-cm-login__forgot:hover { color: var(--cm-blue); }

/* ── New card copy ── */
.sswsc-cm-login__card-desc {
	color: var(--cm-muted);
	font-size: 0.9375rem;
	line-height: 1.65;
	margin: 0;
}

.sswsc-cm-login__card-list {
	margin: 0;
	padding-left: 1.1rem;
	color: var(--cm-muted);
	font-size: 0.9rem;
	line-height: 1.9;
}

.sswsc-cm-login__new-link {
	font-size: 0.875rem;
	color: var(--cm-mid);
	text-decoration: underline;
	text-underline-offset: 2px;
	text-align: center;
}

.sswsc-cm-login__new-link:hover { color: var(--cm-blue); }

/* ── Program tabs: suppress wpautop <br> tags and excess paragraph spacing ── */
/* <br> injected inside lists (between <li> items) */
.program-tabs__field ul > br,
.program-tabs__field ol > br {
	display: none;
}
/* <br> injected between a <p> and a <ul>/<ol> sibling */
.program-tabs__field > br {
	display: none;
}
/* Override Salient skin's 1.5em padding-bottom on <p> */
.program-tabs__field p {
	padding-bottom: 0 !important;
	margin-bottom: 0.4em;
}


/* ══════════════════════════════════════════
   NEWS / SINGLE POST — IMAGE SIZING
   ══════════════════════════════════════════ */

/* News detail: title case, not all-caps */
body.single-sswsc_news .heading-title .entry-title {
	text-transform: none !important;
	letter-spacing: normal !important;
}

/* News articles were authored for a narrow sidebar layout; constrain the
   content body so floated images and short results lists stay proportional */
body.single-sswsc_news .post-area .content-inner {
	max-width: 780px;
	margin-left: auto;
	margin-right: auto;
}

/* Featured image: full-width centered block */
.post-area .post-featured-img {
	display: block;
	text-align: center;
	margin-bottom: 1.5em;
}

.post-area .post-featured-img img {
	max-width: 100%;
	height: auto;
	display: block;
	margin: 0 auto;
}

/* All other images in post body are responsive */
.post-area img {
	max-width: 100%;
	height: auto;
}

/* Modern WP alignright/alignleft — cap at 40% so text has room */
.post-area .alignright {
	float: right;
	max-width: 40%;
	height: auto;
	margin: 4px 0 16px 20px;
}

.post-area .alignleft {
	float: left;
	max-width: 40%;
	height: auto;
	margin: 4px 20px 16px 0;
}

/* Legacy align="right/left" attribute — keep the float, cap at ~200px.
   Salient's width:auto ignores the HTML width attribute and renders images
   at full file size; max-width clamps them back to a small sidebar size
   so text flows cleanly beside them. */
.post-area img[align="right"] {
	float: right !important;
	display: block !important;
	max-width: min(280px, 36%) !important;
	width: auto !important;
	height: auto !important;
	margin: 4px 0 12px 20px !important;
}

.post-area img[align="left"] {
	float: left !important;
	display: block !important;
	max-width: min(280px, 36%) !important;
	width: auto !important;
	height: auto !important;
	margin: 4px 20px 12px 0 !important;
}

@media (max-width: 690px) {
	.post-area .alignright,
	.post-area .alignleft,
	.post-area img[align="right"],
	.post-area img[align="left"] {
		float: none !important;
		max-width: 100% !important;
		margin: 0 0 1.2em 0 !important;
	}
}

/* ── Child page card grid ────────────────────────────────────────────────── */

.sswsc-child-pages {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: 28px;
	margin: 20px 0 40px;
}

.sswsc-child-page-card {
	display: flex;
	flex-direction: column;
	border-radius: 8px;
	overflow: hidden;
	text-decoration: none !important;
	color: inherit !important;
	background: #fff;
	box-shadow: 0 2px 12px rgba(0,0,0,0.10);
	transition: box-shadow 0.2s, transform 0.2s;
}

.sswsc-child-page-card:hover {
	box-shadow: 0 6px 24px rgba(0,0,0,0.16);
	transform: translateY(-3px);
}

.sswsc-child-page-card__image {
	width: 100%;
	padding-bottom: 52%;
	background-size: cover;
	background-position: center;
	flex-shrink: 0;
}

.sswsc-child-page-card__body {
	display: flex;
	flex-direction: column;
	flex: 1;
	padding: 22px 22px 20px;
}

.sswsc-child-page-card__title {
	font-size: 1.15rem !important;
	margin: 0 0 10px !important;
	line-height: 1.3;
}

.sswsc-child-page-card__excerpt {
	font-size: 0.9rem;
	color: #555;
	flex: 1;
	margin: 0 0 18px;
	line-height: 1.55;
}

.sswsc-child-page-card__btn {
	display: inline-block;
	align-self: flex-start;
	padding: 8px 20px;
	border-radius: 30px;
	background: var(--color-primary, #1a4b8c);
	color: #fff !important;
	font-size: 0.85rem;
	font-weight: 600;
	letter-spacing: 0.03em;
	transition: background 0.2s;
}

.sswsc-child-page-card:hover .sswsc-child-page-card__btn {
	background: var(--color-primary-dark, #0f3566);
}

@media (max-width: 600px) {
	.sswsc-child-pages {
		grid-template-columns: 1fr;
	}
}

/* ── Subnav prev/next pager ── */
.sswsc-subnav-pager {
	display: flex;
	justify-content: space-between;
	align-items: stretch;
	gap: 12px;
	margin-top: 60px;
	padding-top: 0;
	padding-bottom: 60px;
	border-top: none;
}

.sswsc-subnav-pager a {
	display: flex;
	align-items: center;
	gap: 12px;
	flex: 1;
	padding: 16px 20px;
	background: #f0f5fb;
	border: 1px solid #d0dff0;
	border-radius: 10px;
	color: #0f3660;
	font-weight: 600;
	font-size: 0.9em;
	text-decoration: none;
	transition: background 0.2s, border-color 0.2s, color 0.2s;
}

.sswsc-subnav-pager a:hover {
	background: #2e5b96;
	border-color: #2e5b96;
	color: #fff;
	text-decoration: none;
	opacity: 1;
}

.sswsc-subnav-pager__prev {
	justify-content: flex-start;
}

.sswsc-subnav-pager__next {
	justify-content: flex-end;
	text-align: right;
}

.sswsc-subnav-pager__label {
	flex: 1;
}


.sswsc-subnav-pager__parent {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	padding: 16px 20px;
	background: transparent;
	border: 1px solid #d0dff0;
	border-radius: 10px;
	font-size: 0.82em;
	font-weight: 600;
	color: #2e5b96;
	white-space: nowrap;
	text-decoration: none;
	transition: background 0.2s, color 0.2s;
}

.sswsc-subnav-pager__parent:hover {
	background: #f0f5fb;
	border-color: #2e5b96;
	color: #0f3660;
	text-decoration: none;
	opacity: 1;
}

.sswsc-subnav-pager__arrow {
	font-size: 1.1em;
	flex-shrink: 0;
}

.sswsc-subnav-pager__placeholder {
	flex: 1;
	max-width: 50%;
}

@media (max-width: 600px) {
	.sswsc-subnav-pager {
		flex-wrap: wrap;
		gap: 12px;
	}
	.sswsc-subnav-pager__parent {
		order: -1;
		width: 100%;
		text-align: center;
		justify-content: center;
	}
	.sswsc-subnav-pager__placeholder {
		display: none;
	}
}

/* ── Footer legal links ── */
#footer-outer #copyright a {
	opacity: 0.75;
	text-decoration: none;
	transition: opacity 0.2s;
}

#footer-outer #copyright a:hover {
	opacity: 1;
	text-decoration: underline;
}

/* ── Slider Revolution 7: lift nav bullets above slide buttons on mobile ── */
@media (max-width: 767px) {
	sr7-bullets {
		inset: auto auto 28px 50% !important;
	}
}
