/*
 * Chumphaesuksa School home page — premium institutional design.
 *
 * Everything is scoped to page ID 27 so the rest of the WordPress site keeps
 * its existing appearance. This file intentionally loads after SiteOrigin's
 * generated styles and responsive-fixes.css.
 */

body.page-id-27 {
	--cpss-forest-950: #102e25;
	--cpss-forest-900: #163b30;
	--cpss-forest-800: #1f4d3c;
	--cpss-forest-700: #2d624f;
	--cpss-gold: #b99752;
	--cpss-gold-soft: #d9c48f;
	--cpss-ivory: #f7f4ec;
	--cpss-paper: #fffef9;
	--cpss-ink: #19231f;
	--cpss-muted: #68736c;
	--cpss-line: #dedfd7;
	--cpss-shadow: 0 18px 44px rgba(16, 46, 37, 0.09);
	background:
		radial-gradient(circle at 7% 4%, rgba(185, 151, 82, 0.1), transparent 26rem),
		linear-gradient(180deg, #f1eee5 0, var(--cpss-ivory) 34rem);
	color: var(--cpss-ink);
	font-family: "Line", "Leelawadee UI", Tahoma, sans-serif !important;
	overflow-x: hidden;
}

body.page-id-27 *,
body.page-id-27 *::before,
body.page-id-27 *::after {
	box-sizing: border-box;
}

body.page-id-27 a {
	color: var(--cpss-forest-800);
	transition:
		color 180ms ease,
		background-color 180ms ease,
		border-color 180ms ease,
		box-shadow 180ms ease,
		transform 180ms ease;
}

body.page-id-27 a:hover {
	color: var(--cpss-gold);
}

body.page-id-27 a:focus-visible,
body.page-id-27 [role="button"]:focus-visible {
	outline: 3px solid rgba(185, 151, 82, 0.65);
	outline-offset: 3px;
}

body.page-id-27 #page.site.-layout-boxed {
	max-width: 1480px;
	background: var(--cpss-paper);
	border-right: 1px solid rgba(185, 151, 82, 0.22);
	border-left: 1px solid rgba(185, 151, 82, 0.22);
	border-radius: 0;
	box-shadow: 0 28px 90px rgba(16, 46, 37, 0.14);
	overflow: visible;
}

body.page-id-27 .site-canvas {
	background:
		linear-gradient(180deg, rgba(255, 254, 249, 0.98), rgba(247, 244, 236, 0.98)),
		var(--cpss-ivory);
}

body.page-id-27 .site-header > .container,
body.page-id-27 .site-content > .container,
body.page-id-27 #footbar > .container {
	width: calc(100% - 64px) !important;
	max-width: 1400px !important;
	margin-right: auto;
	margin-left: auto;
	padding-right: 0;
	padding-left: 0;
}

/* Header and primary navigation */

body.page-id-27 #masthead {
	background: rgba(255, 254, 249, 0.97);
	border-top: 5px solid var(--cpss-forest-950);
	border-bottom: 1px solid var(--cpss-line);
	box-shadow: 0 12px 30px rgba(16, 46, 37, 0.08);
	backdrop-filter: blur(14px);
}

body.page-id-27 #masthead::after {
	position: absolute;
	right: 0;
	bottom: -1px;
	left: 0;
	width: 150px;
	height: 2px;
	margin: auto;
	background: var(--cpss-gold);
	content: "";
}

body.page-id-27 #headbar,
body.page-id-27 #headbar > .head-widget,
body.page-id-27 #headbar .panel-layout,
body.page-id-27 #headbar .panel-grid {
	width: 100%;
}

body.page-id-27 #headbar .panel-row-style {
	display: grid !important;
	grid-template-columns: minmax(240px, 300px) minmax(0, 1fr) minmax(180px, 210px);
	gap: 24px;
	align-items: center !important;
	padding: 18px 0 !important;
}

body.page-id-27 #headbar #pgc-w667947e202145-0-0,
body.page-id-27 #headbar #pgc-w667947e202145-0-1,
body.page-id-27 #headbar #pgc-w667947e202145-0-2 {
	width: auto !important;
	margin: 0 !important;
}

body.page-id-27 #headbar .custom-logo-link,
body.page-id-27 #headbar .custom-logo {
	display: block;
}

body.page-id-27 #headbar .custom-logo {
	width: 100%;
	max-width: 282px;
	height: auto;
}

body.page-id-27 #headbar .themecolor {
	background: transparent !important;
}

body.page-id-27 #headbar #panel-w667947e202145-0-1-0 > .panel-widget-style {
	padding: 5px 9px !important;
	background: var(--cpss-forest-900) !important;
	border: 1px solid rgba(217, 196, 143, 0.62);
	border-radius: 3px;
	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, 0.08),
		0 10px 24px rgba(16, 46, 37, 0.16);
}

body.page-id-27 #headbar .menu-main-menu-container {
	overflow: visible;
}

body.page-id-27 #headbar .menu {
	display: flex;
	flex-wrap: wrap;
	gap: 0 2px;
	align-items: center;
	justify-content: center;
	margin: 0;
	padding: 0;
	background: transparent;
}

