.program_block-entry {
	margin: 0 auto;
	padding: 0;
	max-width: 1200px;
	width: 100%;
}

/* When block has wide alignment, use 1200px max-width */
.alignwide .program_block-entry {
	max-width: 1200px;
	width: 100%;
	margin: 0 auto;
}

/* When block has full alignment, use 100% width */
.alignfull .program_block-entry {
	max-width: 100%;
	width: 100%;
}

.ast-container .entry-content li,
.program_block-entry ul {
	margin-left: 0 !important;
	margin-bottom: 0;
}

.ast-container .entry-content ul {
	padding-left: 0 !important;
}

.program_block-entry ul li {
	list-style-type: none;
	/* Remove bullets */
}

.program_block-list {
	list-style-type: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	width: auto;
}

.program_block-item {
	flex: 1 1 calc(50% - 20px);
	/* Create two columns with space between */
	margin: 0;
	background-color: #fff;
}

/* For Grouped Parents */
.program_block-grouped {
	max-width: 1200px;
	display: flex;
	flex-wrap: nowrap;
	padding: 2em;
	gap: 2em;
	border-radius: var(--umbc-radius-sm, 4px);
	margin-bottom: 20px;
	background-color: #fff;
	align-items: flex-start;
	border: 1px solid #eee;
	margin-top: 0;
}

.program_block-grouped li,
.program_block-grouped ul,
.program_block-children,
.program_block-children ul li {
	margin-top: 0;
	padding-top: 0;
}

.program_block-grouped .program_block-item {
	border: 0;
}

.program_block-grouped .program_block-parent {
	flex: 1 1 40%;
	/* Parent takes 1/3 of the space */
}

.program_block-grouped .program_block-children {
	flex: 1 1 60%;
}

.program_block-title {
	font-size: 24px;
	font-weight: 700;
	margin-bottom: 8px;
	text-align: left;
}

.program_block-title h3 {
	margin-bottom: 8px;
	font-size: 24px;
	font-weight: 700;
}

.program_block-title h3 a {
	text-align: left;
}

.program_block-contact,
.program_block-deadline,
.program_block-schedule,
.program_block-catalog,
.program_block-deadline b,
.program_block-deadline p,
.program_block-application_requirements p,
.program_block-contact p,
.program_block-term p,
.program_block-schedule p,
.parent-content-right {
	font-size: 14px;
	font-weight: 500;
	line-height: 20px;
}

.program_block-children li h3 a {
	font-size: 18px;
	font-weight: 600;
}

.program_block-children li .program_block-title h3 a {
	color: #007176;
	text-decoration: none;
	font-size: 24px;
	font-weight: 700;
	line-height: 28px;
}

.program_block-overview-header a:hover {
	text-decoration: underline;
}

.program_block-intro {
	font-size: 18px;
	margin-bottom: 8px;
	color: #333;
}

.program_block-degree-tag {
	font-size: 18px;
	font-weight: 600;
}

.program_block-area-of-study,
.program_block-location,
.program_block-department,
.program_block-college,
.program_block-designation,
.program_block-term,
.program_block-schedule,
.program_block-catalog,
.program_block-application_requirements,
.designation {
	margin-top: 16px;
	font-size: 14px;
	font-weight: 500;
	color: #333;
	width: 100%;
}

.program_block-application_requirements {
	display: block;
	width: 100%;
}

.label,
.program_block-deadline h4,
.program_block-deadline h3 {
	font-size: 14px;
	font-weight: 700;
	display: flex;
	line-height: 20px;
	margin-top: 16px;
	margin-bottom: 8px;
}

/* The label specifically in application requirements */
.program_block-application_requirements > .label {
	font-size: 14px;
	font-weight: 700;
	display: block;
	line-height: 20px;
	margin-top: 0;
	margin-bottom: 12px;
}

.label:first-of-type,
.program_block-children div:first-of-type,
.callout-box div:first-of-type {
	margin-top: 0;
}


.program_block-expander .callout-box p {
	margin: 0 !important;
}

.program_block-expander .label {
	margin: 1em 0 .25em 0 !important;
}

.program_block-pagination {
	text-align: center;
	margin-top: 20px;
	font-size: 24px;
	font-weight: 700;
}

.program_block-pagination a {
	color: #007176;
	font-weight: 700;
	text-decoration: none;
	padding: 4px 8px;
}

