/* ==========================================================================
   Power 5 Bullpen — new program & event pages (/new)
   Loads after the site's style.css on every redesigned page: home, programs,
   events. Colors: gold #FFC107, black #151515, blue #0054a6, green limegreen.

   CONTENTS (search for the section title)
     1. Programs page cards ............ pay toggle, card grid, header, pills, rows, buttons
     2. Program detail pages ........... info banner, status bar, blocks, sidebar card
     3. Registration pages ............. pay picker, framed Jotform, forms list
     4. Event detail pages ............. schedule days, itinerary, fields, colleges
     5. Event List + category pages .... intro, table, highlight boxes, card images
     6. Home page sections ............. slider status, tournaments, showcase, camp, clinics
     7. Later refinements .............. home images, slider row, pill sizes, card images
     8. Main menu dropdown ............. desktop dropdown card, NEW pills, sub-nav pill links
     9. About, Gallery, Contact ........ feature cards, founder, photo grid, form, message pages
    10. Converted inline styles ........ classes that replaced style="" in the page markup
   The footer has its own file: css/p5-footer.css (loaded on every page).
   Later rules in a section refine earlier ones, so keep their order when editing.
   ========================================================================== */

/* JS hooks (no styling needed): .p5-formname (form title text), .p5-newtab ("open in a new tab"
   link), .p5-slide-info (slider Program Info button), plus data-register, data-form, data-href,
   data-start / data-end / data-closed attributes read by js/p5-programs.js */

/* ==========================================================================
   Programs page cards
   ========================================================================== */

/* ---------- Pay In Full / Pay Options pill toggle ---------- */
.p5-paybar {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
	margin: 0 0 40px;
}

.p5-seg {
	display: inline-flex;
	background: #fff;
	border: 1px solid #e3e3e3;
	border-radius: 999px;
	padding: 4px;
	box-shadow: 0 2px 10px rgba(0,0,0,.05);
}

.p5-seg button {
	appearance: none;
	border: 0;
	background: transparent;
	color: #555;
	font: 600 14px/1 "Poppins",Helvetica,sans-serif;
	padding: 12px 22px;
	border-radius: 999px;
	cursor: pointer;
	transition: background .2s,color .2s;
}

.p5-seg button:hover {
	color: #111;
}

.p5-seg button[aria-pressed="true"] {
	background: #0054a6;
	color: #fff;
}

.p5-seg button:focus-visible {
	outline: 3px solid #FFC107;
	outline-offset: 2px;
}

.p5-paybar p {
	margin: 0;
	font-size: 13px;
	color: #777;
	text-align: center;
}

/* ---------- card grid ---------- */
.p5-programs {
	display: grid;
	grid-template-columns: repeat(3,minmax(0,1fr));
	gap: 30px;
	margin: 0 0 20px;
	padding: 0;
	list-style: none;
}

@media (max-width:1199px) {
	.p5-programs {
		grid-template-columns: repeat(2,minmax(0,1fr));
	}
}

@media (max-width:767px) {
	.p5-programs {
		grid-template-columns: minmax(0,1fr);
	}
}

.p5-pcard {
	background: #fff;
	border: 1px solid #ececec;
	border-radius: 7px;
	box-shadow: 0 0 30px rgba(0,0,0,.07);
	display: flex;
	flex-direction: column;
	overflow: hidden;
	margin: 0;
	min-width: 0;
	transition: transform .2s ease,box-shadow .2s ease;
}

.p5-pcard:hover {
	transform: translateY(-3px);
	box-shadow: 0 10px 34px rgba(0,0,0,.12);
}

.p5-pcard.is-over {
	opacity: .78;
}

.p5-pcard.is-over:hover {
	transform: none;
}

/* header: date tile + title (admin "slot" header) */
.p5-phead {
	display: grid;
	grid-template-columns: auto minmax(0,1fr);
	gap: 16px;
	align-items: center;
	padding: 22px;
	background: #151515;
	border-bottom: 4px solid #FFC107;
}

.p5-tile {
	width: 68px;
	height: 68px;
	border-radius: 5px;
	background: #FFC107;
	color: #111;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	line-height: 1;
	text-transform: uppercase;
	flex: none;
}

.p5-tile small {
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 1px;
}

.p5-tile strong {
	font-size: 28px;
	font-weight: 700;
	margin-top: 2px;
}

.p5-tile em {
	font-style: normal;
	font-size: 10px;
	font-weight: 600;
	opacity: .7;
	margin-top: 2px;
}

.is-over .p5-tile {
	background: #4a4a4a;
	color: #bbb;
}

.is-over .p5-phead {
	border-bottom-color: #4a4a4a;
}

.p5-phead h2 {
	font-size: 21px;
	font-weight: 700;
	color: #fff;
	line-height: 1.15;
	margin: 0;
	text-transform: uppercase;
	letter-spacing: .5px;
}

.p5-phead h5 {
	margin: 2px 0 0;
	font-size: 15px;
	color: #FFC107;
	font-weight: 600;
	letter-spacing: 2px;
	text-transform: uppercase;
}

/* status pill — auto-set from the dates by p5-programs.js */
.p5-pill {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	align-self: flex-start;
	border-radius: 999px;
	padding: 6px 14px 6px 11px;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .5px;
	text-transform: uppercase;
	line-height: 1.2;
	background: #eee;
	color: #666;
}

.p5-pill::before {
	content: "";
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: currentColor;
	flex: none;
}

.p5-pill.open {
	background: #e3f8e3;
	color: #1e8a1e;
}

.p5-pill.soon {
	background: #e7f1ff;
	color: #0054a6;
}

.p5-pill.progress {
	background: #fff1dc;
	color: #c46a00;
}

.p5-pill.closed {
	background: #fde4e4;
	color: #d42020;
}

.p5-pill.over {
	background: #f4a9a0;
	color: #7f0c0c;
}

.p5-pill.open::before {
	box-shadow: 0 0 0 3px rgba(50,205,50,.25);
}

.p5-when {
	font-size: 12px;
	color: #888;
	margin: 4px 0 0 2px;
}

/* body */
.p5-pbody {
	padding: 18px 22px 6px;
	display: flex;
	flex-direction: column;
	gap: 14px;
	flex: 1;
}

.p5-cost {
	display: flex;
	align-items: baseline;
	gap: 6px;
	color: #333;
	line-height: 1;
}

.p5-cost sup {
	font-size: 20px;
	color: #999;
	font-weight: 600;
	top: -.9em;
}

.p5-cost strong {
	font-size: 48px;
	font-weight: 500;
	letter-spacing: -1px;
}

.p5-cost span {
	font-size: 15px;
	font-weight: 600;
	color: #999;
	text-transform: uppercase;
}

/* fact rows — admin roster style */
.p5-rows {
	margin: 0;
	padding: 0;
	list-style: none;
	border: 1px solid #dcdfe3;
	border-radius: 5px;
	overflow: hidden;
}

.p5-rows li {
	display: grid;
	grid-template-columns: 118px minmax(0,1fr);
	gap: 10px;
	padding: 12px 14px;
	margin: 0;
	font-size: 14px;
	color: #555;
	background: #fff;
}

.p5-rows li:nth-child(odd) {
	background: #eef0f2;
}

.p5-rows li+li {
	border-top: 1px solid #e4e7ea;
}

.p5-rows li>b {
	color: #333;
	font-weight: 600;
}

.p5-rows li>span {
	min-width: 0;
	overflow-wrap: anywhere;
}

.p5-rows a {
	color: #333;
	border-bottom: 1px solid #333;
}

.p5-rows a:hover {
	color: #3f9fff;
	border-color: #3f9fff;
}

.p5-new {
	display: inline-block;
	margin-top: 6px;
	background: yellow;
	color: #111;
	font-weight: 700;
	font-size: 12px;
	padding: 3px 8px;
	border-radius: 4px;
	letter-spacing: .5px;
}

/* footer actions */
.p5-pfoot {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 16px 22px 22px;
}

a.p5-go,a.p5-more {
	box-sizing: border-box;
	min-height: 50px;
	border: 2px solid transparent;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	border-radius: 25px;
	padding: 14px 20px;
	font-weight: 600;
	font-size: 14px;
	line-height: 1;
	transition: all .3s ease-in-out;
	text-align: center;
}

a.p5-go {
	background: limegreen;
	color: #fff;
}

a.p5-go:hover {
	background: darkgreen;
	color: #fff;
}

a.p5-more {
	background: #fff;
	border: 2px solid #0054a6;
	color: #0054a6;
	text-transform: uppercase;
	letter-spacing: 2px;
	font-size: 13px;
}

a.p5-more:hover {
	background: #0054a6;
	color: #fff;
}

a.p5-go:focus-visible,a.p5-more:focus-visible {
	outline: 3px solid #FFC107;
	outline-offset: 2px;
}

[data-plan][hidden] {
	display: none!important;
}

@media (prefers-reduced-motion:reduce) {
	.p5-pcard,.p5-seg button,a.p5-go,a.p5-more {
		transition: none;
	}
}

/* ==========================================================================
   Program detail pages
   ========================================================================== */

.p5-section {
	margin-bottom: 30px;
	border-bottom: 0!important;
}

/* info banner — black card, gold values, status bar underneath */
.p5-info {
	border-radius: 7px;
	overflow: hidden;
	box-shadow: 0 0 30px rgba(0,0,0,.1);
	margin-bottom: 30px;
}

.p5-info-top {
	display: grid;
	grid-template-columns: repeat(3,minmax(0,1fr));
	margin: 0;
	padding: 0;
	list-style: none;
	background: #151515;
}

.p5-info-top li {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	gap: 6px;
	text-align: center;
	padding: 24px 16px;
	color: #fff;
	border-right: 1px solid rgba(255,255,255,.12);
	margin: 0;
}

.p5-info-top li:last-child {
	border-right: 0;
}

.p5-info-top i {
	font-size: 44px;
	line-height: 1;
	color: #fff;
}

.p5-info-top span {
	font-weight: 500;
	font-size: 14px;
	opacity: .85;
}

.p5-info-top strong {
	color: #FFC107;
	font-size: 19px;
	font-weight: 600;
	line-height: 1.3;
	text-transform: uppercase;
}

a.p5-loc {
	display: inline-block;
	background: #FFC107;
	color: #111;
	font-weight: 600;
	font-size: 13px;
	line-height: 1.3;
	padding: 10px 16px;
	border-radius: 3px;
	margin-top: 4px;
}

a.p5-loc:hover {
	background: #3f9fff;
	color: #fff;
}

@media (max-width:767px) {
	.p5-info-top {
		grid-template-columns: minmax(0,1fr);
	}
	.p5-info-top li {
		border-right: 0;
		border-bottom: 1px solid rgba(255,255,255,.12);
	}
}

a.p5-statusbar {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 0;
	padding: 16px;
	color: #fff;
	text-align: center;
	background: #6c757d;
	border-top: 4px solid #FFC107;
	transition: filter .2s;
}

a.p5-statusbar:hover {
	color: #fff;
	filter: brightness(1.08);
}

.p5-statusbar-label {
	font-size: 28px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 1px;
	line-height: 1.1;
}

.p5-statusbar-note {
	font-size: 16px;
	font-weight: 500;
	opacity: .92;
	line-height: 1.3;
}

.p5-statusbar.open {
	background: limegreen;
}

.p5-statusbar.soon {
	background: #0054a6;
}

.p5-statusbar.progress {
	background: #e07a00;
}

.p5-statusbar.closed {
	background: #e3262e;
}

.p5-statusbar.over {
	background: #8b1414;
}

@media (max-width:575px) {
	.p5-statusbar-label {
		font-size: 24px;
	}
	.p5-statusbar-note {
		font-size: 15px;
	}
}