body.page-id-27 #headbar .menu > li {
	position: relative;
	float: none;
	height: auto;
	margin: 0;
	padding: 0;
	list-style: none;
}

body.page-id-27 #headbar .menu > li > a {
	position: relative;
	display: block;
	padding: 11px 10px 10px;
	border-radius: 2px;
	color: var(--cpss-paper) !important;
	font-size: 16px;
	font-weight: 600;
	letter-spacing: 0.01em;
	line-height: 1.3;
	text-shadow: 0 1px 1px rgba(0, 0, 0, 0.2);
	white-space: nowrap;
}

body.page-id-27 #headbar .menu > li > a::after {
	position: absolute;
	right: 9px;
	bottom: 2px;
	left: 9px;
	height: 2px;
	background: var(--cpss-gold);
	content: "";
	transform: scaleX(0);
	transform-origin: center;
	transition: transform 180ms ease;
}

body.page-id-27 #headbar .menu > li:hover > a::after,
body.page-id-27 #headbar .menu > li:focus-within > a::after,
body.page-id-27 #headbar .menu > .current-menu-item > a::after {
	transform: scaleX(1);
}

body.page-id-27 #headbar .menu > li:hover > a,
body.page-id-27 #headbar .menu > li:focus-within > a {
	background: rgba(255, 255, 255, 0.1);
	color: #fff !important;
}

body.page-id-27 #headbar .menu > .current-menu-item > a {
	background: var(--cpss-gold-soft);
	color: var(--cpss-forest-950) !important;
	text-shadow: none;
}

body.page-id-27 #headbar .menu > li > .sub-menu {
	position: absolute;
	top: 100%;
	left: 50%;
	z-index: 1005;
	display: grid;
	grid-template-columns: repeat(2, minmax(220px, 1fr));
	width: min(620px, calc(100vw - 64px));
	max-height: min(68vh, 620px);
	margin: 0;
	padding: 10px;
	overflow-x: hidden;
	overflow-y: auto;
	background: rgba(255, 254, 249, 0.99);
	border: 1px solid rgba(185, 151, 82, 0.38);
	border-top: 3px solid var(--cpss-gold);
	border-radius: 2px;
	box-shadow: 0 24px 60px rgba(16, 46, 37, 0.2);
	opacity: 0;
	pointer-events: none;
	transform: translate(-50%, 8px);
	visibility: hidden;
	transition:
		opacity 180ms ease,
		transform 180ms ease,
		visibility 180ms ease;
}

body.page-id-27 #headbar .menu > li:hover > .sub-menu,
body.page-id-27 #headbar .menu > li:focus-within > .sub-menu {
	height: auto;
	opacity: 1;
	pointer-events: auto;
	transform: translate(-50%, 0);
	visibility: visible;
}

body.page-id-27 #headbar .menu > li > .sub-menu > li {
	width: auto;
	height: auto !important;
	margin: 0;
	padding: 0;
	overflow: visible !important;
	border-bottom: 1px solid rgba(222, 223, 215, 0.75);
}

body.page-id-27 #headbar .menu > li > .sub-menu > li > a {
	display: block;
	padding: 10px 12px;
	color: var(--cpss-ink) !important;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.45;
	white-space: normal;
}

body.page-id-27 #headbar .menu > li > .sub-menu > li > a:hover,
body.page-id-27 #headbar .menu > li > .sub-menu > li > a:focus {
	background: rgba(185, 151, 82, 0.1);
	color: var(--cpss-forest-950) !important;
}

body.page-id-27 #headbar .social-media-button-container {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
	align-items: center;
	justify-content: flex-end;
}

body.page-id-27 #headbar .sow-social-media-button {
	display: inline-flex !important;
	width: 34px !important;
	height: 34px !important;
	margin: 0 !important;
	padding: 0 !important;
	align-items: center;
	justify-content: center;
	background: var(--cpss-forest-900) !important;
	border: 1px solid var(--cpss-forest-900) !important;
	border-radius: 50% !important;
	box-shadow: none !important;
	color: var(--cpss-paper) !important;
}

body.page-id-27 #headbar .sow-social-media-button:hover,
body.page-id-27 #headbar .sow-social-media-button:focus {
	background: var(--cpss-gold) !important;
	border-color: var(--cpss-gold) !important;
	transform: translateY(-2px);
}

/* Main home page layout */

body.page-id-27 .site-content {
	padding: 0 0 48px;
}

body.page-id-27 #primary,
body.page-id-27 #main,
body.page-id-27 .entry-content,
body.page-id-27 #pl-27 {
	width: 100%;
	max-width: none;
	margin: 0;
}

body.page-id-27 #pl-27 {
	padding: 0;
}

body.page-id-27 #pg-27-0 > .panel-row-style {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) 340px;
	gap: 24px;
	align-items: start !important;
	padding: 32px 0 28px !important;
}