.program_block-pagination a:hover {
	text-decoration: underline;
}

.program_block-item.single {
	flex-basis: 100%;
}

.program_block-deadline .student-type {
	font-size: 14px;
	margin-left: 1em;
	line-height: 30px;
	margin-bottom: 0;
}

.program_block-deadline ul {
	margin-left: 2em !important;
}

/* Simplified requirements content wrapper */
.program_block-application_requirements .requirements-content {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	line-height: 1.8;
	font-size: 14px;
	font-weight: 500;
	color: #333;
}

/* Strong/bold text within requirements */
.program_block-application_requirements strong,
.program_block-application_requirements b {
	font-weight: 700;
	display: inline;
}

/* Italic text within requirements */
.program_block-application_requirements em,
.program_block-application_requirements i {
	font-style: italic;
	display: inline;
}

/* Links within requirements */
.program_block-application_requirements a {
	color: #007176;
	text-decoration: underline;
}

.program_block-application_requirements a:hover {
	text-decoration: none;
}

/* Line breaks */
.program_block-application_requirements br {
	display: block;
	content: "";
	margin: 0.25em 0;
}

.program_block-deadline ul li {
	font-size: 12px;
	list-style: disc;
	text-align: left;
}

.program_block-expander {
	margin: 1em 0;
}

.program_block-expander-summary {
	cursor: pointer;
	height: 50px;
	font-size: 24px;
	font-weight: 600;
	padding: 10px 20px;
	background-color: #f0f0f0;
	display: flex;
	justify-content: space-between;
	align-items: center;
	/* Ensures vertical alignment */
	position: relative;
}

.program_block-expander-summary::after {
	content: '\25b6\fe0e';
	/* Unicode for a right-pointing triangle */
	font-size: 18px;
	margin-left: auto;
	transition: transform 0.3s ease;
}

.program_block-expander[open] .program_block-expander-summary::after {
	transform: rotate(90deg);
	/* Rotate the arrow when the expander is open */
}

.program_block-expander.open .program_block-expander-summary {
	background-color: #e0e0e0;
}

ul.program_block-list:has(.program_block-expander) {
	display: block;
}

.program_block-expander-content {
	margin-top: 0;
	padding: 0;
}

/* Parent Row Full-Width Layout (Option 1) */
.parent-row {
	display: flex;
	justify-content: space-between;
	margin-bottom: 2rem;
	gap: 2em;
}

.parent-content-left {
	width: 66.66%;
}

.parent-content-right {
	width: 33.33%;
}

/* Control spacing between different groups (label + paragraphs) */
.program_block-deadline-group p {
	margin: 0;
	/* Remove default margins for all paragraphs */
	padding: 0;
	/* Remove padding for consistency */
	line-height: 20px;
}

/* Add a 24px gap between the section label (the first p with label) and the previous section */
.program_block-deadline-group span:first-of-type {
	margin-top: 24px;
	/* 24px gap between this label and the section above */
}

/* Add a 24px gap between each label (semester) and the admission type section */
.program_block-deadline-group>span:not(:first-of-type) {
	margin-top: 24px;
	/* Ensure a 24px gap between each label and the next set of paragraphs */
}

/* Reduce the gap between the label and its related paragraphs */
.program_block-deadline-group .parent-deadline {
	margin-top: 0px;
	/* Smaller gap between the label and the paragraph */
	margin-bottom: 4px;
	/* Smaller gap between paragraphs */
}

/* Callout box styles */
.callout-box {
	background-color: #f3f3f3;
	padding: 1.5em;
	border-radius: var(--umbc-radius-sm, 4px);
	margin-bottom: 1em;
	display: flex;
	flex-direction: column;
}

.callout-box > div {
	margin-top: 0;
}

.callout-box > div:not(:first-child) {
	margin-top: 12px;
}

/* Hide the default Safari arrow */
summary::-webkit-details-marker {
	display: none !important;
}

summary {
	font-family: inherit;
}

.callout-box p {
	margin-left: 0;
	margin-right: 0;
}

.callout-box p:last-of-type {
	margin-bottom: 0;
}

/* Button Row */
.button-row {
	display: flex;
	justify-content: flex-start;
	gap: 1em;
}

/* Button Column (stacked vertically) */
.button-col {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.5em;
	margin-top: 1em;
}