/* white content blocks */
.p5-block {
	background: #fff;
	border: 1px solid #ececec;
	border-radius: 7px;
	padding: 28px;
	margin-bottom: 24px;
	box-shadow: 0 0 30px rgba(0,0,0,.05);
}

.p5-block h2 {
	font-size: 30px;
	color: #333;
	margin: 0 0 12px;
}

.p5-block>p {
	margin: 0 0 12px;
}

.p5-block-title {
	font-size: 26px;
	font-weight: 600;
	line-height: 1.2;
	color: #333;
	margin: 0 0 18px;
	padding-left: 14px;
	border-left: 5px solid #FFC107;
}

@media (max-width:575px) {
	.p5-block-title {
		font-size: 22px;
	}
}

.p5-learn {
	display: grid;
	grid-template-columns: repeat(2,minmax(0,1fr));
	gap: 20px;
	margin: 0;
	padding: 0;
	list-style: none;
}

@media (max-width:767px) {
	.p5-learn {
		grid-template-columns: minmax(0,1fr);
	}
}

.p5-learn li {
	display: grid;
	grid-template-columns: 24px minmax(0,1fr);
	gap: 10px;
	background: #fff;
	border: 1px solid #eceef1;
	border-radius: 5px;
	padding: 14px;
	margin: 0;
	box-shadow: 0 3px 12px rgba(0,0,0,.07);
}

.p5-learn i {
	color: #8dc63f;
	font-size: 22px;
	line-height: 1;
}

.p5-learn h6 {
	font-size: 16px;
	font-weight: 600;
	color: #333;
	margin: 0 0 4px;
}

.p5-learn p {
	margin: 0;
	font-size: 13px;
	line-height: 1.5;
}

.p5-learn h6:has(.yellow-highlight) {
	margin: 2px 0 10px;
}

.p5-learn h6 .yellow-highlight {
	display: inline-block;
}

.p5-block>p.p5-closing {
	margin: 32px 0 0;
}

.p5-callout {
	background: #151515;
	color: #fff;
	border-radius: 7px;
	padding: 24px 28px;
	border-left: 6px solid #FFC107;
	margin-bottom: 24px;
}

.p5-callout h3 {
	color: #FFC107;
	font-size: 22px;
	text-transform: uppercase;
	margin: 0 0 8px;
}

.p5-callout p {
	margin: 0;
	color: rgba(255,255,255,.85);
	line-height: 1.6;
}

/* "Program Details / Included In Program" block */
.p5-flush {
	padding: 0;
	overflow: hidden;
}

.p5-block-head {
	background: #151515;
	padding: 20px 28px;
	border-bottom: 4px solid #FFC107;
}

.p5-block-head h2 {
	color: #fff;
	font-size: 24px;
	margin: 0;
}

.p5-block-head h5 {
	color: #FFC107;
	margin: 4px 0 0;
	font-size: 14px;
	text-transform: uppercase;
	letter-spacing: 2px;
}

.p5-figure {
	margin: 0;
}

.p5-figure img {
	width: 100%;
	display: block;
}

.p5-banner {
	background: #e3f8e3;
	border-bottom: 2px solid green;
	color: green;
	text-align: center;
	padding: 14px 20px;
}

.p5-banner strong {
	display: block;
	text-transform: uppercase;
	font-size: 20px;
	letter-spacing: .5px;
}

.p5-banner span {
	display: block;
	color: #1d5a1d;
	font-size: 16px;
	font-weight: 500;
}

.p5-groups {
	display: grid;
	grid-template-columns: repeat(2,minmax(0,1fr));
	gap: 20px;
	padding: 24px 28px 28px;
}

@media (max-width:767px) {
	.p5-groups {
		grid-template-columns: minmax(0,1fr);
	}
}

.p5-group {
	background: #fff;
	border: 1px solid #eceef1;
	border-radius: 5px;
	overflow: hidden;
	box-shadow: 0 3px 12px rgba(0,0,0,.07);
}

.p5-group h4 {
	margin: 0;
	padding: 11px 14px;
	font-size: 16px;
	font-weight: 600;
	color: #333;
	background: #e8eaed;
	border-bottom: 1px solid #dcdfe3;
}

.p5-group ul {
	margin: 0;
	padding: 10px 14px 14px 32px;
	list-style: disc;
}

.p5-group li {
	margin: 3px 0;
	color: #555;
}

/* sidebar card */
.p5-sidecard {
	position: static;
}

@media (max-width:991px) {
	.p5-sidecard {
		position: static;
		margin-top: 10px;
	}
}

.p5-sidecard:hover {
	transform: none;
}

.p5-sideimg {
	margin: 0;
}

.p5-sideimg img {
	width: 100%;
	display: block;
}

.p5-sidecard .p5-pbody {
	padding-bottom: 22px;
}

a.p5-go.dark {
	background: green;
}

a.p5-go.dark:hover {
	background: darkgreen;
}

.p5-side-h {
	font-size: 17px;
	font-weight: 600;
	color: #333;
	margin: 10px 0 0;
	padding-left: 10px;
	border-left: 4px solid #FFC107;
}

.p5-rows-icons li {
	grid-template-columns: auto minmax(0,1fr);
	padding: 13px 16px;
	line-height: 1.5;
}

.p5-rows-icons li>b {
	white-space: nowrap;
}

.p5-rows-icons i {
	margin-right: 6px;
	color: #0054a6;
}

.p5-why {
	margin: 0;
	padding: 0;
	list-style: none;
}

.p5-why li {
	display: flex;
	gap: 12px;
	align-items: flex-start;
	padding: 11px 0;
	border-bottom: 1px solid #ededed;
	margin: 0;
	color: #333;
}

.p5-why li:last-child {
	border-bottom: 0;
}

.p5-why i {
	color: #0054a6;
	margin-top: 3px;
}

.p5-terms {
	background: #f7f7f9;
	border: 1px solid #e3e3e8;
	border-radius: 5px;
	padding: 12px 14px;
	font-size: 12px;
	line-height: 1.55;
}

.p5-terms b {
	display: block;
	color: #333;
	font-size: 13px;
	margin-bottom: 4px;
}

.p5-terms p {
	margin: 0;
}

.p5-or {
	display: flex;
	align-items: center;
	gap: 12px;
	color: #888;
	font-size: 12px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 2px;
	margin: -2px 0;
}

.p5-or::before,.p5-or::after {
	content: "";
	flex: 1;
	border-top: 1px dashed #cfd3d8;
}

.p5-or[hidden] {
	display: none;
}

/* ==========================================================================
   Registration pages: pay option picker + framed Jotform + side summary
   ========================================================================== */

a.p5-back {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0 0 18px;
	font-weight: 600;
	font-size: 14px;
	color: #0054a6;
}

a.p5-back:hover {
	color: #111;
}

a.p5-back i {
	font-size: 18px;
}

.p5-plans {
	display: grid;
	grid-template-columns: repeat(2,minmax(0,1fr));
	gap: 16px;
	margin: 18px 0 0;
}

@media (max-width:575px) {
	.p5-plans {
		grid-template-columns: minmax(0,1fr);
	}
}

.p5-plan {
	position: relative;
	display: block;
	margin: 0;
	padding: 18px 18px 16px 54px;
	background: #fff;
	border: 2px solid #e1e4e8;
	border-radius: 7px;
	cursor: pointer;
	transition: border-color .2s,box-shadow .2s,background .2s;
}

.p5-plan:hover {
	border-color: #c4c9cf;
}

.p5-plan input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.p5-plan::before {
	content: "";
	position: absolute;
	left: 18px;
	top: 20px;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	border: 2px solid #c4c9cf;
	background: #fff;
	box-sizing: border-box;
	transition: all .2s;
}

.p5-plan b {
	display: block;
	font-size: 15px;
	font-weight: 600;
	color: #333;
	text-transform: uppercase;
	letter-spacing: 1px;
}

.p5-plan strong {
	display: block;
	font-size: 30px;
	font-weight: 700;
	color: #111;
	line-height: 1.15;
	margin: 4px 0 2px;
}

.p5-plan strong span {
	font-size: 15px;
	font-weight: 600;
	color: #777;
}

.p5-plan small {
	display: block;
	font-size: 13px;
	color: #777;
	line-height: 1.45;
}

.p5-plan.is-on {
	border-color: #FFC107;
	background: #fffbea;
	box-shadow: 0 0 0 3px rgba(255,193,7,.25);
}

.p5-plan.is-on::before {
	border: 7px solid #111;
	background: #FFC107;
}

.p5-plan:has(input:focus-visible) {
	outline: 3px solid #0054a6;
	outline-offset: 2px;
}

.p5-formcard {
	background: #fff;
	border: 1px solid #ececec;
	border-radius: 7px;
	box-shadow: 0 0 30px rgba(0,0,0,.07);
	overflow: hidden;
	margin: 0 0 30px;
	scroll-margin-top: 90px;
}

.p5-formhead {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 6px 16px;
	padding: 16px 22px;
	background: #151515;
	border-bottom: 4px solid #FFC107;
}

.p5-formhead b {
	color: #fff;
	font-size: 16px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 1px;
}

.p5-formhead b em {
	font-style: normal;
	color: #FFC107;
}

.p5-formhead span {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: #bbb;
	font-size: 13px;
}

.p5-formhead span i {
	color: #8dc63f;
	font-size: 15px;
}

.p5-formbody {
	padding: 10px 8px 0;
}

@media (min-width:576px) {
	.p5-formbody {
		padding: 16px 16px 0;
	}
}

.p5-formbody iframe {
	display: block;
	width: 100%;
	min-width: 100%;
	max-width: 100%;
	min-height: 640px;
	border: 0;
	overflow: hidden;
	background: #fff;
}

.p5-formbody iframe[scrolling="auto"] {
	overflow: auto;
}

.p5-formbody [hidden] {
	display: none;
}

.p5-formhelp {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 4px 8px;
	padding: 14px 22px;
	border-top: 1px solid #eceef1;
	background: #f7f8f9;
	font-size: 13px;
	color: #777;
}

.p5-formhelp a {
	font-weight: 600;
	color: #0054a6;
}

.p5-closedbox {
	text-align: center;
	padding: 40px 30px;
}

.p5-closedbox .p5-pill {
	align-self: center;
	font-size: 14px;
	padding: 7px 16px 7px 13px;
	gap: 9px;
}

.p5-closedbox h2 {
	font-size: 22px;
	font-weight: 700;
	margin: 18px 0 22px;
	color: #111;
}

.p5-closedbox p {
	color: #666;
	margin: 0 auto 22px;
	max-width: 460px;
}

.p5-closedbox .p5-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	justify-content: center;
	width: 100%;
}

.p5-closedbox a.p5-go,.p5-closedbox a.p5-more {
	min-width: 220px;
}

.p5-closedbox[hidden],[data-register][hidden] {
	display: none;
}

.p5-nextstep {
	display: flex;
	gap: 12px;
	align-items: flex-start;
	background: #151515;
	color: #ddd;
	border-left: 4px solid #FFC107;
	border-radius: 5px;
	padding: 14px 16px;
	font-size: 13px;
	line-height: 1.5;
}

.p5-nextstep i {
	color: #FFC107;
	font-size: 20px;
	line-height: 1;
}

.p5-nextstep b {
	color: #fff;
}

.p5-ready {
	list-style: none;
	margin: 0;
	padding: 0;
}

.p5-ready li {
	display: flex;
	gap: 10px;
	align-items: flex-start;
	padding: 8px 0;
	font-size: 14px;
	color: #555;
	border-bottom: 1px solid #eef0f2;
}

.p5-ready li:last-child {
	border-bottom: 0;
}