body.page-id-27 #pg-27-0 > .panel-row-style > .panel-grid-cell,
body.page-id-27 #pg-27-1 > .panel-grid-cell,
body.page-id-27 #pg-27-2 > .panel-grid-cell,
body.page-id-27 #pg-27-3 > .panel-grid-cell {
	width: auto !important;
	min-width: 0;
	margin: 0 !important;
}

body.page-id-27 #panel-27-0-0-0 {
	overflow: hidden;
	background: var(--cpss-forest-950);
	border: 1px solid rgba(185, 151, 82, 0.45);
	border-radius: 3px;
	box-shadow: var(--cpss-shadow);
}

body.page-id-27 #panel-27-0-0-0 .n2-section-smartslider,
body.page-id-27 #panel-27-0-0-0 .n2-ss-align,
body.page-id-27 #panel-27-0-0-0 .n2-ss-slider {
	max-width: 100% !important;
}

body.page-id-27 #panel-27-0-0-0 .n2-ss-slider {
	overflow: hidden;
}

/* Director and service accordions */

body.page-id-27 #pgc-27-0-1 {
	overflow: hidden;
	background: var(--cpss-paper);
	border: 1px solid var(--cpss-line);
	border-radius: 3px;
	box-shadow: var(--cpss-shadow);
}

body.page-id-27 #panel-27-0-1-0 > .panel-widget-style {
	padding: 0 !important;
	background: transparent !important;
}

body.page-id-27 #pgc-27-0-1 .sow-accordion-panel {
	margin: 0;
	background: var(--cpss-paper);
	border: 0;
	border-bottom: 1px solid var(--cpss-line);
}

body.page-id-27 #pgc-27-0-1 .sow-accordion-panel:last-child {
	border-bottom: 0;
}

body.page-id-27 #pgc-27-0-1 .sow-accordion-panel-header {
	display: flex;
	min-height: 48px;
	padding: 12px 15px !important;
	align-items: center;
	background: #f3f0e7 !important;
	border: 0 !important;
	color: var(--cpss-forest-950) !important;
	font-size: 15px;
	line-height: 1.4;
}

body.page-id-27 #pgc-27-0-1 .sow-accordion-panel:first-child .sow-accordion-panel-header {
	background: var(--cpss-forest-900) !important;
	color: var(--cpss-paper) !important;
}

body.page-id-27 #pgc-27-0-1 .sow-accordion-panel:first-child .sow-accordion-title::after {
	float: right;
	margin-left: 10px;
	color: var(--cpss-gold-soft);
	content: "DIRECTOR";
	font-family: Georgia, "Times New Roman", serif;
	font-size: 11px;
	letter-spacing: 0.08em;
}

body.page-id-27 #pgc-27-0-1 .sow-accordion-open-close-button {
	margin-left: auto;
	color: currentColor;
	opacity: 0.75;
}

body.page-id-27 #pgc-27-0-1 .sow-accordion-panel-content {
	background: var(--cpss-paper) !important;
}

body.page-id-27 #pgc-27-0-1 .sow-accordion-panel-border {
	padding: 0 !important;
	background: transparent !important;
	border: 0 !important;
	color: var(--cpss-ink);
}

body.page-id-27 #pgc-27-0-1 .sow-accordion-panel-border > ul,
body.page-id-27 #pgc-27-0-1 .sow-accordion-panel-border .menu {
	margin: 0;
	padding: 13px 18px 15px 36px;
}

body.page-id-27 #pgc-27-0-1 .sow-accordion-panel-border li {
	margin: 4px 0;
}

body.page-id-27 #pgc-27-0-1 #n2-ss-4-align {
	max-width: 100% !important;
	margin-right: auto !important;
	margin-left: auto !important;
}

body.page-id-27 #pgc-27-0-1 img,
body.page-id-27 #pgc-27-0-1 iframe {
	max-width: 100%;
}

/* Section grids */

body.page-id-27 #pg-27-1,
body.page-id-27 #pg-27-2 {
	display: grid !important;
	gap: 26px;
	align-items: start !important;
	margin: 0 0 28px;
}

body.page-id-27 #pg-27-1 {
	grid-template-columns: minmax(0, 1.62fr) minmax(320px, 0.88fr);
}

body.page-id-27 #pg-27-2 {
	grid-template-columns: minmax(0, 1.62fr) minmax(300px, 0.88fr);
}

body.page-id-27 #pg-27-3 {
	display: block !important;
	margin: 0 0 28px;
}

body.page-id-27 #pgc-27-1-0,
body.page-id-27 #pgc-27-1-1,
body.page-id-27 #panel-27-2-0-0 > .panel-widget-style,
body.page-id-27 #panel-27-2-0-1 > .panel-widget-style,
body.page-id-27 #panel-27-2-1-0 > .panel-widget-style,
body.page-id-27 #panel-27-3-0-0 > .panel-widget-style {
	background: var(--cpss-paper) !important;
	border: 1px solid var(--cpss-line);
	border-radius: 3px;
	box-shadow: var(--cpss-shadow);
}

body.page-id-27 #pgc-27-1-0,
body.page-id-27 #pgc-27-1-1 {
	overflow: hidden;
}