.program_block-grouped .program-button, .program-button {
	background-color: #007176 !important;
	padding: 8px 16px;
	border-radius: var(--umbc-radius-sm, 4px);
	border: 0; 
	color: #fff;
	font-weight: 700;
	font-size: 14px;
	text-align: center;
	text-decoration: none;
	display: inline-block;
}

.program-button:hover {
	background-color: #ffffff;
	color: #222;
	text-decoration: none;
}


/* Program Cards */
.program_block-children .program_block-item {
	border: 1px solid #007176;
	border-radius: var(--umbc-radius-lg, 12px);
	padding: 2em;
	margin-bottom: 24px;
	width: 100%;
	box-sizing: border-box;
}

.program_block-children .program_block-item > div {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}

.program_block-children .program_block-item:only-child {
	width: 100%;
	max-width: 100%;
	/* Ensure it takes the full width */
}

.program-card h4 {
	color: #007176;
	margin-bottom: 0.5rem;
}

.parent-content-left-full {
	width: 100%;
}

.program_block-degree-tag-container {
	height: 30px;
	/* Set a fixed height for the container */
	display: flex;
	/* Enable flex layout */
	align-items: center;
	/* Vertically center the degree tag */
}

.program_block-text-sm {
	font-size: 0.875rem;
}

.program_block-degree-tag {
	display: inline-block;
	/* Allows the tag to have its own intrinsic width */
	background-color: #f3f3f3;
	color: #444;
	border-radius: 2px 4px 4px 2px;
	/* Ensures fully rounded corners */
	text-transform: capitalize;
	line-height: normal;
	/* Reset line-height to default */
	padding: 8px 10px;
	/* Adjust padding as needed */
	height: auto;
	/* Allow the tag to adjust its height based on content */
	text-decoration: none;
	font-size: 12px;
	font-weight: 450;
	visibility: visible;
	/* Ensures the tag is visible */
	position: relative;
	/* Needed for positioning the ::before pseudo-element */
	overflow: hidden;
	/* Ensures the before pseudo-element doesn't overflow */
	margin: 1em 0;
	cursor: pointer;
}

#degree-graduate {
	border-left: solid 4px #252525;
}

#degree-undergraduate {
	border-left: solid 4px #fdb515;
	/* Left edge color for undergraduate tags */
}

.program_block-degree-tag:hover {
	cursor: pointer;
}

/* Style for hidden degree tags */
.program_block-degree-tag.hidden {
	visibility: hidden;
	/* Hide but maintain space */
}

.program_block-grouped ul {
	display: flex;
	flex-wrap: wrap;
	gap: 24px;
	/* Adjust as needed */
	list-style: none;
	/* Removes default bullet points if any */
	padding: 0;
	/* Removes default padding if any */
	margin: 0;
	/* Removes default margin if any */
}

.program_block-grouped ul li {
	flex: 1 1 calc(48%);
	/* 45% width of the container to allow room for the gap */
	max-width: 48%;
	/* Ensure items don't exceed half the container */
	box-sizing: border-box;
}


/* Contacts Container */
.program_block-contact {
	margin: 2em 0;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 24px;
	max-width: 100%;
	/* Adjust width as needed */
}

/* Individual Contact Group */
.program-contact-group {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	min-width: 200px;
	/* Flex properties to handle different widths */
	flex: none;
	order: 0;
	flex-grow: 0;
}

/* Header/Label Styling (Main Contact, Program Director, etc.) */
.program-contact-group .label {
	font-family: 'Inter', sans-serif;
	font-weight: 700;
	font-size: 12px;
	line-height: 15px;
	color: #000000;
}