.p5-ready i {
	color: #8dc63f;
	font-size: 16px;
	margin-top: 2px;
}

/* other registration forms */
.p5-regside {
	position: static;
}

.p5-formsnav {
	margin: 0;
}

.p5-formsnav h4 {
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 2px;
	text-transform: uppercase;
	color: #888;
	margin: 6px 0 8px;
}

.p5-formsnav ul {
	list-style: none;
	margin: 0 0 10px;
	padding: 0;
	border: 1px solid #e4e7ea;
	border-radius: 5px;
	overflow: hidden;
}

.p5-formsnav li {
	margin: 0;
}

.p5-formsnav li+li {
	border-top: 1px solid #e4e7ea;
}

.p5-formsnav li a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	padding: 11px 14px;
	color: #333;
	font-size: 14px;
	font-weight: 500;
}

.p5-formsnav li a:hover {
	background: #f7f8f9;
	color: #0054a6;
}

.p5-formsnav li.is-current a {
	background: #fffbea;
	font-weight: 600;
	box-shadow: inset 4px 0 0 #FFC107;
}

.p5-formsnav .p5-pill {
	font-size: 10px;
	padding: 4px 9px 4px 8px;
	gap: 6px;
	flex: none;
}

.p5-formsnav .p5-pill::before {
	width: 6px;
	height: 6px;
}

.p5-formsnav li.is-over a {
	color: #999;
}

.p5-formsnav h4+ul {
	margin-bottom: 16px;
}

#sidebar ul.p5-social {
	display: flex;
	justify-content: center;
	gap: 10px;
	list-style: none;
	margin: 24px 0 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	overflow: visible;
}

/* tablets: page adds 35px below the icons, so use 35px above too */
@media (min-width:576px) and (max-width:991px) {
	#sidebar ul.p5-social {
		margin-top: 35px;
	}
}

/* detail pages, phones: same 30px under the last box as above it (the page adds 5px) */
@media (max-width:575px) {
	#sidebar .p5-sidecard:not(.p5-regside) {
		margin-bottom: 25px;
	}
}

/* phones: same 24px under the icons as above them (the page adds 5px) */
@media (max-width:575px) {
	#sidebar ul.p5-social {
		margin-bottom: 19px;
	}
}

.p5-social a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	border-radius: 50%;
	background: #151515;
	color: #FFC107;
	font-size: 16px;
}

#sidebar .p5-social a,#sidebar .p5-social a i {
	color: #fff;
	transition: color .2s;
}

#sidebar .p5-social a:hover,#sidebar .p5-social a:hover i {
	color: #FFC107;
}

/* mobile: one 20px gutter everywhere — inside sections matches the space between cards */
@media (max-width:767px) {
	.p5-block {
		padding: 20px;
		margin-bottom: 20px;
	}
	.p5-block.p5-flush {
		padding: 0;
	}
	.p5-groups {
		padding: 20px;
		gap: 20px;
	}
	.p5-callout {
		padding: 20px;
		margin-bottom: 20px;
	}
	.p5-block-head {
		padding-left: 20px;
		padding-right: 20px;
	}
	.p5-banner {
		padding-left: 20px;
		padding-right: 20px;
	}
	.p5-block>p.p5-closing {
		margin-top: 24px;
	}
	.p5-sidecard .p5-pbody,.p5-pbody {
		padding-left: 20px;
		padding-right: 20px;
	}
	.p5-phead {
		padding: 20px;
	}
	.p5-formhead,.p5-formhelp {
		padding-left: 20px;
		padding-right: 20px;
	}
	.p5-section,.p5-info {
		margin-bottom: 20px;
	}
}

/* ==========================================================================
   Event detail pages: schedule days, itinerary, fields, colleges
   ========================================================================== */

.p5-days {
	list-style: none;
	margin: 6px 0 4px;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(auto-fill,minmax(190px,1fr));
	gap: 14px;
}

.p5-days li {
	display: flex;
	align-items: center;
	gap: 14px;
	background: #fff;
	border: 1px solid #eceef1;
	border-radius: 5px;
	padding: 12px 14px;
	box-shadow: 0 3px 12px rgba(0,0,0,.07);
	margin: 0;
}

.p5-daytile {
	width: 48px;
	height: 48px;
	border-radius: 5px;
	background: #151515;
	color: #FFC107;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	line-height: 1;
	text-transform: uppercase;
	flex: none;
}

.p5-daytile small {
	font-size: 10px;
	font-weight: 600;
	letter-spacing: 1px;
}

.p5-daytile strong {
	font-size: 20px;
	font-weight: 700;
	margin-top: 2px;
	color: #fff;
}

.p5-days b {
	display: block;
	color: #333;
	font-weight: 600;
	font-size: 15px;
}

.p5-days em {
	font-style: normal;
	font-size: 13px;
	color: #777;
}

.is-over .p5-daytile {
	background: #4a4a4a;
	color: #bbb;
}

.p5-itin {
	border: 1px solid #eceef1;
	border-radius: 5px;
	overflow: hidden;
	box-shadow: 0 3px 12px rgba(0,0,0,.07);
}

.p5-itin h4 {
	margin: 0;
	padding: 12px 16px;
	background: #e8eaed;
	border-bottom: 1px solid #dcdfe3;
	font-size: 15px;
	font-weight: 600;
	color: #333;
}

.p5-itin h4 i {
	color: #0054a6;
	margin-right: 4px;
}

.p5-itin>p {
	margin: 16px 16px 6px;
}

.p5-itin>h6 {
	margin: 16px 16px 8px;
	font-size: 15px;
	font-weight: 600;
	color: #333;
	padding-left: 10px;
	border-left: 4px solid #FFC107;
}

.p5-checks {
	list-style: none;
	margin: 0 16px 12px;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(2,minmax(0,1fr));
	gap: 4px 20px;
}

@media (max-width:767px) {
	.p5-checks {
		grid-template-columns: minmax(0,1fr);
	}
}

.p5-checks li {
	display: flex;
	gap: 8px;
	align-items: flex-start;
	margin: 0;
	padding: 6px 0;
	font-size: 14px;
	color: #555;
}

.p5-checks i {
	color: #8dc63f;
	font-size: 16px;
	margin-top: 2px;
	flex: none;
}

.p5-fields {
	list-style: none;
	margin: 10px 0 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(auto-fill,minmax(220px,1fr));
	gap: 20px;
}

.p5-fields li {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin: 0;
	background: #fff;
	border: 1px solid #eceef1;
	border-radius: 5px;
	padding: 16px;
	box-shadow: 0 3px 12px rgba(0,0,0,.07);
}

.p5-fieldname span {
	display: inline-block;
	font-weight: 700;
}

.p5-fields address {
	margin: 0;
	font-size: 14px;
	line-height: 1.5;
	color: #555;
}

a.p5-dir {
	margin-top: auto;
	font-size: 13px;
	font-weight: 600;
	color: #0054a6;
}

a.p5-dir:hover {
	color: #111;
}

.p5-colleges {
	list-style: none;
	margin: 10px 0 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(2,minmax(0,1fr));
	gap: 12px 20px;
}

@media (max-width:575px) {
	.p5-colleges {
		grid-template-columns: minmax(0,1fr);
	}
}

.p5-colleges li {
	margin: 0;
}

.p5-colleges a {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 10px 12px;
	background: #fff;
	border: 1px solid #eceef1;
	border-radius: 5px;
	box-shadow: 0 3px 12px rgba(0,0,0,.05);
	color: #333;
	height: 100%;
}

.p5-colleges a:hover {
	border-color: #FFC107;
}

.p5-colleges img {
	box-sizing: border-box;
	width: 58px;
	height: 58px;
	padding: 6px;
	object-fit: contain;
	border-radius: 50%;
	background: #f8f8f8;
	flex: none;
}

.p5-colleges a>span {
	flex: 1;
	min-width: 0;
}

.p5-arrow {
	margin-left: auto;
	font-size: 20px;
	color: #0054a6;
	flex: none;
	transition: transform .2s;
}

.p5-colleges a:hover .p5-arrow {
	transform: translateX(3px);
}

.p5-colleges b {
	display: block;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.35;
}

.p5-colleges b span {
	display: inline-block;
	margin-left: 4px;
	font-size: 10px;
	vertical-align: middle;
}

.p5-colleges em {
	font-style: normal;
	font-size: 12px;
	color: #777;
	text-transform: uppercase;
	letter-spacing: .5px;
}

.p5-empty-note {
	display: flex;
	gap: 10px;
	align-items: center;
	background: #f7f8f9;
	border: 1px dashed #d5d9de;
	border-radius: 5px;
	padding: 14px 16px;
	color: #666;
	margin: 6px 0 0!important;
}

.p5-empty-note i {
	color: #0054a6;
	font-size: 18px;
}

/* ==========================================================================
   Event List + category pages
   ========================================================================== */

.p5-intro {
	text-align: center;
	max-width: none;
	margin: 0 0 40px;
}

.p5-intro-badge {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	background: #e3f8e3;
	color: green;
	border: 2px solid green;
	border-radius: 999px;
	padding: 10px 22px;
	font-size: 20px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .5px;
	line-height: 1.2;
}

.p5-intro .p5-intro-lead {
	margin: 22px 0 0;
	font-size: 18px;
	line-height: 1.35;
	font-weight: 600;
	color: #333;
	text-transform: uppercase;
	letter-spacing: .5px;
}

@media (max-width:575px) {
	.p5-intro .p5-intro-lead {
		font-size: 16px;
		margin-top: 18px;
	}
}

.p5-intro p {
	margin: 2px 0 0;
	color: #555;
	font-size: 15px;
	line-height: 1.6;
}

@media (max-width:575px) {
	.p5-intro-badge {
		font-size: 16px;
		padding: 9px 16px;
	}
}

.p5-listhead {
	display: flex;
	gap: 18px;
	align-items: flex-start;
	background: #fff;
	border: 1px solid #ececec;
	border-radius: 7px;
	box-shadow: 0 0 30px rgba(0,0,0,.05);
	padding: 24px 28px;
	margin: 0 0 30px;
}

.p5-listhead>i {
	font-size: 46px;
	color: #FFC107;
	line-height: 1;
	flex: none;
}

.p5-listhead h2 {
	margin: 0;
	font-size: 24px;
	font-weight: 700;
	color: #111;
}

.p5-listhead h5 {
	margin: 4px 0 10px;
	font-size: 14px;
	color: #888;
	font-weight: 500;
}

.p5-listhead p {
	margin: 0;
	color: #555;
}

@media (max-width:767px) {
	.p5-listhead {
		padding: 20px;
		gap: 14px;
	}
	.p5-listhead>i {
		font-size: 36px;
	}
}

.p5-desc {
	margin: 0;
	font-size: 14px;
	line-height: 1.6;
	color: #555;
}

.p5-note {
	background: #fffbea;
	color: #555;
	border: 1px solid rgba(17,17,17,.25);
	box-shadow: 0 6px 18px rgba(0,0,0,.12);
	border-radius: 5px;
	overflow: hidden;
	padding: 0 16px 14px;
	font-size: 13px;
	line-height: 1.5;
	text-align: center;
}

.p5-note-bar {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	background: #FFC107;
	color: #111;
	border-bottom: 1px solid rgba(17,17,17,.25);
	margin: 0 -16px 12px;
	padding: 12px 0;
	font-size: 22px;
	line-height: 1;
}

.p5-note-bar i {
	color: #fff1c4;
	text-shadow: none;
}

.p5-note-bar::before,.p5-note-bar::after {
	content: "";
	width: 34px;
	border-top: 2px solid rgba(0,0,0,.35);
	border-top-color: #fff1c4;
}