body.page-id-27 #pgc-27-2-0,
body.page-id-27 #pgc-27-2-1 {
	display: flex;
	flex-direction: column;
	gap: 24px;
}

body.page-id-27 #panel-27-1-0-0 > .panel-widget-style,
body.page-id-27 #panel-27-2-0-0 > .panel-widget-style,
body.page-id-27 #panel-27-2-0-1 > .panel-widget-style,
body.page-id-27 #panel-27-2-1-0 > .panel-widget-style,
body.page-id-27 #panel-27-3-0-0 > .panel-widget-style {
	min-height: 0 !important;
	margin: 0 !important;
	padding: 26px !important;
	color: var(--cpss-ink) !important;
}

body.page-id-27 #panel-27-1-0-0 > .panel-widget-style {
	background: transparent !important;
}

body.page-id-27 #pgc-27-1-1 > .panel-cell-style {
	height: 100%;
	padding: 0 !important;
	color: inherit !important;
}

body.page-id-27 #panel-27-1-1-0,
body.page-id-27 #panel-27-1-1-0 > div,
body.page-id-27 #panel-27-1-1-0 .sow-video-wrapper {
	height: 100%;
}

body.page-id-27 #panel-27-1-1-0 .fluid-width-video-wrapper {
	min-height: 100%;
	padding-top: 56.25% !important;
	background: var(--cpss-forest-950);
}

body.page-id-27 #panel-27-1-1-0 iframe {
	width: 100%;
	height: 100%;
	border: 0;
}

body.page-id-27 #pl-27 .block1,
body.page-id-27 #pl-27 .block2,
body.page-id-27 #pl-27 .block3,
body.page-id-27 #pl-27 .block4,
body.page-id-27 #pl-27 .themecolor {
	background-color: var(--cpss-paper) !important;
	color: var(--cpss-ink) !important;
}

body.page-id-27 #pl-27 .block1 a,
body.page-id-27 #pl-27 .block2 a,
body.page-id-27 #pl-27 .block3 a,
body.page-id-27 #pl-27 .block4 a {
	color: var(--cpss-forest-800) !important;
}

body.page-id-27 #pl-27 .widget-title {
	position: relative;
	margin: 0 0 20px;
	padding: 0 0 13px 28px;
	border-bottom: 1px solid var(--cpss-line);
	color: var(--cpss-forest-950) !important;
	font-size: clamp(22px, 2vw, 30px);
	font-weight: 600 !important;
	line-height: 1.25;
}

body.page-id-27 #pl-27 .widget-title::before {
	position: absolute;
	top: 0.52em;
	left: 0;
	width: 18px;
	height: 2px;
	background: var(--cpss-gold);
	content: "";
}

body.page-id-27 #pl-27 .widget-title::after {
	position: absolute;
	bottom: -1px;
	left: 0;
	width: 80px;
	height: 1px;
	background: var(--cpss-gold);
	content: "";
}

/* News tables */

body.page-id-27 #pl-27 .table-responsive {
	width: 100%;
	margin: 0;
	overflow-x: auto;
	border: 0;
}

body.page-id-27 #pl-27 .table {
	width: 100%;
	margin: 0;
	background: transparent;
	border-collapse: collapse;
	color: var(--cpss-ink);
}

body.page-id-27 #pl-27 .table tr {
	border-bottom: 1px solid var(--cpss-line);
	transition: background-color 180ms ease;
}

body.page-id-27 #pl-27 .table tr:hover {
	background: rgba(185, 151, 82, 0.07);
}

body.page-id-27 #pl-27 .table th,
body.page-id-27 #pl-27 .table td {
	padding: 12px 10px;
	vertical-align: middle;
	background: transparent !important;
	border: 0;
}

body.page-id-27 #pl-27 .table td:first-child {
	width: 138px;
	color: var(--cpss-gold);
	font-size: 14px;
	font-weight: 600;
	white-space: nowrap;
}

body.page-id-27 #pl-27 .table th a,
body.page-id-27 #pl-27 .table td a {
	display: -webkit-box;
	color: var(--cpss-ink) !important;
	font-weight: 400;
	line-height: 1.5;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
}

body.page-id-27 #pl-27 .table th a:hover,
body.page-id-27 #pl-27 .table td a:hover {
	color: var(--cpss-gold) !important;
}

/* Post cards */

body.page-id-27 #panel-27-2-0-0 > .panel-widget-style,
body.page-id-27 #panel-27-3-0-0 > .panel-widget-style {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 18px;
}

body.page-id-27 #panel-27-2-1-0 > .panel-widget-style {
	display: grid;
	grid-template-columns: 1fr;
	gap: 18px;
}

body.page-id-27 #panel-27-2-0-0 .widget-title,
body.page-id-27 #panel-27-2-1-0 .widget-title,
body.page-id-27 #panel-27-3-0-0 .widget-title {
	grid-column: 1 / -1;
}

body.page-id-27 #pl-27 article.seed-col {
	float: none !important;
	width: auto !important;
	max-width: none !important;
	height: 100%;
	min-width: 0;
	padding: 0 !important;
}

