/* Department CSS Document */
/*For mobile first adaptive design place styles for mobile and up in the mobile and up area.
Place styles for tablet and up inside the media query in the tablet and up area.
Place styles for desktop only inside the media query in the desktop only area.

For questions or media query training contact Web Development Services.
/* ====================== Mobile and Up ========================== */

/* START ---------------------------- PSB Page ---------------------------- */


/*------- HEADER -------*/
/* REMOVE SPACE AND BORDER ON HERO IMAGES. USE ON HOME PAGES THAT HAVE A BANNER FLUSH WITH THE HERO */
.fullbleed:has(+ [class*='bg-']) {
	margin-bottom: 0;
	border-bottom: none;
}

.page-header.fullbleed:before {
	content: '';
	width: 100%;
	height: 100%;
	background: revert;
	position: absolute;
	top: 0;
	left: 0;
	opacity: 0.8;
	z-index: 0;
}

.jumbo.fullbleed header p {
	margin-bottom: 0;
	font-size: 18px;
}

.page-header {
	border-bottom: none;
}


/*--------------- CUSTOM ACCORDION ---------- */

.accordion-unstyled > .accordion-summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	cursor: pointer;
}


.accordion-unstyled > .accordion-summary h3 {
	margin: 0;
}

.accordion-unstyled > div {
	margin-top: 1rem;
}

.accordion-indicator {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	flex-shrink: 0;
	color: #C5D97A;
	font-family: "Rajdhani", sans-serif;
	text-transform: uppercase;
	white-space: nowrap;
}

/* Size and color of the SVG */
.accordion-icon {
	width: 2rem;
	height: 2rem;
	fill: #C5D97A;
	transition: transform 0.2s ease;
}

.accordion-unstyled[open] .accordion-icon {
		transform: rotate(180deg);
	}

/* Label hidden by default on mobile*/
.accordion-unstyled .accordion-label {
    display: none;
  }



/* Optional keyboard-focus treatment */
.accordion-unstyled > summary:focus-visible {
	outline: 2px solid #fff;
	outline-offset: 4px;
}

/*------- SPONSOR CARDS -------*/

.card-picture.program {
	border-radius: 8px;
	border: 2px solid #C5D97A;
}


.table-sponsors ul {
	list-style-type: none;
	padding: 0;
	margin: 0;
}
/*------- FONTS -------*/

@import url('https://fonts.googleapis.com/css2?family=Audiowide&family=Pirata+One&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Audiowide&family=PT+Serif:ital,wght@0,400;0,700;1,400;1,700&family=Pirata+One&display=swap');

.pirata-one {
	font-family: "Pirata One", system-ui;
	font-weight: 400;
	font-style: normal;
}

.text-48 {
	font-size: 35px;
}

.pt-serif {
	font-family: "PT Serif", serif;
}

.paper-bg {
	background-color: #fffae7;
}

.paper-text {
	color: #fffae7;
}

.green-text {
	color: #3f5d40;
}

.tp-left-align {
	text-align: center;
}

.tp-right-align {
	text-align: center;
}


/*------- BACKGROUNDS -------*/

.bg-light {
	background-color: #3f5d40;
}

.bg-dark-green {
	background-color: #1A321C;
}


/*------- BUTTONS -------*/