.p5-note span {
	display: block;
	font-weight: 500;
}

.p5-note b {
	display: block;
	color: #111;
	font-size: 14px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .5px;
	margin-bottom: 4px;
}

.p5-rows .school-space {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 2px;
	margin: 0;
	padding: 0;
}

.p5-rows .school-space b {
	font-weight: 500;
	margin: 0!important;
	padding: 0!important;
}

.p5-rows .school-space span {
	display: inline-block;
	border-radius: 4px;
}

/* Event List table */
.p5-eventlist {
	padding: 0;
	overflow: hidden;
}

.p5-eventlist .p5-listhead {
	border: 0;
	box-shadow: none;
	border-radius: 0;
	margin: 0;
}

.p5-tablewrap {
	padding: 0 28px 28px;
}

.p5-table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	border: 1px solid #dcdfe3;
	border-radius: 5px;
	overflow: hidden;
	font-size: 15px;
}

.p5-table thead th {
	background: #151515;
	color: #fff;
	font-weight: 600;
	font-size: 13px;
	text-transform: uppercase;
	letter-spacing: 1px;
	padding: 14px 16px;
	text-align: left;
	border-bottom: 4px solid #FFC107;
}

.p5-table td {
	padding: 14px 16px;
	vertical-align: middle;
	color: #555;
	border-top: 1px solid #e4e7ea;
	background: #fff;
}

.p5-table tbody tr:first-child td {
	border-top: 0;
}

.p5-table tbody tr:nth-child(odd) td {
	background: #eef0f2;
}

.p5-table td:first-child {
	width: 22%;
}

.p5-table td:last-child {
	width: 24%;
}

.p5-cat {
	font-weight: 600;
	color: #333;
}

a.p5-evlink {
	font-weight: 600;
	color: #0054a6;
}

a.p5-evlink:hover {
	color: #111;
	text-decoration: underline;
}

.p5-table tr[data-status="open"] .p5-pill {
	display: none;
}

a.p5-tbl-go {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: #e3f8e3;
	color: #1e8a1e;
	border: 1px solid #9edb9e;
	border-radius: 999px;
	padding: 5px 13px 5px 11px;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .5px;
	text-transform: uppercase;
	line-height: 1.2;
	white-space: nowrap;
	transition: background .2s,color .2s;
}

a.p5-tbl-go::before {
	content: "";
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: currentColor;
	box-shadow: 0 0 0 3px rgba(50,205,50,.25);
	flex: none;
}

a.p5-tbl-go i {
	font-size: 14px;
	transition: transform .2s;
}

a.p5-tbl-go:hover {
	background: #1e8a1e;
	border-color: #1e8a1e;
	color: #fff;
}

a.p5-tbl-go:hover i {
	transform: translateX(2px);
}

a.p5-tbl-go[hidden] {
	display: none;
}

.p5-table tr.is-over a.p5-evlink {
	color: #777;
}

@media (max-width:767px) {
	.p5-tablewrap {
		padding: 0 20px 20px;
	}
	.p5-table,.p5-table tbody,.p5-table tr,.p5-table td {
		display: block;
		width: 100%!important;
	}
	.p5-table thead {
		display: none;
	}
	.p5-table {
		border: 0;
		overflow: visible;
	}
	.p5-table tr {
		border: 1px solid #dcdfe3;
		border-radius: 5px;
		overflow: hidden;
		margin-bottom: 14px;
	}
	.p5-table tr td,.p5-table tbody tr:nth-child(odd) td {
		background: #fff;
		border-top: 1px solid #eef0f2;
		display: grid;
		grid-template-columns: 90px minmax(0,1fr);
		gap: 10px;
		align-items: center;
		padding: 11px 14px;
	}
	.p5-table tbody tr td:first-child,
	.p5-table tbody tr:nth-child(odd) td:first-child {
		background: #151515;
		border-top: 0;
		border-bottom: 3px solid #FFC107;
	}
	.p5-table tr td:first-child .p5-cat {
		color: #FFC107;
	}
	.p5-table td::before {
		content: attr(data-label);
		font-size: 12px;
		font-weight: 600;
		text-transform: uppercase;
		letter-spacing: .5px;
		color: #888;
	}
	.p5-table td>* {
		justify-self: start;
	}
}

/* rows with school pills: label on its own line, pills use the full row width */
.p5-rows li:has(.school-space) {
	grid-template-columns: minmax(0,1fr);
	gap: 8px;
}

.p5-rows li:has(.school-space)>span {
	display: block;
}

.p5-rows .school-space a span {
	white-space: nowrap;
	font-size: 14px!important;
	line-height: 1.4;
	padding: 4px 10px!important;
}

/* category pages: cards keep their normal width and a short row is centered */
.p5-programs.p5-events {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

.p5-programs.p5-events>li {
	flex: 0 1 calc((100% - 60px) / 3);
}

@media (max-width:1199px) {
	.p5-programs.p5-events>li {
		flex-basis: calc((100% - 30px) / 2);
	}
}

@media (max-width:767px) {
	.p5-programs.p5-events>li {
		flex-basis: 100%;
	}
}

.p5-terms p+p {
	margin-top: 8px;
}

.p5-terms p b {
	display: inline;
	font-size: inherit;
	margin: 0;
}

.p5-itin .p5-checks:not(:last-child) {
	padding-bottom: 18px;
	margin-bottom: 6px;
	border-bottom: 1px solid #e4e7ea;
}

/* itinerary items as boxes (same look as the college boxes) */
.p5-itin .p5-checks {
	gap: 12px 20px;
	margin: 0 16px 16px;
}

.p5-itin .p5-checks li {
	align-items: center;
	gap: 12px;
	padding: 10px 12px;
	background: #fff;
	border: 1px solid #eceef1;
	border-radius: 5px;
	box-shadow: 0 3px 12px rgba(0,0,0,.05);
	color: #333;
	font-weight: 500;
}

.p5-itin .p5-checks li i {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	margin: 0;
	border-radius: 50%;
	background: #f8f8f8;
	font-size: 18px;
}

/* gold bar icon + side lines in white */

/* ==========================================================================
   Home page sections
   ========================================================================== */

.p5-homeimg {
	display: block;
	line-height: 0;
	overflow: hidden;
}

.p5-homeimg img {
	width: 100%;
	transition: transform .4s;
}

.p5-homeimg:hover img {
	transform: scale(1.04);
}

.p5-homecard .p5-pbody {
	padding-bottom: 22px;
}

/* showcase: horizontal card */
.p5-hcard {
	display: grid;
	grid-template-columns: minmax(0,5fr) minmax(0,7fr);
	flex-direction: row;
	margin: 0 0 20px;
}

.p5-hcard:hover {
	transform: none;
}

.p5-hcard-img {
	display: block;
	overflow: hidden;
	line-height: 0;
	min-height: 260px;
}

.p5-hcard-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .4s;
}

.p5-hcard-img:hover img {
	transform: scale(1.04);
}

.p5-hcard-main {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.p5-hcard .p5-pbody {
	padding: 20px 24px 24px;
}

.p5-hcard-btns {
	display: grid;
	grid-template-columns: repeat(2,minmax(0,1fr));
	gap: 12px;
	margin-top: 4px;
}

@media (max-width:991px) {
	.p5-hcard {
		grid-template-columns: minmax(0,1fr);
	}
	.p5-hcard-img {
		min-height: 0;
	}
	.p5-hcard-img img {
		height: auto;
	}
}

@media (max-width:575px) {
	.p5-hcard-btns {
		grid-template-columns: minmax(0,1fr);
	}
}

/* team camp: one large card */
.p5-bigcard {
	max-width: 700px;
	margin: 0 auto 20px;
}

.p5-bigcard:hover {
	transform: none;
}

.p5-bigimg {
	display: block;
	overflow: hidden;
	line-height: 0;
}

.p5-bigimg img {
	width: 100%;
	transition: transform .4s;
	max-height: 460px;
	object-fit: cover;
}

.p5-bigimg:hover img {
	transform: scale(1.03);
}

.p5-bigbody {
	display: grid!important;
	grid-template-columns: auto minmax(0,1fr);
	align-items: center;
	gap: 16px 24px;
	padding: 20px 24px 24px!important;
}

.p5-bigbody .p5-hcard-btns {
	margin: 0;
}

/* team camp buttons: text stays on one line */
.p5-bigbody .p5-hcard-btns a {
	white-space: nowrap;
}

@media (min-width:768px) {
	.p5-bigbody .p5-hcard-btns {
		grid-template-columns: repeat(2,auto);
		justify-content: end;
	}
}

@media (max-width:767px) {
	.p5-bigbody {
		grid-template-columns: minmax(0,1fr);
	}
}

/* multi-part badge (Team Camps intro) */
.p5-intro-multi {
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px 14px;
}

.p5-intro-multi i {
	font-size: 22px;
}

/* clinics & events: image left with date tile, text right */
.p5-ncards {
	list-style: none;
	margin: 0 auto 20px;
	padding: 0;
	max-width: 980px;
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.p5-ncard {
	display: grid!important;
	grid-template-columns: minmax(0,340px) minmax(0,1fr);
	flex-direction: row;
}

.p5-ncard:hover {
	transform: none;
}

.p5-ncard-img {
	position: relative;
	display: block;
	overflow: hidden;
	line-height: 0;
	background: #151515;
}

.p5-ncard-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .4s;
}

.p5-ncard-img:hover img {
	transform: scale(1.04);
}

.p5-ncard-img .p5-tile {
	position: absolute;
	top: 0;
	right: 0;
	border-radius: 0 0 0 5px;
	line-height: 1;
}

.p5-ncard-body {
	padding: 22px 26px;
	display: flex;
	flex-direction: column;
	gap: 8px;
	min-width: 0;
}

.p5-ncard-meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 14px;
	font-size: 13px;
	font-weight: 600;
	color: #888;
	text-transform: uppercase;
	letter-spacing: 1px;
}

.p5-ncard-meta .p5-pill {
	align-self: center;
}

.p5-ncard h3 {
	margin: 0;
	font-size: 22px;
	font-weight: 600;
	line-height: 1.25;
}

.p5-ncard h3 a {
	color: #222;
}

.p5-ncard h3 a:hover {
	color: #0054a6;
}

.p5-ncard p {
	margin: 0;
	color: #555;
	line-height: 1.6;
}