body.page-id-27 #pl-27 .content-item.-caption {
	display: flex;
	height: 100%;
	min-height: 0;
	flex-direction: column;
	overflow: hidden;
	background: #fff;
	border: 1px solid rgba(222, 223, 215, 0.9);
	border-radius: 2px;
	box-shadow: 0 8px 22px rgba(16, 46, 37, 0.06);
	transition:
		border-color 180ms ease,
		box-shadow 180ms ease,
		transform 180ms ease;
}

body.page-id-27 #pl-27 .content-item.-caption:hover {
	border-color: rgba(185, 151, 82, 0.62);
	box-shadow: 0 16px 34px rgba(16, 46, 37, 0.12);
	transform: translateY(-3px);
}

body.page-id-27 #pl-27 .content-item.-caption .pic {
	position: relative;
	width: 100%;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	background: #e7e5de;
}

body.page-id-27 #pl-27 .content-item.-caption .pic::after {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, transparent 62%, rgba(16, 46, 37, 0.24));
	content: "";
	pointer-events: none;
}

body.page-id-27 #pl-27 .content-item.-caption .pic a,
body.page-id-27 #pl-27 .content-item.-caption .pic img {
	display: block;
	width: 100%;
	height: 100%;
}

body.page-id-27 #pl-27 .content-item.-caption .pic img {
	object-fit: cover;
	transition: transform 400ms ease;
}

body.page-id-27 #pl-27 .content-item.-caption:hover .pic img {
	transform: scale(1.035);
}

body.page-id-27 #pl-27 .content-item.-caption .info {
	position: static !important;
	display: flex !important;
	height: auto !important;
	min-height: 0 !important;
	padding: 14px 15px 15px !important;
	flex: 1;
	flex-direction: column;
	background: transparent !important;
	color: var(--cpss-ink) !important;
	opacity: 1 !important;
	transform: none !important;
}

body.page-id-27 #pl-27 .content-item.-caption .entry-title {
	display: -webkit-box;
	margin: 0;
	color: var(--cpss-ink) !important;
	font-size: 16px !important;
	font-weight: 600 !important;
	line-height: 1.48;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	overflow: hidden;
}

body.page-id-27 #pl-27 .content-item.-caption .entry-title a {
	color: inherit !important;
}

body.page-id-27 #pl-27 .content-item.-caption .entry-title a:hover {
	color: var(--cpss-gold) !important;
}

body.page-id-27 #pl-27 .content-item.-caption .entry-meta {
	margin-top: auto;
	padding-top: 10px;
	color: var(--cpss-muted);
	font-size: 12px;
	line-height: 1.4;
}

body.page-id-27 #pl-27 .content-item.-caption .entry-meta a {
	color: var(--cpss-muted) !important;
}

/* "View all" buttons */

body.page-id-27 #pl-27 .widget_sow-button > .panel-widget-style {
	min-height: 0 !important;
	margin: 0 !important;
	padding: 14px 24px 22px !important;
	background: transparent !important;
}

body.page-id-27 #pl-27 .ow-button-base {
	text-align: right;
}

body.page-id-27 #pl-27 .ow-button-base a {
	display: inline-flex !important;
	width: auto !important;
	min-width: 132px;
	padding: 9px 20px !important;
	align-items: center;
	justify-content: center;
	background: var(--cpss-forest-900) !important;
	border: 1px solid var(--cpss-forest-900) !important;
	border-radius: 2px !important;
	box-shadow: none !important;
	color: var(--cpss-paper) !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	line-height: 1.4 !important;
}

body.page-id-27 #pl-27 .ow-button-base a:hover,
body.page-id-27 #pl-27 .ow-button-base a:focus {
	background: var(--cpss-gold) !important;
	border-color: var(--cpss-gold) !important;
	color: var(--cpss-forest-950) !important;
	transform: translateY(-2px);
}

body.page-id-27 #pg-27-4 {
	display: none !important;
}

/* Footer widgets */

body.page-id-27 #footbar {
	position: relative;
	padding: 44px 0 0;
	overflow: hidden;
	background:
		radial-gradient(circle at 10% 0, rgba(185, 151, 82, 0.16), transparent 28rem),
		var(--cpss-forest-950);
	border-top: 4px solid var(--cpss-gold);
	color: var(--cpss-paper);
}

body.page-id-27 #footbar::before {
	position: absolute;
	top: 28px;
	left: 50%;
	width: min(520px, 60vw);
	height: 1px;
	background: linear-gradient(90deg, transparent, var(--cpss-gold), transparent);
	content: "";
	transform: translateX(-50%);
}

body.page-id-27 #footbar > .container {
	width: 100% !important;
	max-width: none !important;
}

body.page-id-27 #footbar #pg-w69fd30b8b2352-0 > .panel-row-style {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
	width: calc(100% - 64px);
	max-width: 1336px;
	margin: 0 auto 42px;
	align-items: stretch !important;
}

body.page-id-27 #footbar #pg-w69fd30b8b2352-0 .panel-grid-cell {
	width: auto !important;
	min-width: 0;
	margin: 0 !important;
	overflow: hidden;
	background: rgba(255, 254, 249, 0.06);
	border: 1px solid rgba(217, 196, 143, 0.24);
	border-radius: 3px;
}