/* Contact Info (Name, Phone, Email) */
.program-contact-group .contact-info {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

/* Name Styling */
.program-contact-group .contact-name {
	font-family: 'Inter', sans-serif;
	font-weight: 400;
	font-size: 12px;
	line-height: 22px;
	color: #000000;
}

/* Phone Styling */
.program-contact-group .contact-phone {
	font-family: 'Inter', sans-serif;
	font-weight: 400;
	font-size: 12px;
	line-height: 22px;
	color: #000000;
}

/* Email Styling */
.program-contact-group .contact-email a {
	font-family: 'Inter', sans-serif;
	font-weight: 400;
	font-size: 12px;
	line-height: 18px;
	color: #007176;
	text-decoration: none;
}

.program-contact-group .contact-email a:hover {
	text-decoration: underline;
}

/* =============================================================
   Dark Mode — Program Block
   ============================================================= */

/* Base item and grouped card surfaces */
[data-theme="dark"] .program_block-item {
    background-color: var(--umbc-surface-card, #2d2d2d);
}

[data-theme="dark"] .program_block-grouped {
    background-color: var(--umbc-surface-card, #2d2d2d);
    border-color: var(--umbc-border, #3d3d3d);
}

/* Child program cards */
[data-theme="dark"] .program_block-children .program_block-item {
    border-color: #007176;
    background-color: var(--umbc-surface-card, #2d2d2d);
}

/* Body / intro text */
[data-theme="dark"] .program_block-intro {
    color: #c0c0c0;
}

[data-theme="dark"] .program_block-area-of-study,
[data-theme="dark"] .program_block-location,
[data-theme="dark"] .program_block-department,
[data-theme="dark"] .program_block-college,
[data-theme="dark"] .program_block-designation,
[data-theme="dark"] .program_block-term,
[data-theme="dark"] .program_block-schedule,
[data-theme="dark"] .program_block-catalog,
[data-theme="dark"] .program_block-application_requirements,
[data-theme="dark"] .designation {
    color: #c0c0c0;
}

[data-theme="dark"] .program_block-application_requirements .requirements-content {
    color: #c0c0c0;
}

/* Title links — teal stays readable on dark */
[data-theme="dark"] .program_block-children li .program_block-title h3 a {
    color: #00a8af;
}

[data-theme="dark"] .program-card h4 {
    color: #00a8af;
}

/* Expander summary header */
[data-theme="dark"] .program_block-expander-summary {
    background-color: var(--umbc-surface-card, #2d2d2d);
    color: #e0e0e0;
}

[data-theme="dark"] .program_block-expander.open .program_block-expander-summary {
    background-color: #333;
}

/* Callout box */
[data-theme="dark"] .callout-box {
    background-color: var(--umbc-surface-card, #2d2d2d);
}

/* Degree tag pills */
[data-theme="dark"] .program_block-degree-tag {
    background-color: var(--umbc-surface-card, #2d2d2d);
    color: #c0c0c0;
}

/* Graduate tag: dark left border — stays as-is on dark surface */
/* Undergraduate tag: gold left border — gold on dark bg is valid */

/* Contact group labels and names */
[data-theme="dark"] .program-contact-group .label {
    color: #e0e0e0;
}

[data-theme="dark"] .program-contact-group .contact-name,
[data-theme="dark"] .program-contact-group .contact-phone {
    color: #c0c0c0;
}

[data-theme="dark"] .program-contact-group .contact-email a {
    color: #00a8af;
}

/* Teal links throughout */
[data-theme="dark"] .program_block-application_requirements a {
    color: #00a8af;
}

[data-theme="dark"] .program_block-pagination a {
    color: #00a8af;
}

/* Program button: teal bg + white text — stays readable */
[data-theme="dark"] .program-button:hover {
    background-color: var(--umbc-surface-card, #2d2d2d) !important;
    color: #e0e0e0;
}

/* Additional media query for responsiveness */
@media (max-width: 991px) {
	.program_block-grouped ul li {
		max-width: 100% !important;
	}
	
	.program_block-grouped h3 {
		font-size: 20px;
		line-height: 24px;
	 }

	.program_block-item {
		flex: 1 1 100%;
		/* Stack in one column on smaller screens */
	}

	.program_block-grouped {
		flex-direction: column;
		/* Stack parent and children vertically on smaller screens */
	}

	.program_block-grouped .program_block-parent,
	.program_block-grouped .program_block-children {
		flex: 1 1 100%;
		/* Full width for both parent and children */
		padding-right: 0;
		padding-left: 0;
		border-left: none;
		/* Remove the separator */
	}

	.program_block-grouped {
		flex-direction: column;
	}

	.program_block-parent,
	.program_block-children {
		flex: 1 1 100%;
		margin-right: 0;
	}

	.parent-row {
		flex-direction: column;
	}

	.parent-content-left,
	.parent-content-right {
		width: 100%;
	}

	.program-card {
		flex: 1 1 100%;
	}

}