a.p5-ncard-link {
	margin-top: auto;
	padding-top: 4px;
	font-weight: 600;
	font-size: 14px;
	color: #0054a6;
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

a.p5-ncard-link:hover {
	color: #111;
}

@media (max-width:767px) {
	.p5-ncard {
		grid-template-columns: minmax(0,1fr);
	}
	.p5-ncard-body {
		padding: 20px;
	}
}

.p5-ncard.is-over {
	opacity: 1;
}

.p5-ncard.is-over .p5-tile {
	background: #FFC107;
	color: #111;
}

/* home page: room between each section's cards and its blue "View All" button */
.p5-homecard {
	margin-bottom: 0;
}

ul.p5-events:has(.p5-homecard),.p5-bigcard,.p5-ncards {
	margin-bottom: 44px!important;
}

/* Entry Fee row: click to see the 2-payment split */
.p5-rows li.p5-fee {
	display: block;
}

.p5-fee summary {
	display: grid;
	grid-template-columns: 118px minmax(0,1fr);
	gap: 10px;
	cursor: pointer;
	list-style: none;
}

.p5-rows-icons .p5-fee summary {
	grid-template-columns: auto minmax(0,1fr);
}

.p5-fee summary::-webkit-details-marker {
	display: none;
}

.p5-fee summary>b {
	color: #333;
	font-weight: 600;
}

.p5-fee summary>span {
	display: flex;
	align-items: center;
	gap: 8px;
	color: #0054a6;
	font-weight: 500;
}

.p5-fee summary:hover>span {
	color: #111;
}

.p5-fee-caret {
	margin-left: auto;
	font-size: 18px;
	transition: transform .2s;
}

.p5-fee details[open] .p5-fee-caret {
	transform: rotate(180deg);
}

.p5-fee summary:focus-visible {
	outline: 2px solid #FFC107;
	outline-offset: 3px;
	border-radius: 3px;
}

.p5-fee-split {
	list-style: none;
	margin: 12px 0 2px;
	padding: 0;
	display: grid;
	gap: 8px;
}

.p5-rows .p5-fee-split li {
	display: grid;
	grid-template-columns: minmax(0,1fr) auto;
	grid-template-areas: "t a" "d a";
	gap: 0 12px;
	align-items: center;
	background: #fff;
	border: 1px solid #e4e7ea;
	border-radius: 5px;
	padding: 9px 12px;
	margin: 0;
}

.p5-rows .p5-fee-split li+li {
	border-top: 1px solid #e4e7ea;
}

.p5-fee-split b {
	grid-area: t;
	color: #333;
	font-weight: 600;
	font-size: 13px;
}

.p5-fee-split em {
	grid-area: d;
	font-style: normal;
	font-size: 12px;
	color: #777;
}

.p5-fee-split span {
	grid-area: a;
	font-weight: 700;
	color: #111;
	font-size: 15px;
}

/* home showcase: bigger highlight text */
.p5-hcard .p5-note {
	padding-bottom: 18px;
}

.p5-hcard .p5-note b {
	font-size: 22px;
	line-height: 1.15;
	margin-bottom: 0;
}

.p5-hcard .p5-note span {
	font-size: 16px;
	line-height: 1.35;
	margin-top: 2px;
}

@media (max-width:575px) {
	.p5-hcard .p5-note b {
		font-size: 18px;
	}
	.p5-hcard .p5-note span {
		font-size: 15px;
	}
}

/* home page: slightly larger status pills + "Starts in" text */
:is(.p5-homecard,.p5-hcard,.p5-bigcard,.p5-ncard) .p5-pill {
	font-size: 14px;
	padding: 7px 16px 7px 13px;
	gap: 9px;
}

:is(.p5-homecard,.p5-hcard,.p5-bigcard,.p5-ncard) .p5-pill::before {
	width: 9px;
	height: 9px;
}

:is(.p5-homecard,.p5-hcard,.p5-bigcard) .p5-when {
	font-size: 15px;
	margin-top: 6px;
}

/* home slider: live program status */
.p5-slide-status {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 14px;
	margin: 6px 0 14px;
}

.p5-slide-status .p5-pill {
	font-size: 15px;
	padding: 8px 18px 8px 14px;
	gap: 10px;
	box-shadow: 0 2px 10px rgba(0,0,0,.25);
}

.p5-slide-status .p5-pill::before {
	width: 10px;
	height: 10px;
}

.p5-slide-status .p5-when {
	margin: 0;
	font-size: 15px;
	font-weight: 500;
	color: #fff;
	opacity: .9;
	text-shadow: 0 1px 3px rgba(0,0,0,.5);
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

/* white calendar icon before the countdown in the slider */
.p5-slide-status .p5-when::before {
	content: "\e023";
	font-family: 'ElegantIcons';
	font-weight: 400;
	font-size: 1.1em;
	line-height: 1;
	color: #fff;
}

.p5-slide-status .p5-when:empty {
	display: none;
}

.meta a.p5-slide-go {
	background: limegreen;
	margin-right: 0;
}

.meta a.p5-slide-go:hover {
	background: green;
}

.meta a.p5-slide-go[hidden] {
	display: none;
}

/* slider: the dates line already shows start/end, so only keep the "Starts in N days" countdown */
.meta:not([data-status="open"]) .p5-slide-status .p5-when {
	display: none;
}

.p5-slide-status .gold-highlight {
	margin: 0!important;
}

/* slider buttons side by side; phones get a taller slide so nothing is cut off */
.p5-slide-btns {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

@media (max-width:767px) {
	#slider.flexslider li .meta {
		top: 110px!important;
		bottom: auto!important;
		left: 15px;
		right: 15px;
		padding-right: 0;
	}
	#slider.flexslider li .meta h1 {
		font-size: 28px;
		line-height: 1.2;
		margin: 0 0 8px;
	}
	#slider.flexslider li .meta .gold-title {
		font-size: 18px;
		margin: 2px 0 6px;
	}
	#slider.flexslider li .meta .info p {
		margin-bottom: 16px;
	}
	.p5-slide-status {
		margin: 2px 0 12px;
	}
	.p5-slide-status .p5-pill {
		font-size: 13px;
		padding: 6px 14px 6px 11px;
	}
	.p5-slide-status .p5-when {
		font-size: 14px;
	}
}

/* phones: text block sits 50px above the bottom of the slide; lesson line hidden under 575px */
@media (max-width:767px) {
	#slider.flexslider li .meta {
		top: auto!important;
		bottom: 50px!important;
	}
}

@media (max-width:575px) {
	#slider.flexslider li .meta .info {
		display: none!important;
	}
}

#slider.flexslider li .meta .gold-highlight {
	border-radius: 999px;
	padding: 7px 16px;
	font-size: 15px!important;
	line-height: 1.3!important;
	margin-bottom: 10px;
	letter-spacing: .3px;
}

/* larger screens: text block sits lower, just above the thumbnail strip; smaller tagline text */
@media (min-width:768px) {
	#slider.flexslider li .meta {
		bottom: 245px;
	}
}

@media (max-width:767px) {
	#slider.flexslider li .meta .p5-slide-btns {
		margin-top: 14px;
	}
}

/* slider: countdown also shows while registration is closed; tagline text matches the pill size */
.meta[data-status="closed"] .p5-slide-status .p5-when {
	display: inline-flex;
}

@media (max-width:767px) {
	#slider.flexslider li .meta .gold-highlight {
		font-size: 13px!important;
		padding: 6px 14px;
	}
}

/* card countdown badge: on the pill's line, right-justified — blue calendar icon, small label over the bold value */
/* space-between keeps the badge right of the pill; when it wraps it lands on the left under the pill */
.p5-pcard .p5-pbody>div:first-child {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 10px 14px;
}

.p5-pcard .p5-pbody>div:first-child .p5-when.p5-badge {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0 !important;
	white-space: nowrap;
	text-align: left;
}

.p5-pcard .p5-pbody>div:first-child .p5-when.p5-badge::before {
	content: "\e023";
	font-family: 'ElegantIcons';
	font-weight: 400;
	font-size: 24px;
	line-height: 1;
	color: #0054a6;
}

.p5-badge small,.p5-badge b {
	display: block;
	text-transform: uppercase;
}

.p5-badge small {
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .08em;
	line-height: 1.1;
	color: #888;
}

.p5-badge b {
	font-size: 15px;
	font-weight: 800;
	letter-spacing: .02em;
	line-height: 1.15;
	color: #151515;
}

.p5-pcard .p5-pbody>div:first-child .p5-when:empty {
	display: none;
}

/* home Team Camp: badge on its own line under the pill, left-aligned */
.p5-bigcard .p5-pbody>div:first-child .p5-when.p5-badge {
	flex: 1 0 100%;
	margin: 0 !important;
}

/* thin faded divider under the pill + badge (not on the home Team Camp card) */
.p5-pcard:not(.p5-bigcard) .p5-pbody>div:first-child::after {
	content: "";
	flex: 1 0 100%;
	height: 1px;
	margin-top: 4px;
	background: linear-gradient(to right,rgba(0,0,0,0),rgba(0,0,0,.14) 20%,rgba(0,0,0,.14) 80%,rgba(0,0,0,0));
}

/* home Team Camp on phones (buttons stack below): same divider under the badge */
@media (max-width:767px) {
	.p5-bigcard .p5-pbody>div:first-child::after {
		content: "";
		flex: 1 0 100%;
		height: 1px;
		margin-top: 4px;
		background: linear-gradient(to right,rgba(0,0,0,0),rgba(0,0,0,.14) 20%,rgba(0,0,0,.14) 80%,rgba(0,0,0,0));
	}
}

/* programs index + detail pages: pill and countdown match the home page size (registration pages keep the smaller size) */
:is(.p5-programs:not(.p5-events) .p5-pcard,
.p5-detail:not(.p5-reg) .p5-sidecard) .p5-pbody>div:first-child .p5-pill {
	font-size: 14px;
	padding: 7px 16px 7px 13px;
	gap: 9px;
}

:is(.p5-programs:not(.p5-events) .p5-pcard,
.p5-detail:not(.p5-reg) .p5-sidecard) .p5-pbody>div:first-child .p5-pill::before {
	width: 9px;
	height: 9px;
}

:is(.p5-programs:not(.p5-events) .p5-pcard,
.p5-detail:not(.p5-reg) .p5-sidecard) .p5-when {
	font-size: 15px;
	margin-top: 6px;
}

/* slider: status pill line animates in with the other text lines */
#slider.flexslider li .meta .p5-slide-status {
	animation-duration: .6s;
	animation-fill-mode: both;
	animation-name: fadeOut;
}

#slider.flexslider li.flex-active-slide .meta .p5-slide-status {
	animation-delay: .4s;
	animation-duration: .6s;
	animation-fill-mode: both;
	animation-name: fadeInUp;
}

/* programs page achievements: gold heading bars rounded like the pills */
.box_faq h3.gold-highlight-h3 {
	border-radius: 999px;
	padding: 6px 20px 7px;
	font-size: 24px;
	font-weight: 600;
	line-height: 1.2;
	color: #111;
	margin: 0 0 12px;
}

.box_faq {
	padding-left: 58px;
}

.box_faq>i {
	top: 2px;
}

@media (max-width:575px) {
	.box_faq h3.gold-highlight-h3 {
		font-size: 19px;
		padding: 5px 16px 6px;
	}
}

/* ==========================================================================
   Later refinements: home images, slider row, pill sizes, card images
   ========================================================================== */

/* home: gold wipe reveal on the event images (site's block-reveal + WOW) */
:is(.p5-homeimg,.p5-hcard-img,.p5-bigimg) figure.block-reveal {
	margin: 0;
	position: relative;
	overflow: hidden;
	height: 100%;
}

.p5-hcard-img figure.block-reveal img {
	height: 100%;
}

/* slider: gold tagline to the left of the status pill on desktop, below it on smaller screens */
.p5-slide-row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 16px;
	margin: 6px 0 14px;
}

.p5-slide-row .p5-slide-status {
	margin: 0;
}

#slider.flexslider li .meta .p5-slide-row .gold-highlight {
	margin: 0!important;
	animation: none!important;
}

#slider.flexslider li .meta .p5-slide-row {
	animation-duration: .6s;
	animation-fill-mode: both;
	animation-name: fadeOut;
}

#slider.flexslider li.flex-active-slide .meta .p5-slide-row {
	animation-delay: .4s;
	animation-duration: .6s;
	animation-fill-mode: both;
	animation-name: fadeInUp;
}

#slider.flexslider li .meta .p5-slide-row .p5-slide-status {
	animation: none;
}

@media (max-width:991px) {
	.p5-slide-row {
		flex-direction: column;
		align-items: flex-start;
		gap: 12px;
	}
}

/* registration pages: top pill + countdown of the side card match the detail pages (forms list keeps small pills) */
.p5-regside .p5-pbody>div:first-child .p5-pill {
	font-size: 14px;
	padding: 7px 16px 7px 13px;
	gap: 9px;
}

.p5-regside .p5-pbody>div:first-child .p5-pill::before {
	width: 9px;
	height: 9px;
}