body.page-id-27 #footbar #pg-w69fd30b8b2352-0 .panel-widget-style,
body.page-id-27 #footbar #pg-w69fd30b8b2352-0 .textwidget,
body.page-id-27 #footbar #pg-w69fd30b8b2352-0 p {
	height: 100%;
	margin: 0;
	padding: 0 !important;
}

body.page-id-27 #footbar #pg-w69fd30b8b2352-0 img,
body.page-id-27 #footbar #pg-w69fd30b8b2352-0 iframe {
	display: block;
	width: 100% !important;
	height: 380px !important;
	margin: 0 !important;
	object-fit: cover;
	border: 0 !important;
}

body.page-id-27 #footbar .themecolor {
	padding: 22px 32px !important;
	background: #0b251e !important;
	border-top: 1px solid rgba(217, 196, 143, 0.28);
	color: var(--cpss-paper) !important;
}

body.page-id-27 #footbar a {
	color: var(--cpss-gold-soft);
}

/* Desktop header remains in normal flow and stays visible while scrolling. */

@media (min-width: 992px) {
	body.page-id-27 #masthead {
		position: sticky;
		top: 0;
		z-index: 1000;
		width: 100%;
		height: auto;
	}

	body.page-id-27 .site-header-space {
		display: none;
	}
}

/* Compact desktop / iPad landscape */

@media (min-width: 992px) and (max-width: 1199px) {
	body.page-id-27 .site-header > .container,
	body.page-id-27 .site-content > .container {
		width: calc(100% - 40px) !important;
	}

	body.page-id-27 #headbar .panel-row-style {
		grid-template-columns: 230px minmax(0, 1fr) 174px;
		gap: 14px;
		padding: 14px 0 !important;
	}

	body.page-id-27 #headbar .menu {
		gap: 0;
	}

	body.page-id-27 #headbar .menu > li > a {
		padding: 8px 6px 7px;
		font-size: 14px;
	}

	body.page-id-27 #headbar .menu > li > a::after {
		right: 6px;
		left: 6px;
	}

	body.page-id-27 #headbar .menu > li > .sub-menu {
		position: fixed;
		top: 100px;
		right: auto;
		left: 50vw;
		width: min(620px, calc(100vw - 48px));
		transform: translate(-50%, 8px);
	}

	/*
	 * The compact header leaves space below each menu label before the fixed
	 * dropdown. This invisible bridge keeps :hover active while the pointer
	 * travels from the label into the submenu.
	 */
	body.page-id-27 #headbar .menu > li.menu-item-has-children:hover::before,
	body.page-id-27 #headbar .menu > li.menu-item-has-children:focus-within::before {
		position: absolute;
		top: 100%;
		left: 50%;
		z-index: 1004;
		width: min(620px, calc(100vw - 48px));
		height: 38px;
		content: "";
		transform: translateX(-50%);
	}

	body.page-id-27 #headbar .menu > li:hover > .sub-menu,
	body.page-id-27 #headbar .menu > li:focus-within > .sub-menu {
		transform: translate(-50%, 0);
	}

	body.page-id-27 #headbar .sow-social-media-button {
		width: 30px !important;
		height: 30px !important;
	}

	body.page-id-27 #headbar .social-media-button-container {
		gap: 4px;
	}

	body.page-id-27 #pg-27-0 > .panel-row-style {
		grid-template-columns: minmax(0, 1fr) !important;
	}

	body.page-id-27 #pgc-27-0-1 {
		overflow: visible;
		background: transparent;
		border: 0;
		box-shadow: none;
	}

	body.page-id-27 #pgc-27-0-1 .sow-accordion {
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 18px;
		align-items: start;
	}

	body.page-id-27 #pgc-27-0-1 .sow-accordion-panel {
		overflow: hidden;
		border: 1px solid var(--cpss-line);
		border-radius: 3px;
		box-shadow: var(--cpss-shadow);
	}

	body.page-id-27 #pg-27-1 {
		grid-template-columns: minmax(0, 1.5fr) minmax(310px, 0.9fr);
	}

	body.page-id-27 #pg-27-2 {
		grid-template-columns: minmax(0, 1.48fr) minmax(300px, 0.92fr);
	}

	body.page-id-27 #panel-27-2-0-0 > .panel-widget-style,
	body.page-id-27 #panel-27-3-0-0 > .panel-widget-style {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 992px) and (max-width: 1060px) {
	body.page-id-27 #headbar #panel-w667947e202145-0-1-0 > .panel-widget-style {
		padding-right: 6px !important;
		padding-left: 6px !important;
	}

	body.page-id-27 #headbar .menu > li > a {
		padding-right: 4px;
		padding-left: 4px;
		font-size: 13.5px;
		letter-spacing: 0;
	}

	body.page-id-27 #headbar .menu > li > a::after {
		right: 4px;
		left: 4px;
	}
}

/* Tablet portrait, including iPad Air/Pro portrait */