.gold-button {
	background-color: #091a0d; /* Dark green button background */
	color: #fffae7;
	padding: 10px 25px;
	margin: 10px 0px;
	border-radius: 50px;
	border: 4px solid transparent;
	background-clip: padding-box, border-box;
	background-origin: border-box;
	background-image: 
		linear-gradient(#091a0d, #091a0d), /* inner fill */
		linear-gradient(to right, #d4af37, #f7e98e, #d4af37); /* gold border */
	background-clip: padding-box, border-box;
	transition: all 0.3s ease;
	text-decoration: none;
	display: flex;
	justify-content: center;
	align-items: center;
	font-weight: bold;
}

.gold-button:hover {
	color: #3f5d40;
	background-image: 
		linear-gradient(to top right, #d4af37, #f7e98e, #d4af37), /* inner fill */
		linear-gradient(to right, #d4af37, #f7e98e, #d4af37); /* gold border */
	text-decoration: none;
}

.gold-button-give {
	background-color: #091a0d; /* Dark green button background */
	color: #fffae7;
	padding: 10px 25px;
	margin: 10px 0px;
	border-radius: 50px;
	border: 4px solid transparent;
	background-clip: padding-box, border-box;
	background-origin: border-box;
	background-image: 
		linear-gradient(#091a0d, #091a0d), /* inner fill */
		linear-gradient(to right, #d4af37, #f7e98e, #d4af37); /* gold border */
	background-clip: padding-box, border-box;
	transition: all 0.3s ease;
	text-decoration: none;
	font-weight: bold;
}

.gold-button-give:hover {
	color: #3f5d40;
	background-image: 
		linear-gradient(to top right, #d4af37, #f7e98e, #d4af37), /* inner fill */
		linear-gradient(to right, #d4af37, #f7e98e, #d4af37); /* gold border */
	text-decoration: none;
}


gold-gradient-text{
	background-color: linear-gradient(to top right, #d4af37, #f7e98e, #d4af37);
}


/*------- IMAGES -------*/

.flower-divider {
	width: 75%;
}

/*------- MARGINS & PADDING -------*/

.margin-1 {
	margin-top: -1px;
}

.page-tear {
	margin-top: -38px;
}

.page-tear-section {
	margin-top: -20px;
}

.flower-accent {
	background-image: url('/advancement/images/accent-letter.png')
}

.title-accent {
	margin-top: -90px;
}

.text-frame {
	margin-top: -190px;
	margin-bottom: 100px;
}

.text-frame-2 {
	margin-top: -170px;
	margin-bottom: 100px;
}

#numbers-padding {
	margin-bottom: 40px;
}

.no-flex-wrap {
	flex-wrap: nowrap !important;
}

.student-support-buttons {
	margin-top: -150px;
}

.section-7-padding {
	padding-top: 70px;
	padding-bottom: 120px;
}




/*---------------------------- START TOGGLE BUTTON ----------------------------*/
/* Button container */
.menu-buttons {
	display: flex;
	justify-content: space-around;
}

.btn {
	display: inline-block;
	padding: 12px 28px;
	font-weight: bold;
	font-size: 18px;
	border-radius: 50px;
	border: 2px solid transparent;
	margin: 0 10px;
	cursor: pointer;
	transition: all 0.3s ease;
	background-clip: padding-box, border-box;
	background-origin: border-box;
}

/* Default (inactive) button */
.btn-active {
	background-color: #091a0d; /* Dark green button background */
	color: #3f5d40;
	padding: 10px 25px;
	margin: 10px 0px;
	border-radius: 50px;
	border: 4px solid transparent;
	background-clip: padding-box, border-box;
	background-origin: border-box;
	background-image: 
		linear-gradient(to top right, #d4af37, #f7e98e, #d4af37), /* inner fill */
		linear-gradient(to right, #d4af37, #f7e98e, #d4af37); /* gold border */
	transition: all 0.3s ease;
	text-decoration: none;
	font-weight: bold;
}

/* Active button */
.btn-default {
	background-color: #091a0d; /* Dark green button background */
	color: #fffae7;
	padding: 10px 25px;
	margin: 10px 0px;
	border-radius: 50px;
	border: 4px solid transparent;
	background-clip: padding-box, border-box;
	background-origin: border-box;
	background-image: 
		linear-gradient(#091a0d, #091a0d), /* inner fill */
		linear-gradient(to right, #d4af37, #f7e98e, #d4af37); /* gold border */
	background-clip: padding-box, border-box;
	transition: all 0.3s ease;
	text-decoration: none;
	font-weight: bold;
}

/* Menu content area */
.menu-content {
	text-align: left;
	margin: 30px auto;
	max-width: 600px;
}

.menu-content h2 {
	font-family:  "Pirata One", system-ui;
	font-size: 26px;
	margin-top: 25px;
	color: #fffae7;
}

.menu-content h3 {
	font-style: italic;
	font-family: "PT Serif", serif;
	font-size: 20px;
	font-weight: bold;
	margin: 8px 0 5px;
	color: #fffae7;
}

.menu-content p {
	font-size: 15px;
	margin-bottom: 12px;
	color: #fffae7;
}

.note {
	font-size: 14px;
	margin-bottom: 20px;
	color: #fffae7;
	font-style: italic;
}
/*---------------------------- END TOGGLE BUTTON ----------------------------*/


/*---------------------------- START TEXT ON IMAGE ----------------------------*/

.accent-container {
	position: relative;
	text-align: center;
	color: white;
}

.centered-text {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 100%
}

/*---------------------------- END TEXT ON IMAGE ----------------------------*/

/* Tonight's Performances Section */

#tonights-performances-title {
	font-size: 28px;	
}

#tonights-performances-accent {
	margin-top: -78px;
}


.accent-container {
	position: relative;
	text-align: center;
}

.accent-container-text {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

/*------- WIDTHS -------*/

.accent-frame-width {
	width: 90%;
}

/*------- BORDER RADIUS -------*/

.circle-border {
	border-radius: 50%;
}

/*------- FLEX FORMATTING -------*/

.column-reverse {
	flex-direction: column-reverse;
}

/*---------------------------- START - HAMBURGAR MENU ----------------------------*/


/* --- HAMBURGER ICON --- */
.hamburger {
	display: none;
	flex-direction: column;
	justify-content: space-between;
	width: 25px;
	height: 18px;
	cursor: pointer;
}

.hamburger span {
	display: block;
	height: 3px;
	background: #ffd700;
	border-radius: 2px;
	transition: all 0.3s ease;
}

/* --- MOBILE MENU --- */
@media (max-width: 768px) {
	.nav-links {
		display: none;
		flex-direction: column;
		position: absolute;
		top: 65px;
		right: 0;
		width: 100%;
		background-color: #0d2d1d;
		border-top: 2px solid #daa520;
		text-align: center;
		padding: 15px 0;
	}

	.nav-links.active {
		display: flex;
	}

	.hamburger {
		display: flex;
	}
}

/* Optional animation for hamburger transform */
.hamburger.active span:nth-child(1) {
	transform: translateY(7.5px) rotate(45deg);
}

.hamburger.active span:nth-child(2) {
	opacity: 0;
}

.hamburger.active span:nth-child(3) {
	transform: translateY(-7.5px) rotate(-45deg);
}

/*---------------------------- END - HAMBURGAR MENU START ----------------------------*/

.border-radius-8 {
	border-radius: 8px;
}

/*End mobile and up styles*/
/* ====================== Tablet and Up (Overrides Mobile Styles) ========================== */
@media only screen and (min-width: 768px) {

	/* START ---------------------------- PSB Page ---------------------------- */

	.jumbo header h1 {
		font-size: 58px;
	}

	.text-48 {
		font-size: 48px;
	}

	.tp-left-align {
		text-align: left;
	}

	.tp-right-align {
		text-align: right;
	}

	/*------- IMAGES -------*/
	.flower-divider {
		width: 50%;
	}

	/*------- MARGINS -------*/

	.page-tear-section {
		margin-top: -10px;
	}

	#numbers-padding {
		margin-bottom: 80px;
	}

	.text-frame {
		margin-top: -185px;
		margin-bottom: 85px;
	}

	.text-frame-2 {
		margin-top: -160px;
		margin-bottom: 100px;
	}

	.accent-frame-width {
		width: 100%;
	}

	/*------- FLEX FORMATTING -------*/

	.column-reverse {
		flex-direction: row;
	}
	
	.accordion-label-expand {
		display: inline;
	}

	/* Open state */
	.accordion-unstyled .accordion-label-expand {
		display: inline;
	}
	
	.accordion-unstyled .accordion-label-collapse {
		display: none;
	}
	
	.accordion-unstyled[open] .accordion-label-expand {
		display: none;
	}

	.accordion-unstyled[open] .accordion-label-collapse {
		display: inline;
	}
	




}
/*end media query*/
/*End tablet and up styles*/
/* ====================== Landscape Tablet and Up (Overrides Mobile Styles) ========================== */
@media only screen and (min-width: 992px) {

	/*------- MARGINS -------*/

	.page-tear {
		margin-top: -55px;
	}

	/* Tonight's Performances Section */

	#tonights-performances-title {
		font-size: 36px;	
	}

	#tonights-performances-accent {
		margin-top: -80px;
	}

	/*------- WIDTHS -------*/

	.accent-frame-width {
		width: 75%;
	}

}

/*end media query*/
/*End landscape tablet and up styles*/
/* ====================== Desktop Only (Overrides Mobile and Tablet Styles) ========================== */
@media only screen and (min-width: 1200px) {



}

/*end media query*/
/*End desktop only styles*/
/*END OF DOCUMENT*/