.p5-regside .p5-pbody>div:first-child .p5-when {
	font-size: 15px;
	margin-top: 6px;
}

/* event category pages: pill + countdown match the programs page */
.p5-events .p5-pcard .p5-pbody>div:first-child .p5-pill {
	font-size: 14px;
	padding: 7px 16px 7px 13px;
	gap: 9px;
}

.p5-events .p5-pcard .p5-pbody>div:first-child .p5-pill::before {
	width: 9px;
	height: 9px;
}

.p5-events .p5-pcard .p5-pbody>div:first-child .p5-when {
	font-size: 15px;
	margin-top: 6px;
}

/* card status row: pill, then the countdown right-justified on its own line with a faded
   leader line running from the left into a calendar icon ( ———— [cal] Starts in 237 days ) */
/* category pages: event image back on top of each card, with the gold wipe reveal */
.p5-cardimg {
	position: relative;
	display: block;
	line-height: 0;
	overflow: hidden;
}

.p5-cardimg figure.block-reveal {
	margin: 0;
	position: relative;
	overflow: hidden;
}

.p5-cardimg img {
	width: 100%;
	transition: transform .4s;
}

.p5-cardimg:hover img {
	transform: scale(1.04);
}

.p5-cardtag {
	position: absolute;
	left: 20px;
	bottom: 0;
	z-index: 11;
	background: rgba(0,0,0,.8);
	color: #fff;
	font-weight: 600;
	font-size: 20px;
	line-height: 1;
	padding: 10px 16px;
	border-radius: 5px 5px 0 0;
}

/* closed registration panel: everything centered, countdown right under the pill, sidebar sizes */
.p5-closedbox:not([hidden]) {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
}

.p5-closedbox .p5-pill::before {
	width: 9px;
	height: 9px;
}

.p5-closedbox p.p5-when {
	font-size: 15px;
	margin: 8px 0 0;
	max-width: none;
}

/* help boxes above the footer (Event List + category pages): card style like the About feature cards */
a.boxed_list {
	position: relative;
	display: block;
	height: calc(100% - 24px);
	text-align: center;
	background: #fff;
	border: 1px solid #ececec;
	border-top: 4px solid #FFC107;
	border-radius: 7px;
	box-shadow: 0 0 30px rgba(0,0,0,.06);
	padding: 32px 28px 64px;
	margin-bottom: 24px;
	transition: transform .2s ease,box-shadow .2s ease;
}

a.boxed_list:hover {
	transform: translateY(-4px);
	box-shadow: 0 12px 34px rgba(0,0,0,.1);
}

a.boxed_list i {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 70px;
	height: 70px;
	border-radius: 16px;
	background: #151515;
	color: #FFC107;
	font-size: 38px;
	margin-bottom: 18px;
	transition: background .2s ease,color .2s ease;
}

a.boxed_list:hover i {
	background: #FFC107;
	color: #151515;
}

a.boxed_list h4 {
	font-size: 20px;
	font-weight: 700;
	color: #151515;
	margin: 0 0 8px;
}

a.boxed_list p {
	font-size: 15px;
	line-height: 1.6;
	color: #666;
	margin: 0;
}

/* round arrow at the bottom of each box */
a.boxed_list::after {
	content: "\24";
	font-family: 'ElegantIcons';
	position: absolute;
	left: 50%;
	bottom: 20px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	margin-left: -17px;
	border-radius: 50%;
	border: 2px solid #0054a6;
	color: #0054a6;
	font-size: 16px;
	line-height: 1;
	transition: all .2s ease;
}

a.boxed_list:hover::after {
	background: #0054a6;
	color: #fff;
}

@media (max-width:767px) {
	a.boxed_list {
		height: auto;
		margin-bottom: 16px;
	}
}

/* ==========================================================================
   Main menu dropdown (desktop) — card style; the top-level links keep the site's style
   ========================================================================== */

@media only screen and (min-width:992px) {
	.main-menu ul ul {
		min-width: 250px;
		padding: 8px;
		border-top: 3px solid #FFC107;
		border-radius: 7px;
		box-shadow: 0 16px 40px rgba(0,0,0,.18);
	}

	/* little pointer above the card, gold to match the top edge */
	.main-menu ul ul:before {
		border-bottom-color: #FFC107;
	}

	.main-menu ul ul li a,.main-menu ul ul li a.pill-link {
		display: flex;
		align-items: center;
		gap: 10px;
		border-bottom: 0;
		border-radius: 5px;
		padding: 12px 14px !important;
		font-size: 14px;
		font-weight: 500;
		line-height: 1.2;
		color: #333;
		transition: background .2s ease,color .2s ease,box-shadow .2s ease;
	}

	.main-menu ul ul li + li {
		margin-top: 2px;
	}

	/* arrow that slides in on hover */
	.main-menu ul ul li a::after {
		content: "\24";
		font-family: 'ElegantIcons';
		margin-left: auto;
		font-size: 15px;
		color: #b38600;
		opacity: 0;
		transform: translateX(-6px);
		transition: opacity .2s ease,transform .2s ease;
	}

	.main-menu ul ul li:hover > a {
		background: #fffbea;
		color: #151515;
		padding-left: 14px;
		box-shadow: inset 3px 0 0 #FFC107;
	}

	.main-menu ul ul li:hover > a::after {
		opacity: 1;
		transform: translateX(0);
	}

	/* NEW badges as pills */
	.main-menu ul ul li a .badge_info,.main-menu ul ul li a .badge_info_marg {
		top: 0;
		margin: 0 !important;
		border-radius: 999px;
		padding: 4px 9px;
		font-size: 10px;
		letter-spacing: .5px;
	}
}

/* ---------- gold sub-nav bars: white pill links ---------- */
/* filter bar (Programs + Event pages): All / Programs / Showcases / ... */
.filters_listing {
	padding: 12px 0;
}

.filters_listing .switch-field {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	overflow: visible;
}

.filters_listing .switch-field label,.secondary_nav ul li a {
	float: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 0;
	min-height: 40px;
	background: #fff;
	color: #151515;
	border: 0;
	border-radius: 999px !important;
	padding: 10px 20px !important;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .6px;
	text-transform: uppercase;
	line-height: 1;
	box-shadow: 0 2px 6px rgba(0,0,0,.1);
	transition: background .2s ease,color .2s ease,transform .2s ease;
}

.filters_listing .switch-field label:hover,.secondary_nav ul li a:hover {
	color: #151515;
	background: #fffbea;
	transform: translateY(-1px);
}

.filters_listing .switch-field input:checked + label,.secondary_nav ul li a.active {
	background: #151515;
	color: #fff;
	box-shadow: none;
}

/* grid-view button at the right end of the filter bar */
.filters_listing .layout_view {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	margin: 0;
	padding: 0;
	border-radius: 50%;
	box-shadow: 0 2px 6px rgba(0,0,0,.1);
}

.filters_listing .layout_view a {
	line-height: 1;
}

.filters_listing .layout_view a.active {
	color: #151515 !important;
}

/* detail pages: Description / Details links + the round "all programs" button */
.secondary_nav {
	padding: 12px 0;
}

.secondary_nav ul {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
}

.secondary_nav ul li {
	margin: 0;
}

.secondary_nav ul li.p5-subnav-right {
	margin-left: auto !important;
}

.secondary_nav .switch-field label.p5-subnav-icon {
	float: none;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px !important;
	min-width: 40px !important;
	height: 40px;
	padding: 0 !important;
	border: 0;
	border-radius: 50% !important;
	background: #fff;
	color: #151515;
	font-size: 16px;
	box-shadow: 0 2px 6px rgba(0,0,0,.1);
}

.secondary_nav .switch-field label.p5-subnav-icon:hover {
	background: #151515;
	color: #FFC107;
}

.secondary_nav .switch-field label.p5-subnav-icon i {
	margin: 0 !important;
}

@media (max-width:767px) {
	.filters_listing .switch-field {
		justify-content: center;
		gap: 6px;
		padding-bottom: 0;
	}

	.filters_listing .switch-field label,.secondary_nav ul li a {
		min-height: 36px;
		padding: 9px 14px !important;
		font-size: 12px;
		letter-spacing: .4px;
	}

	.secondary_nav .switch-field label.p5-subnav-icon {
		width: 36px !important;
		min-width: 36px !important;
		height: 36px;
	}
}

@media (max-width:420px) {
	.filters_listing .switch-field label {
		padding: 8px 11px !important;
		font-size: 11px;
	}
}

/* ==========================================================================
   About, Gallery, Contact + message pages (success, spam, 404)
   ========================================================================== */

/* section heading: centered title, gold bar, lead text */
.p5-sechead {
	text-align: center;
	max-width: 820px;
	margin: 0 auto 40px;
}

.p5-sechead h2 {
	font-size: 34px;
	font-weight: 700;
	color: #151515;
	margin: 0;
}

.p5-sechead h2::after {
	content: "";
	display: block;
	width: 64px;
	height: 4px;
	border-radius: 999px;
	background: #FFC107;
	margin: 16px auto 18px;
}

.p5-sechead p {
	font-size: 19px;
	font-weight: 400;
	line-height: 1.55;
	color: #666;
	margin: 0;
}

@media (max-width:575px) {
	.p5-sechead {
		margin-bottom: 28px;
	}

	.p5-sechead h2 {
		font-size: 26px;
	}

	.p5-sechead p {
		font-size: 16px;
	}
}

/* ---------- About: feature cards ---------- */
.p5-feats {
	display: grid;
	grid-template-columns: repeat(3,minmax(0,1fr));
	gap: 24px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.p5-feat {
	background: #fff;
	border: 1px solid #ececec;
	border-top: 4px solid #FFC107;
	border-radius: 7px;
	box-shadow: 0 0 30px rgba(0,0,0,.06);
	padding: 30px 28px 26px;
	transition: transform .2s ease,box-shadow .2s ease;
}

.p5-feat:hover {
	transform: translateY(-4px);
	box-shadow: 0 12px 34px rgba(0,0,0,.1);
}

.p5-feat-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 64px;
	height: 64px;
	border-radius: 14px;
	background: #151515;
	color: #FFC107;
	font-size: 34px;
	margin-bottom: 18px;
}

.p5-feat h3 {
	font-size: 18px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .3px;
	color: #151515;
	margin: 0 0 8px;
}

.p5-feat p {
	font-size: 15px;
	line-height: 1.6;
	color: #555;
	margin: 0;
}

@media (max-width:991px) {
	.p5-feats {
		grid-template-columns: repeat(2,minmax(0,1fr));
	}
}

@media (max-width:575px) {
	.p5-feats {
		grid-template-columns: 1fr;
		gap: 16px;
	}

	.p5-feat {
		display: grid;
		grid-template-columns: 54px 1fr;
		column-gap: 16px;
		padding: 20px;
	}

	.p5-feat-icon {
		grid-row: span 2;
		width: 54px;
		height: 54px;
		font-size: 28px;
		margin: 0;
	}
}

/* ---------- About: mission banner ---------- */
/* same space above the mission banner as below the feature cards */
.p5-about-lower {
	padding-top: 95px;
}

@media (max-width:991px) {
	.p5-about-lower {
		padding-top: 35px;
	}
}

@media (max-width:575px) {
	.p5-about-feats {
		padding-bottom: 30px;
	}

	.p5-about-lower {
		padding-top: 30px;
	}
}

.p5-mission {
	display: flex;
	gap: 26px;
	align-items: flex-start;
	background: #151515;
	color: #fff;
	border-radius: 7px;
	border-left: 6px solid #FFC107;
	padding: 34px 38px;
	margin-bottom: 50px;
}