@media (min-width: 781px) and (max-width: 991px) {
	body.page-id-27 #pgc-27-0-1 {
		overflow: visible;
		background: transparent;
		border: 0;
		box-shadow: none;
	}

	body.page-id-27 #pgc-27-0-1 .sow-accordion {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 18px;
		align-items: start;
	}

	body.page-id-27 #pgc-27-0-1 .sow-accordion-panel {
		overflow: hidden;
		border: 1px solid var(--cpss-line);
		border-radius: 3px;
		box-shadow: var(--cpss-shadow);
	}

	body.page-id-27 #pgc-27-0-1 .sow-accordion-panel:last-child {
		grid-column: 1 / -1;
	}

	body.page-id-27 #panel-27-2-0-0 > .panel-widget-style,
	body.page-id-27 #panel-27-3-0-0 > .panel-widget-style {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	body.page-id-27 #footbar #pg-w69fd30b8b2352-0 > .panel-row-style {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	body.page-id-27 #footbar #pgc-w69fd30b8b2352-0-0 {
		grid-column: 1 / -1;
	}
}

/* Mobile header and shared tablet/mobile content */

@media (max-width: 991px) {
	body.page-id-27 #masthead {
		position: fixed;
		top: 0;
		right: 0;
		left: 0;
		z-index: 1100;
		width: 100%;
		height: 82px;
	}

	body.page-id-27 #masthead > .container {
		display: flex;
		width: calc(100% - 32px) !important;
		height: 77px;
		align-items: center;
		justify-content: space-between;
	}

	body.page-id-27 .site-header-space {
		height: 82px;
	}

	body.page-id-27 .site-branding {
		display: block;
		width: min(72%, 310px);
	}

	body.page-id-27 .site-branding .site-logo,
	body.page-id-27 .site-branding .custom-logo-link {
		display: block;
	}

	body.page-id-27 .site-branding .custom-logo {
		display: block;
		width: auto;
		max-width: 100%;
		height: 55px;
		object-fit: contain;
		object-position: left center;
	}

	body.page-id-27 .site-toggle {
		display: inline-flex;
		min-width: 62px;
		height: 44px;
		padding: 0 12px;
		align-items: center;
		justify-content: center;
		background: var(--cpss-forest-900);
		border: 1px solid var(--cpss-forest-900);
		border-radius: 2px;
		color: var(--cpss-paper);
	}

	body.page-id-27 .site-toggle i {
		margin-right: 7px;
	}

	body.page-id-27 .site-toggle i > span {
		background: var(--cpss-paper) !important;
	}

	body.page-id-27 .site-toggle b {
		color: var(--cpss-paper) !important;
		font-size: 14px;
	}

	body.page-id-27 #site-mobile-navigation.-dropdown {
		position: fixed;
		top: 82px;
		right: 16px;
		left: 16px;
		z-index: 1090;
		width: auto;
		height: 0;
		max-height: 0;
		padding: 0 18px;
		overflow: hidden;
		background: rgba(255, 254, 249, 0.99);
		border: 1px solid rgba(185, 151, 82, 0.42);
		border-top: 3px solid var(--cpss-gold);
		border-radius: 0 0 4px 4px;
		box-shadow: none;
		opacity: 0;
		pointer-events: none;
		transform: translateY(-12px) scaleY(0.98);
		transform-origin: top center;
		visibility: hidden;
		transition:
			max-height 320ms ease,
			opacity 180ms ease,
			transform 240ms ease,
			visibility 180ms ease;
	}

	body.page-id-27 #site-mobile-navigation.-dropdown.active {
		height: auto;
		max-height: calc(100vh - 98px);
		max-height: calc(100svh - 98px);
		padding: 16px 18px 24px;
		overflow-x: hidden;
		overflow-y: auto;
		box-shadow: 0 20px 48px rgba(16, 46, 37, 0.22);
		opacity: 1;
		pointer-events: auto;
		transform: translateY(0) scaleY(1);
		visibility: visible;
	}

	body.page-id-27 #site-mobile-navigation .menu {
		margin: 0;
		padding: 0;
	}

	body.page-id-27 #site-mobile-navigation li a {
		display: block;
		padding: 11px 4px;
		border-bottom: 1px solid var(--cpss-line);
		color: var(--cpss-forest-950);
		font-size: 16px;
		line-height: 1.45;
	}

	body.page-id-27 #site-mobile-navigation .current-menu-item > a {
		color: var(--cpss-gold);
	}

	body.page-id-27 #site-mobile-navigation .sub-menu {
		margin: 0;
		padding: 4px 0 6px 16px;
		background: #f5f2ea;
	}

	body.page-id-27 #site-mobile-navigation .sub-menu a {
		padding: 9px 6px;
		font-size: 14px;
	}

	body.page-id-27 .site-content > .container {
		width: calc(100% - 36px) !important;
	}

	body.page-id-27 #pg-27-0 > .panel-row-style,
	body.page-id-27 #pg-27-1,
	body.page-id-27 #pg-27-2 {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) !important;
		gap: 24px;
	}

	body.page-id-27 #pg-27-0 > .panel-row-style {
		padding-top: 24px !important;
	}

	body.page-id-27 #pgc-27-0-0,
	body.page-id-27 #pgc-27-1-0,
	body.page-id-27 #pgc-27-2-0 {
		margin-bottom: 0 !important;
	}

	body.page-id-27 #panel-27-1-0-0 > .panel-widget-style,
	body.page-id-27 #panel-27-2-0-0 > .panel-widget-style,
	body.page-id-27 #panel-27-2-0-1 > .panel-widget-style,
	body.page-id-27 #panel-27-2-1-0 > .panel-widget-style,
	body.page-id-27 #panel-27-3-0-0 > .panel-widget-style {
		padding: 22px !important;
	}

	body.page-id-27 #pl-27 .widget-title {
		font-size: 24px;
	}

	body.page-id-27 #panel-27-1-1-0 .fluid-width-video-wrapper {
		min-height: 0;
	}
}