.p5-mission-icon {
	flex: none;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 60px;
	height: 60px;
	border-radius: 50%;
	background: #FFC107;
	color: #151515;
	font-size: 28px;
}

.p5-mission h2 {
	color: #FFC107;
	font-size: 24px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .5px;
	margin: 0 0 8px;
}

.p5-mission p {
	font-size: 19px;
	font-weight: 300;
	line-height: 1.55;
	color: rgba(255,255,255,.9);
	margin: 0;
}

@media (max-width:575px) {
	.p5-mission {
		flex-direction: column;
		gap: 14px;
		padding: 24px 22px;
		margin-bottom: 34px;
	}

	.p5-mission-icon {
		width: 48px;
		height: 48px;
		font-size: 22px;
	}

	.p5-mission p {
		font-size: 16px;
	}
}

/* ---------- About: founder ---------- */
.p5-founder {
	display: grid;
	grid-template-columns: minmax(0,5fr) minmax(0,7fr);
	gap: 44px;
	align-items: start;
}

.p5-founder-img {
	position: relative;
}

.p5-founder-img figure {
	margin: 0;
	border-radius: 7px;
	overflow: hidden;
	box-shadow: 0 12px 34px rgba(0,0,0,.15);
}

.p5-founder-tag {
	position: absolute;
	left: 20px;
	bottom: -18px;
	z-index: 11;
	display: flex;
	flex-direction: column;
	background: #FFC107;
	color: #151515;
	border-radius: 7px;
	padding: 12px 20px;
	line-height: 1.2;
	box-shadow: 0 6px 18px rgba(0,0,0,.18);
}

.p5-founder-tag b {
	font-size: 18px;
	font-weight: 700;
}

.p5-founder-tag em {
	font-style: normal;
	font-size: 12px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 1px;
}

.p5-founder-body p {
	font-size: 15px;
	line-height: 1.7;
	margin-bottom: 18px;
}

.p5-stats-lead {
	font-size: 20px;
	font-weight: 600;
	color: #333;
	margin-bottom: 14px;
}

.p5-statsblock {
	margin-top: 50px;
}

.p5-stats {
	display: grid;
	grid-template-columns: repeat(5,minmax(0,1fr));
	gap: 16px;
	list-style: none;
	margin: 0;
	padding: 0;
}

@media (max-width:1199px) {
	.p5-stats {
		grid-template-columns: repeat(3,minmax(0,1fr));
	}
}

@media (max-width:575px) {
	.p5-statsblock {
		margin-top: 36px;
	}

	.p5-stats {
		grid-template-columns: repeat(2,minmax(0,1fr));
		gap: 10px;
	}

	.p5-stats li:last-child {
		grid-column: span 2;
	}

	.p5-stats li {
		padding: 14px 16px;
	}

	.p5-stats-lead {
		font-size: 17px;
	}
}

.p5-stats li {
	container-type: inline-size;
	display: flex;
	flex-direction: column;
	gap: 4px;
	background: #fffbea;
	border: 1px solid rgba(17,17,17,.12);
	border-radius: 7px;
	padding: 18px 20px;
}

.p5-stats b {
	font-size: clamp(34px,2.4vw + 14px,50px);
	font-weight: 800;
	line-height: 1;
	color: #151515;
}

.p5-stats b::after {
	content: "";
	display: block;
	width: 28px;
	height: 3px;
	border-radius: 999px;
	background: #FFC107;
	margin-top: 8px;
}

.p5-stats span {
	text-wrap: balance;
	font-size: 16px;
	font-size: clamp(14px,9.2cqi,20px);   /* grows with the tile so labels fill up to 2 lines */
	font-weight: 600;
	line-height: 1.25;
	color: #555;
}

.p5-sign {
	color: #888;
}

@media (max-width:991px) {
	.p5-founder {
		grid-template-columns: 1fr;
		gap: 40px;
	}

	.p5-founder-img {
		max-width: 520px;
	}
}

/* ---------- About: call to action ---------- */
.p5-cta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px 30px;
	flex-wrap: wrap;
	background: #fff;
	border: 1px solid #ececec;
	border-radius: 7px;
	box-shadow: 0 0 30px rgba(0,0,0,.06);
	padding: 26px 30px;
	margin-top: 54px;
}

.p5-cta h3 {
	font-size: 24px;
	font-weight: 700;
	margin: 0 0 4px;
}

.p5-cta p {
	margin: 0;
	color: #666;
}

.p5-cta-btns {
	display: flex;
	gap: 12px;
	flex-wrap: wrap;
}

.p5-cta-btns a {
	min-width: 170px;
}

/* tablets: page adds 35px below, so 19px more matches the 54px above */
@media (max-width:991px) {
	.p5-cta {
		margin-bottom: 19px;
	}
}

@media (max-width:575px) {
	.p5-cta {
		padding: 22px 20px;
		margin-top: 40px;
		margin-bottom: 35px;   /* + the page's 5px = same 40px as above */
	}

	.p5-cta-btns,.p5-cta-btns a {
		width: 100%;
	}
}

/* ---------- Gallery: filter chips ---------- */
.p5-gfilter {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
	margin: 0 0 30px;
}

.p5-gfilter button {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	border: 2px solid #e2e2e2;
	background: #fff;
	color: #333;
	border-radius: 999px;
	padding: 9px 18px;
	font-size: 14px;
	font-weight: 600;
	line-height: 1;
	cursor: pointer;
	transition: all .2s ease;
}

.p5-gfilter button:hover {
	border-color: #151515;
}

.p5-gfilter button.is-on {
	background: #151515;
	border-color: #151515;
	color: #fff;
}

.p5-gcount {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 22px;
	height: 22px;
	border-radius: 999px;
	background: #f1f1f1;
	color: #555;
	font-size: 12px;
	padding: 0 6px;
}

.p5-gfilter button.is-on .p5-gcount {
	background: #FFC107;
	color: #151515;
}

/* ---------- Gallery: photo grid ---------- */
.p5-gallery {
	display: grid;
	grid-template-columns: repeat(3,minmax(0,1fr));
	gap: 16px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.p5-gallery li[hidden] {
	display: none;
}

.p5-gallery a {
	position: relative;
	display: block;
	aspect-ratio: 4/3;
	border-radius: 7px;
	overflow: hidden;
	background: #151515;
	box-shadow: 0 0 20px rgba(0,0,0,.08);
}

.p5-gallery img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform .4s ease,opacity .4s ease;
}

.p5-gallery a:hover img {
	transform: scale(1.06);
	opacity: .85;
}

.p5-gcap {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	display: flex;
	flex-direction: column;
	gap: 2px;
	padding: 40px 18px 16px;
	background: linear-gradient(to bottom,transparent,rgba(0,0,0,.85));
	color: #fff;
	line-height: 1.25;
}

.p5-gcap em {
	align-self: flex-start;
	font-style: normal;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .6px;
	background: #FFC107;
	color: #151515;
	border-radius: 999px;
	padding: 4px 10px;
	margin-bottom: 6px;
}

.p5-gcap b {
	font-size: 16px;
	font-weight: 600;
}

.p5-gcap small {
	font-size: 13px;
	color: rgba(255,255,255,.75);
}

.p5-gzoom {
	position: absolute;
	top: 14px;
	right: 14px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: rgba(255,255,255,.95);
	color: #151515;
	font-size: 18px;
	opacity: 0;
	transform: scale(.8);
	transition: all .25s ease;
}

.p5-gallery a:hover .p5-gzoom,.p5-gallery a:focus-visible .p5-gzoom {
	opacity: 1;
	transform: scale(1);
}

@media (max-width:991px) {
	.p5-gallery {
		grid-template-columns: repeat(2,minmax(0,1fr));
	}
}

@media (max-width:575px) {
	.p5-gallery {
		gap: 10px;
	}

	.p5-gcap {
		padding: 30px 10px 10px;
	}

	.p5-gcap em {
		font-size: 9px;
		padding: 3px 8px;
		margin-bottom: 4px;
	}

	.p5-gcap b {
		font-size: 13px;
	}

	.p5-gcap small {
		display: none;
	}
}

/* lightbox fade */
.mfp-fade.mfp-bg {
	opacity: 0;
	transition: opacity .3s ease;
}

.mfp-fade.mfp-bg.mfp-ready {
	opacity: .9;
}

.mfp-fade.mfp-wrap .mfp-content {
	opacity: 0;
	transition: opacity .3s ease;
}

.mfp-fade.mfp-wrap.mfp-ready .mfp-content {
	opacity: 1;
}

.mfp-fade.mfp-bg.mfp-removing,.mfp-fade.mfp-wrap.mfp-removing .mfp-content {
	opacity: 0;
}

/* ---------- Gallery: Instagram ---------- */
.p5-insta {
	background: #fff;
	border-top: 1px solid #ececec;
	padding: 60px 0 0;
}

.p5-insta-head {
	display: flex;
	align-items: center;
	gap: 18px;
	flex-wrap: wrap;
	margin-bottom: 44px;
}

.p5-insta-head > div {
	flex: 1;
	min-width: 220px;
}

.p5-insta-icon {
	flex: none;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	border-radius: 16px;
	background: #151515;
	color: #FFC107;
	font-size: 26px;
}

.p5-insta h2 {
	font-size: 26px;
	font-weight: 700;
	margin: 0 0 2px;
}

.p5-insta h2 a {
	color: #151515;
	border-bottom: 3px solid #FFC107;
}

.p5-insta h2 a:hover {
	color: #0054a6;
}

.p5-insta-feed {
	width: 100%;
}

.p5-insta-head p {
	color: #666;
	margin: 0;
}

.p5-insta-head .p5-go {
	min-width: 160px;
}

/* tablet/phone: "on Instagram" on its own line, room for the gold underline */
@media (max-width:767px) {
	.p5-insta h2 {
		line-height: 1.25;
	}

	.p5-insta h2 a {
		display: inline-block;
		padding-bottom: 2px;
		margin-bottom: 2px;
	}

	.p5-insta-on {
		display: block;
		line-height: 1.1;
	}
}

@media (max-width:575px) {
	.p5-insta {
		padding: 40px 0 0;
	}

	.p5-insta h2 {
		font-size: 21px;
	}

	.p5-insta-head {
		margin-bottom: 30px;
	}

	.p5-insta-head .p5-go {
		width: 100%;
	}
}

/* ---------- Contact: info cards ---------- */
.p5-cinfo {
	display: grid;
	grid-template-columns: repeat(3,minmax(0,1fr));
	gap: 20px;
	list-style: none;
	margin: 0 0 30px;
	padding: 0;
}

.p5-cinfo li {
	display: flex;
	gap: 16px;
	align-items: flex-start;
	background: #fff;
	border: 1px solid #ececec;
	border-radius: 7px;
	box-shadow: 0 0 30px rgba(0,0,0,.05);
	padding: 22px;
}

.p5-cinfo-icon {
	flex: none;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 54px;
	height: 54px;
	border-radius: 50%;
	background: #151515;
	color: #FFC107;
	font-size: 28px;
}

.p5-cinfo h4 {
	font-size: 13px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .8px;
	color: #999;
	margin: 2px 0 4px;
}

.p5-cinfo p {
	font-size: 16px;
	font-weight: 600;
	color: #151515;
	line-height: 1.4;
	margin: 0 0 4px;
}

.p5-cinfo p a {
	color: #151515;
	border-bottom: 2px solid #FFC107;
}

.p5-cinfo a:hover {
	color: #0054a6;
}

.p5-cinfo div > a {
	font-size: 13px;
	font-weight: 600;
	color: #0054a6;
}

.p5-cinfo small {
	font-size: 13px;
	color: #888;
}

@media (max-width:991px) {
	.p5-cinfo {
		grid-template-columns: 1fr;
		gap: 12px;
	}
}