@media (max-width: 780px) {
	body.page-id-27 #pgc-27-0-1 {
		overflow: hidden;
		background: var(--cpss-paper);
		border: 1px solid var(--cpss-line);
		box-shadow: var(--cpss-shadow);
	}

	body.page-id-27 #pgc-27-0-1 .sow-accordion {
		display: block;
	}

	body.page-id-27 #pgc-27-0-1 .sow-accordion-panel {
		border-width: 0 0 1px;
		border-radius: 0;
		box-shadow: none;
	}

	body.page-id-27 #pgc-27-0-1 #n2-ss-4-align {
		max-width: 420px !important;
	}

	body.page-id-27 #panel-27-2-0-0 > .panel-widget-style,
	body.page-id-27 #panel-27-3-0-0 > .panel-widget-style {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	body.page-id-27 #footbar {
		padding-top: 36px;
	}

	body.page-id-27 #footbar #pg-w69fd30b8b2352-0 > .panel-row-style {
		grid-template-columns: minmax(0, 1fr);
		width: calc(100% - 32px);
	}

	body.page-id-27 #footbar #pgc-w69fd30b8b2352-0-0 {
		grid-column: auto;
	}

	body.page-id-27 #footbar #pg-w69fd30b8b2352-0 img,
	body.page-id-27 #footbar #pg-w69fd30b8b2352-0 iframe {
		height: 330px !important;
	}
}

@media (max-width: 575px) {
	body.page-id-27 .site-content > .container {
		width: calc(100% - 24px) !important;
	}

	body.page-id-27 #masthead > .container {
		width: calc(100% - 24px) !important;
	}

	body.page-id-27 .site-branding {
		width: calc(100% - 72px);
	}

	body.page-id-27 .site-branding .custom-logo {
		height: 48px;
	}

	body.page-id-27 .site-toggle {
		min-width: 48px;
		padding: 0 10px;
	}

	body.page-id-27 .site-toggle b {
		display: none;
	}

	body.page-id-27 .site-toggle i {
		margin-right: 0;
	}

	body.page-id-27 #site-mobile-navigation.-dropdown {
		right: 12px;
		left: 12px;
	}

	body.page-id-27 #site-mobile-navigation.-dropdown.active {
		padding: 14px 14px 20px;
	}

	body.page-id-27 #pg-27-0 > .panel-row-style,
	body.page-id-27 #pg-27-1,
	body.page-id-27 #pg-27-2 {
		gap: 18px;
	}

	body.page-id-27 #panel-27-1-0-0 > .panel-widget-style,
	body.page-id-27 #panel-27-2-0-0 > .panel-widget-style,
	body.page-id-27 #panel-27-2-0-1 > .panel-widget-style,
	body.page-id-27 #panel-27-2-1-0 > .panel-widget-style,
	body.page-id-27 #panel-27-3-0-0 > .panel-widget-style {
		padding: 18px !important;
	}

	body.page-id-27 #pl-27 .widget-title {
		margin-bottom: 16px;
		padding-left: 24px;
		font-size: 22px;
	}

	body.page-id-27 #pl-27 .table th,
	body.page-id-27 #pl-27 .table td {
		padding: 10px 7px;
	}

	body.page-id-27 #pl-27 .table td:first-child {
		width: 92px;
		font-size: 12px;
		white-space: normal;
	}

	body.page-id-27 #pl-27 .table th a,
	body.page-id-27 #pl-27 .table td a {
		-webkit-line-clamp: 3;
	}

	body.page-id-27 #panel-27-2-0-0 > .panel-widget-style,
	body.page-id-27 #panel-27-3-0-0 > .panel-widget-style {
		grid-template-columns: minmax(0, 1fr);
	}

	body.page-id-27 #pl-27 .content-item.-caption .entry-title {
		-webkit-line-clamp: 4;
	}

	body.page-id-27 #pl-27 .ow-button-base {
		text-align: center;
	}

	body.page-id-27 #pl-27 .ow-button-base a {
		width: 100% !important;
	}

	body.page-id-27 #footbar .themecolor {
		padding-right: 18px !important;
		padding-left: 18px !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	body.page-id-27 *,
	body.page-id-27 *::before,
	body.page-id-27 *::after {
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
	}
}