/* ---------- Contact: form + map ---------- */
.p5-contact-grid {
	display: grid;
	grid-template-columns: minmax(0,7fr) minmax(0,5fr);
	gap: 24px;
	align-items: start;
}

/* form heading: black bar across the top of the card */
.p5-formblock {
	overflow: hidden;
}

.p5-formblock .p5-block-title {
	margin: -28px -28px 24px;
	padding: 20px 28px;
	background: #151515;
	color: #fff;
	border-left: 6px solid #FFC107;
}

@media (max-width:767px) {
	.p5-formblock .p5-block-title {
		margin: -20px -20px 20px;
		padding: 16px 20px;
	}
}

.p5-formblock > p {
	color: #666;
	margin-bottom: 22px;
}

.p5-frow {
	display: flex;
	flex-wrap: wrap;
	gap: 0 18px;
}

.p5-field {
	flex: 1 1 100%;
	margin-bottom: 16px;
}

.p5-field.p5-half {
	flex: 1 1 calc(50% - 9px);
	min-width: 220px;
}

.p5-field label {
	display: block;
	font-size: 13px;
	font-weight: 600;
	color: #333;
	margin-bottom: 6px;
}

.p5-req {
	color: #d42020;
}

.p5-form input,.p5-form select,.p5-form textarea {
	display: block;
	width: 100%;
	border: 1px solid #dcdcdc;
	border-radius: 7px;
	background: #fafafa;
	padding: 12px 14px;
	font-size: 15px;
	color: #222;
	line-height: 1.4;
	transition: border-color .2s ease,box-shadow .2s ease,background .2s ease;
}

.p5-form select {
	appearance: none;
	-webkit-appearance: none;
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23333' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
	background-repeat: no-repeat;
	background-position: right 14px center;
	background-size: 14px 10px;
	padding-right: 40px;
}

.p5-form textarea {
	resize: vertical;
	min-height: 140px;
}

.p5-form input:focus,.p5-form select:focus,.p5-form textarea:focus {
	outline: none;
	background-color: #fff;
	border-color: #FFC107;
	box-shadow: 0 0 0 4px rgba(255,193,7,.25);
}

.p5-form .is-invalid {
	border-color: #d42020;
	background-color: #fff7f7;
}

.p5-form .is-invalid:focus {
	box-shadow: 0 0 0 4px rgba(212,32,32,.15);
	border-color: #d42020;
}

.p5-form .is-valid {
	border-color: #6cc56c;
}

.p5-err {
	display: block;
	min-height: 18px;
	font-size: 12px;
	font-weight: 600;
	color: #d42020;
	margin-top: 4px;
}

.p5-fmeta {
	display: flex;
	justify-content: space-between;
	gap: 10px;
}

.p5-count {
	font-size: 12px;
	color: #999;
	margin-top: 4px;
	white-space: nowrap;
}

.p5-form-alert {
	display: flex;
	align-items: center;
	gap: 10px;
	background: #fde4e4;
	color: #a11616;
	border: 1px solid #f3b9b9;
	border-radius: 7px;
	padding: 12px 16px;
	font-size: 14px;
	font-weight: 600;
	margin-bottom: 18px;
}

.p5-form-alert[hidden] {
	display: none;
}

.p5-submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-width: 220px;
	min-height: 50px;
	border: 0;
	border-radius: 25px;
	background: limegreen;
	color: #fff;
	font-size: 15px;
	font-weight: 600;
	padding: 14px 28px;
	cursor: pointer;
	transition: background .3s ease;
}

.p5-submit:hover {
	background: darkgreen;
}

.p5-submit:disabled {
	opacity: .7;
	cursor: wait;
}

.p5-submit.is-busy i {
	display: inline-block;
	width: 16px;
	height: 16px;
	border: 2px solid rgba(255,255,255,.4);
	border-top-color: #fff;
	border-radius: 50%;
	animation: p5-spin .8s linear infinite;
}

.p5-submit.is-busy i::before {
	content: none;
}

@keyframes p5-spin {
	to {
		transform: rotate(360deg);
	}
}

.p5-fine {
	font-size: 12px;
	color: #999;
	margin: 18px 0 0;
}

.p5-mapcard {
	background: #fff;
	border: 1px solid #ececec;
	border-radius: 7px;
	box-shadow: 0 0 30px rgba(0,0,0,.05);
	overflow: hidden;
}

.p5-map {
	display: block;
	width: 100%;
	height: 420px;
	border: 0;
}

.p5-mapfoot {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	padding: 16px 18px;
	border-top: 4px solid #FFC107;
}

.p5-mapfoot div {
	display: flex;
	flex-direction: column;
	font-size: 13px;
	color: #666;
	line-height: 1.4;
}

.p5-mapfoot b {
	font-size: 15px;
	color: #151515;
}

.p5-mapfoot .p5-more {
	flex: none;
	min-height: 42px;
	padding: 10px 18px;
}

/* stacked: the grid gap is the only space between the form and the map,
   and the map card gets the same space below it */
@media (max-width:991px) {
	.p5-contact-grid .p5-formblock {
		margin-bottom: 0;
	}
}

@media (min-width:576px) and (max-width:991px) {
	.p5-contact-grid {
		gap: 35px;   /* the page adds 35px under the map */
	}
}

@media (max-width:575px) {
	.p5-mapcard {
		margin-bottom: 19px;   /* + the page's 5px = the 24px gap above */
	}
}

@media (max-width:991px) {
	.p5-contact-grid {
		grid-template-columns: 1fr;
	}

	.p5-map {
		height: 320px;
	}
}

/* tablet/phone: tighter rows; the error line only takes space when there is an error */
@media (max-width:767px) {
	.p5-field {
		margin-bottom: 14px;
	}

	.p5-field label {
		margin-bottom: 5px;
	}

	.p5-err:empty {
		display: none;
	}

	.p5-fmeta .p5-err:empty {
		display: block;
		min-height: 0;
	}
}

@media (max-width:575px) {
	.p5-submit {
		width: 100%;
	}

	.p5-field.p5-half {
		flex-basis: 100%;
	}

	.p5-mapfoot {
		flex-direction: column;
		align-items: stretch;
	}
}

/* ---------- Message pages: success, spam, 404 ---------- */
.p5-msgpage {
	display: flex;
	align-items: center;
	min-height: 720px;
	padding: 150px 0 90px;
	/* faint repeating Power 5 logo mark on black */
	background-color: #000;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='110' height='110'%3E%3Cg transform='translate(12 12) scale(.085)'%3E%3Cpath fill='%23fff' fill-opacity='.045' d='M62 55h63l63 125h-60z'/%3E%3Cpath fill='%23fff' fill-opacity='.06' fill-rule='evenodd' d='M140 55h270l-120 193h-58l36 97-31 57-102-212h68zM184 110h134l-48 78h-48z'/%3E%3C/g%3E%3Cg transform='translate(67 67) scale(.085)'%3E%3Cpath fill='%23fff' fill-opacity='.045' d='M62 55h63l63 125h-60z'/%3E%3Cpath fill='%23fff' fill-opacity='.06' fill-rule='evenodd' d='M140 55h270l-120 193h-58l36 97-31 57-102-212h68zM184 110h134l-48 78h-48z'/%3E%3C/g%3E%3C/svg%3E");
	background-size: 110px 110px;
}

/* success + spam: About page hero (#hero_in.about) grown to fit the card */
#hero_in.p5-msghero {
	height: auto;
	min-height: 720px;
	text-align: left;
}

#hero_in.p5-msghero .wrapper {
	min-height: 720px;
	padding: 150px 0 90px;
}

#hero_in.p5-msghero .p5-msgcard {
	text-align: center;
	color: #555;
}

/* keep the card's own text sizes (the hero's "#hero_in .wrapper p" rule would make them 24px) */
#hero_in.p5-msghero .wrapper .p5-msgcard p {
	font-size: 17px;
	font-weight: 400;
	line-height: 1.6;
	color: #555;
	margin: 0 0 26px;
}

@media (max-width:575px) {
	#hero_in.p5-msghero .wrapper .p5-msgcard p {
		font-size: 15px;
	}
}

@media (max-width:767px) {
	#hero_in.p5-msghero,#hero_in.p5-msghero .wrapper {
		min-height: 0;
	}

	#hero_in.p5-msghero .wrapper {
		padding: 120px 0 50px;
	}
}

/* page title for screen readers (the card shows it visibly) */
.p5-msgsr {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0,0,0,0);
}

.p5-msgcard {
	max-width: 640px;
	margin: 0 auto;
	background: #fff;
	border-radius: 7px;
	border-top: 6px solid #FFC107;
	box-shadow: 0 24px 60px rgba(0,0,0,.4);
	padding: 44px 40px 40px;
	text-align: center;
}

.p5-msgicon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 84px;
	height: 84px;
	border-radius: 50%;
	font-size: 42px;
	margin-bottom: 14px;
	background: #fff1c4;
	color: #151515;
}

.p5-msg-success .p5-msgicon {
	background: #e3f8e3;
	color: #1e8a1e;
}

.p5-msg-spam .p5-msgicon {
	background: #fde4e4;
	color: #d42020;
}

.p5-msgcode {
	display: block;
	font-size: 54px;
	font-weight: 800;
	line-height: 1;
	text-transform: uppercase;
	color: #151515;
	letter-spacing: 1px;
}

.p5-msgcard h2 {
	font-size: 22px;
	font-weight: 600;
	color: #555;
	margin: 10px 0 14px;
}

.p5-msgcard p {
	font-size: 17px;
	line-height: 1.6;
	color: #555;
	margin: 0 0 26px;
}

.p5-msgbtns {
	display: flex;
	justify-content: center;
	gap: 12px;
	flex-wrap: wrap;
}

.p5-msgbtns a {
	min-width: 200px;
}

.p5-msglinks {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px;
	list-style: none;
	border-top: 1px solid #eee;
	margin: 28px 0 0;
	padding: 22px 0 0;
}

.p5-msglinks a {
	display: inline-block;
	border-radius: 999px;
	background: #f4f4f4;
	color: #333;
	font-size: 13px;
	font-weight: 600;
	padding: 7px 14px;
}

.p5-msglinks a:hover {
	background: #FFC107;
	color: #151515;
}

@media (max-width:575px) {
	.p5-msgpage {
		min-height: 0;
		padding: 120px 0 50px;
	}

	.p5-msgcard {
		padding: 34px 22px 28px;
	}

	.p5-msgcode {
		font-size: 42px;
	}

	.p5-msgcard p {
		font-size: 15px;
	}

	.p5-msgbtns a {
		width: 100%;
	}
}

/* ==========================================================================
   Converted inline styles (from the original page markup)
   (!important keeps the same priority the inline style had)
   ========================================================================== */

.p5-achv-banner {
	text-transform: uppercase !important;
	line-height: 22px !important;
	text-align: center !important;
	display: block !important;
}

.p5-achv-banner-title {
	font-size: 22px !important;
	line-height: 30px !important;
}

.p5-center {
	text-align: center !important;
}

.p5-hero-flat {
	border-bottom: none !important;
}

.p5-pad-chip {
	padding: 2px 8px !important;
}

.p5-social-feed {
	padding: 2px !important;
	background-color: none !important;
	margin-top: 40px !important;
	margin-bottom: 0px !important;
	border: 1px solid #fff !important;
}

.p5-subnav-icon {
	border-radius: 4px !important;
	min-width: 35px !important;
	width: 35px !important;
}

.p5-subnav-right {
	float: right !important;
	margin-right: 0px !important;
}

.p5-upper {
	text-transform: uppercase !important;
}

.p5-white {
	color: #fff !important;
}
