/*----- SETUP - Open -----*/
body {
	color: var(--color-text);
	font-family: var(--primary-font-family);
	font-size: 1.0625rem;
	font-weight: 300;
	line-height: 170%;
}

#page strong,
#page b {
	font-weight: 650;
}

#page .main-content a {
	color: var(--color-element-link);
	border-bottom: none;
	font-weight: 450;
	text-decoration: none !important;
	text-underline-offset: 4px;
}

#page .main-content a:hover {
	color: var(--color-element-link-hover);
	text-decoration: none !important;
	text-decoration-color: var(--color-element-link-hover);
}

#page .main-content p {
	margin-bottom: 1.25rem;
}
#page .main-content p:last-child {
	margin-bottom: 0;
}
#page .main-content img + p {
	margin-top: 1.25rem;
}

#page .no-mb,
#page .no-mb .views-element-container {
	margin-bottom: 0 !important;
}
#page .no-mt,
#page .no-mt .views-element-container {
	margin-top: 0 !important;
}
#page .no-ml,
#page .no-ml .views-element-container {
	margin-left: 0 !important;
}
#page .no-mr,
#page .no-mr .views-element-container {
	margin-right: 0 !important;
}

/* #page .main-content p:has(+ hr)::after, */
#page .main-content hr + p::before,
#page .main-content p::after {
	content: '';
	display: block;
	clear: both;
}

#page .main-content img {
	display: inline-block !important;
	height: auto !important;
	max-width: 100% !important;
}
#page .main-content img.full-width {
	display: block !important;
	height: auto !important;
	max-width: none !important;
	width: 100% !important;
}

#page .main-content hr {
	background-color: var(--color-slate-100) !important;
	clear: both;
	display: block !important;
	height: 0.0625rem !important;
	margin-bottom: 2rem !important;
	margin-top: 2rem !important;
	width: 100% !important;
}

#page .main-content .rounded-corners {
	-moz-border-radius: var(--border-radius);
	-webkit-border-radius: var(--border-radius);
	border-radius: var(--border-radius);
}
#page .main-content .rounded-corners.caption > img {
	-moz-border-radius: var(--border-radius) var(--border-radius) 0 0;
	-webkit-border-radius: var(--border-radius) var(--border-radius) 0 0;
	border-radius: var(--border-radius) var(--border-radius) 0 0;
	margin-bottom: 0;
	margin-top: 0;
}
#page .main-content figure {
	display: table;
}
#page .main-content .rounded-corners.caption > figcaption {
	-moz-border-radius: 0 0 var(--border-radius) var(--border-radius);
	-webkit-border-radius: 0 0 var(--border-radius) var(--border-radius);
	border-radius: 0 0 var(--border-radius) var(--border-radius);
}

#page .main-content .caption > figcaption {
	background: var(--color-gray-100);
	color: var(--color-black);
	display: table-caption;
	font-size: 0.875rem;
	line-height: 130%;
	padding: 0.5rem;
}

#page .main-content img[data-align='left'],
#page .main-content .align-left {
	float: left;
	margin: 0.25rem 1.5rem 0.25rem 0;
}
#page .main-content img[data-align='right'],
#page .main-content .align-right {
	float: right;
	margin: 0.25rem 0 0.25rem 1.5rem;
}
#page .main-content img[data-align='center'],
#page .main-content .align-center {
	display: block !important;
	margin-bottom: 2rem;
	margin-top: 2rem;
	margin-right: auto;
	margin-left: auto;
}

#page .main-content h1 + figure,
#page .main-content h2 + figure,
#page .main-content h3 + figure,
#page .main-content h4 + figure,
#page .main-content h5 + figure,
#page .main-content h6 + figure,
#page .main-content p:first-child + figure,
#page .main-content h1 + img,
#page .main-content h2 + img,
#page .main-content h3 + img,
#page .main-content h4 + img,
#page .main-content h5 + img,
#page .main-content h6 + img,
#page .main-content p:first-child + img {
	margin-top: 0 !important;
}
/*----- SETUP - Close -----*/

/*----- HEADINGS - Open -----*/
#page h1,
#page h2,
#page h3,
#page h4,
#page h5,
#page h6 {
	color: var(--color-heading);
	font-family: var(--secondary-font-family);
	font-style: normal;
	line-height: 120%;
	margin: 0 0 1.25rem 0;
	position: relative;
	text-transform: none;
}

#page h1 {
	font-size: 3rem;
	font-weight: 650;
	letter-spacing: -0.03125rem;
	line-height: 120%;
}
#page h2 {
	font-size: 2.5rem;
	font-weight: 450;
	letter-spacing: -0.0125rem;
	line-height: 120%;
}
#page h3 {
	font-size: 1.875rem;
	font-weight: 450;
	line-height: 140%;
}
#page h4 {
	font-size: 1.5rem;
	font-weight: 450;
	line-height: 140%;
}
#page h5 {
	font-size: 1.25rem;
	font-weight: 450;
	line-height: 140%;
}
#page h6 {
	font-size: 0.75rem;
	font-weight: 900;
	letter-spacing: 0.1875rem;
	line-height: 120%;
	text-transform: uppercase;
}

#page h1 a,
#page h2 a,
#page h3 a,
#page h4 a,
#page h5 a,
#page h6 a {
	color: var(--color-heading);
	font-weight: inherit;
}

#page h1 a:hover,
#page h2 a:hover,
#page h3 a:hover,
#page h4 a:hover,
#page h5 a:hover,
#page h6 a:hover {
	color: var(--color-element-link-hover);
}

#page h1 b,
#page h1 strong,
#page h2 b,
#page h2 strong,
#page h3 b,
#page h3 strong,
#page h4 b,
#page h4 strong,
#page h5 b,
#page h5 strong,
#page h6 b,
#page h6 strong {
	font-weight: 650;
}

#page h2 + h1,
#page h3 + h1,
#page h4 + h1,
#page h5 + h1,
#page h6 + h1,
#page h3 + h2,
#page h4 + h2,
#page h5 + h2,
#page h6 + h2 {
	margin-top: -0.8rem !important;
}
#page h3 + h2[class*='fancy-'],
#page h4 + h2[class*='fancy-'],
#page h5 + h2[class*='fancy-'],
#page h6 + h2[class*='fancy-'] {
	margin-top: -1.25rem !important;
}

#page .main-content p + h2,
#page .main-content p + h3,
#page .main-content p + h4,
#page .main-content p + h5,
#page .main-content p + h6,
#page .main-content blockquote + h2,
#page .main-content blockquote + h3,
#page .main-content blockquote + h4,
#page .main-content blockquote + h5,
#page .main-content blockquote + h6,
#page .main-content ul + h2,
#page .main-content ul + h3,
#page .main-content ul + h4,
#page .main-content ul + h5,
#page .main-content ul + h6 {
	margin-top: 2rem !important;
}

#page .main-content hr + h2 {
	margin-top: -0.45rem !important;
}
#page .main-content hr + h3 {
	margin-top: -0.2rem !important;
}
#page .main-content hr + h4,
#page .main-content hr + h5,
#page .main-content hr + h6 {
	margin-top: -0.25rem !important;
}
/*----- HEADINGS - Close -----*/

/*----- LIST - Open -----*/
#page .main-content ul {
	margin: 0 0 1rem 0.375rem;
	padding: 0;
}
#page .main-content ol {
	margin: 0 0 1rem 1.5rem !important;
	padding: 0;
}

#page .main-content ul li {
	list-style: none;
	margin-bottom: 1.25rem;
	padding: 0 0 0 0.875rem;
	position: relative;
}

#page .main-content ul li:before {
	background-color: var(--color-blue-300) !important;
	border-radius: 50%;
	content: '';
	display: block;
	height: 0.375rem;
	left: 0;
	position: absolute;
	top: 0.625rem;
	width: 0.375rem;
}

#page .main-content ul.fancy-list {
	background-color: var(--color-gray-100);
	border-radius: var(--border-radius);
	/* box-shadow: 0px 0px 16px 0px var(--box-shadow); */
	padding: 1rem;
}

#page .main-content ul.dark-green-list li:before {
	background-color: var(--color-success-500) !important;
}

#page .main-content ul.orange-list li:before {
	background-color: var(--color-accent-orange) !important;
}

#page .main-content ul.blue-list li:before {
	background-color: var(--color-accent-blue) !important;
}

#page .main-content ul.black-list li:before {
	background-color: var(--color-black) !important;
}
/*----- LIST - Close -----*/

/*----- FANCY PARAGRAPH - Open -----*/
#page .main-content p.fancy-paragraph {
	border-radius: var(--border-radius);
	box-shadow: var(--box-shadow);
	margin-bottom: 1.25rem !important;
	margin-top: 1.25rem !important;
	padding: 1rem;
}
#page .main-content p.fancy-paragraph-2 {
	background-color: var(--color-slate-50) !important;
	border-radius: var(--border-radius);
	color: var(--color-heading);
	margin-bottom: 1.25rem !important;
	margin-top: 1.25rem !important;
	padding: 1rem;
}
#page .main-content p.fancy-paragraph-3 {
	background-color: var(--color-steel-50) !important;
	border-radius: var(--border-radius);
	color: var(--color-heading);
	margin-bottom: 1.25rem !important;
	margin-top: 1.25rem !important;
	padding: 1rem;
}
#page .main-content p.fancy-paragraph-4 {
	border-left: 0.125rem solid var(--color-steel-300);
	margin-bottom: 2rem !important;
	margin-top: 2rem !important;
	padding-left: 2rem;
}
#page .main-content p.fancy-paragraph-5 {
	border-left: 0.125rem solid var(--color-primary);
	margin-bottom: 2rem !important;
	margin-top: 2rem !important;
	padding-left: 2rem;
}
#page .main-content p.fancy-paragraph-6 {
	border-left: 0.125rem solid var(--color-tertiary);
	margin-bottom: 2rem !important;
	margin-top: 2rem !important;
	padding-left: 2rem;
}

#page .main-content .fancy-title-xl + p[class*='fancy-paragraph-'],
#page .main-content .fancy-title-lg + p[class*='fancy-paragraph-'],
#page .main-content p.fancy-paragraph-6:first-child,
#page .main-content p.fancy-paragraph-5:first-child,
#page .main-content p.fancy-paragraph-4:first-child,
#page .main-content p.fancy-paragraph-3:first-child,
#page .main-content p.fancy-paragraph-2:first-child,
#page .main-content p.fancy-paragraph:first-child {
	margin-top: 0 !important;
}
/*----- FANCY PARAGRAPH - Close -----*/

/*----- SPECIAL HEADINGS - Open -----*/
#page .main-content h2.fancy-title-center {
	align-items: center;
	color: var(--color-heading);
	display: flex;
	flex-direction: column;
	font-size: 3rem;
	gap: 4rem;
	justify-content: center;
	margin-bottom: 4rem !important;
	text-align: center;
}
#page .main-content h2.fancy-title-center::before {
	display: none;
}
#page .main-content h2.fancy-title-center::after {
	background-color: var(--color-blue-400);
	border-radius: var(--border-radius);
	content: '';
	display: block;
	height: 0.25rem;
	width: 2rem;
}
#page .main-content h2.fancy-title-sm {
	font-size: 1.5rem;
	letter-spacing: 0;
	line-height: 140%;
}
#page .main-content h2.fancy-title-lg {
	font-size: 3rem;
	letter-spacing: -0.03125rem;
	line-height: 120%;
}
#page .main-content h2.fancy-title-xl {
	font-size: 4rem;
	font-weight: 700;
	letter-spacing: -0.03125rem;
	line-height: 120%;
}

#page .main-content .special-heading-9,
#page .main-content .special-heading-8,
#page .main-content .special-heading-7,
#page .main-content .special-heading-6,
#page .main-content .special-heading-5,
#page .main-content .special-heading-4,
#page .main-content .special-heading-3,
#page .main-content .special-heading-2,
#page .main-content .special-heading-1 {
	color: var(--color-heading);
	margin-top: 0;
	padding-top: 1rem;
	position: relative;
}
#page .main-content .special-heading-9::before,
#page .main-content .special-heading-8::before,
#page .main-content .special-heading-7::before,
#page .main-content .special-heading-6::before,
#page .main-content .special-heading-5::before,
#page .main-content .special-heading-4::before,
#page .main-content .special-heading-3::before,
#page .main-content .special-heading-2::before,
#page .main-content .special-heading-1::before {
	border-radius: var(--border-radius);
	content: '';
	height: 0.25rem;
	left: 0;
	position: absolute;
	top: 0;
	width: 2rem;
}
#page .main-content .special-heading-1::before {
	background-color: var(--color-primary);
}
#page .main-content .special-heading-2::before {
	background-color: var(--color-tertiary);
}
#page .main-content .special-heading-3::before {
	background-color: #262c85;
}
#page .main-content .special-heading-4::before {
	background-color: var(--color-info-500);
}
#page .main-content .special-heading-5::before {
	background-color: var(--color-success-600);
}
#page .main-content .special-heading-6::before {
	background-color: #8cc63e;
}
#page .main-content .special-heading-7::before {
	background-color: var(--color-warning-700);
}
#page .main-content .special-heading-8::before {
	background-color: var(--color-danger-900);
}
#page .main-content .special-heading-9::before {
	background-color: #9843da;
}

#page .main-content .special-heading-10,
#page .main-content .special-heading-11,
#page .main-content .special-heading-12 {
	color: var(--color-heading);
	display: flex;
	flex-direction: column;
	gap: 1rem;
	margin-top: 0;
	padding-top: 1rem;
	position: relative;
}
#page .main-content .special-heading-10::after,
#page .main-content .special-heading-11::after,
#page .main-content .special-heading-12::after {
	border-radius: var(--border-radius);
	content: '';
	display: block;
	height: 0.25rem;
	width: 2rem;
}
#page .main-content .special-heading-10::after {
	background-color: var(--color-primary);
}
#page .main-content .special-heading-11::after {
	background-color: var(--color-tertiary);
}
#page .main-content .special-heading-12::after {
	background-color: var(--color-success-600);
}
#page .main-content h6.special-heading-10,
#page .main-content h6.special-heading-11,
#page .main-content h6.special-heading-12 {
	border-radius: var(--border-radius);
	display: table;
	line-height: 120%;
	margin: 0 0 0.5rem 0;
	padding: 0.375rem 0.5rem;
}
#page .main-content h6.special-heading-10::after,
#page .main-content h6.special-heading-11::after,
#page .main-content h6.special-heading-12::after {
	display: none;
}
#page .main-content h6.special-heading-10 {
	background-color: var(--color-slate-50);
	color: var(--color-black);
}
#page .main-content h6.special-heading-11 {
	background-color: var(--color-primary);
	color: var(--color-white);
}
#page .main-content h6.special-heading-12 {
	background-color: var(--color-tertiary);
	color: var(--color-white);
}

#page .main-content .special-heading-12.text-align-center,
#page .main-content .special-heading-11.text-align-center,
#page .main-content .special-heading-10.text-align-center,
#page .main-content .special-heading-9.text-align-center,
#page .main-content .special-heading-8.text-align-center,
#page .main-content .special-heading-7.text-align-center,
#page .main-content .special-heading-6.text-align-center,
#page .main-content .special-heading-5.text-align-center,
#page .main-content .special-heading-4.text-align-center,
#page .main-content .special-heading-3.text-align-center,
#page .main-content .special-heading-2.text-align-center,
#page .main-content .special-heading-1.text-align-center {
	align-items: center;
	justify-content: center;
	text-align: center;
}
/*----- SPECIAL HEADINGS - Close -----*/

/*----- SPECIAL BUTTONS - Open -----*/
#page .main-content a.button,
#page .main-content a.btn-blue,
#page .main-content a.btn-blue-light,
#page .main-content a.btn-blue-dark,
#page .main-content a.btn-orange,
#page .main-content a.btn-success,
#page .main-content a.btn-warning,
#page .main-content a.btn-danger,
#page .main-content a.btn-info,
#page .main-content a.btn-white {
	align-items: center;
	box-sizing: border-box;
	border-radius: var(--border-radius);
	border: 1px solid transparent;
	cursor: pointer;
	display: inline-flex;
	font-family: var(--secondary-font-family);
	font-size: 0.9375rem;
	font-weight: 550;
	gap: 0.5rem;
	line-height: 120%;
	margin: 0 0.25rem 0.5rem 0;
	min-height: 2.75rem;
	outline: none;
	padding: 0.625rem 1rem 0.625rem 1rem;
	position: relative;
	text-align: center;
	text-decoration: none !important;
	transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
	user-select: none;
	vertical-align: middle;
	white-space: nowrap;
}

/* Full width buttons */
#page .main-content a.button.full-width,
#page .main-content a.btn-blue.full-width,
#page .main-content a.btn-blue-light.full-width,
#page .main-content a.btn-blue-dark.full-width,
#page .main-content a.btn-orange.full-width,
#page .main-content a.btn-success.full-width,
#page .main-content a.btn-warning.full-width,
#page .main-content a.btn-danger.full-width,
#page .main-content a.btn-info.full-width,
#page .main-content a.btn-white.full-width {
	justify-content: center;
	width: 100% !important;
}

/* Primary Button (Default) - WCAG AA: 4.5:1 contrast */
#page .main-content a.button {
	background: linear-gradient(
		135deg,
		var(--color-primary) 0%,
		var(--color-blue-600) 100%
	);
	color: var(--color-white) !important;
	box-shadow: var(--box-shadow);
}

#page .main-content a.button:hover {
	background: linear-gradient(
		135deg,
		var(--color-blue-600) 0%,
		var(--color-blue-700) 100%
	);
	box-shadow: 0 0 1rem 0 rgba(30, 136, 229, 0.2);
	transform: translateY(-1px);
}

#page .main-content a.button:focus {
	box-shadow: 0 0 0 3px var(--color-element-link-focus);
	outline: 2px solid transparent;
}

#page .main-content a.button:active {
	transform: translateY(0);
	background: var(--color-blue-700);
}

/* Blue Button - WCAG AA compliant */
#page .main-content a.btn-blue {
	background: var(--color-blue-600);
	color: var(--color-white) !important;
	box-shadow: var(--box-shadow);
}

#page .main-content a.btn-blue:hover {
	background: var(--color-blue-700);
	box-shadow: 0 0 1rem 0 rgba(21, 101, 192, 0.2);
	transform: translateY(-1px);
}

#page .main-content a.btn-blue:focus {
	box-shadow: 0 0 0 3px var(--color-element-link-focus);
	outline: 2px solid transparent;
}

/* Light Blue Button - WCAG AA: 7:1 contrast */
#page .main-content a.btn-blue-light {
	background: var(--color-blue-50);
	border-color: var(--color-blue-200);
	color: var(
		--color-blue-800
	) !important; /* High contrast for accessibility */
}

#page .main-content a.btn-blue-light:hover {
	background: var(--color-blue-100);
	border-color: var(--color-blue-300);
	box-shadow: var(--box-shadow);
	transform: translateY(-1px);
}

#page .main-content a.btn-blue-light:focus {
	box-shadow: 0 0 0 3px var(--color-element-link-focus);
	outline: 2px solid transparent;
}

/* Dark Blue Button - WCAG AA compliant */
#page .main-content a.btn-blue-dark {
	background: var(--color-blue-800);
	color: var(--color-white) !important;
	box-shadow: var(--box-shadow);
}

#page .main-content a.btn-blue-dark:hover {
	background: var(--color-blue-900);
	box-shadow: 0 0 1rem 0 rgba(10, 61, 143, 0.25);
	transform: translateY(-1px);
}

#page .main-content a.btn-blue-dark:focus {
	box-shadow: 0 0 0 3px var(--color-element-link-focus);
	outline: 2px solid transparent;
}

/* Orange Button - WCAG AA compliant */
#page .main-content a.btn-orange {
	background: var(--color-orange-500);
	color: var(--color-white) !important;
	box-shadow: var(--box-shadow);
}

#page .main-content a.btn-orange:hover {
	background: var(--color-orange-700);
	box-shadow: 0 0 1rem 0 rgba(250, 94, 31, 0.25);
	transform: translateY(-1px);
}

#page .main-content a.btn-orange:focus {
	box-shadow: 0 0 0 3px var(--color-accent-light-orange);
	outline: 2px solid transparent;
}

/* Success Button - WCAG AA: white text on darker green (7:1 contrast) */
#page .main-content a.btn-success {
	background: var(--color-success-800); /* Darker green for better contrast */
	color: var(--color-white) !important;
	box-shadow: var(--box-shadow);
}

#page .main-content a.btn-success:hover {
	background: var(--color-success-900);
	box-shadow: 0 0 1rem 0 rgba(46, 125, 50, 0.25);
	transform: translateY(-1px);
}

#page .main-content a.btn-success:focus {
	box-shadow: 0 0 0 3px var(--color-success-300);
	outline: 2px solid transparent;
}

/* Warning Button - WCAG AA: dark text on light background */
#page .main-content a.btn-warning {
	background: var(--color-warning-400);
	color: var(--color-gray-900) !important; /* Dark text for high contrast */
	box-shadow: var(--box-shadow);
}

#page .main-content a.btn-warning:hover {
	background: var(--color-warning-500);
	box-shadow: 0 0 1rem 0 rgba(255, 238, 88, 0.3);
	transform: translateY(-1px);
}

#page .main-content a.btn-warning:focus {
	box-shadow: 0 0 0 3px var(--color-warning-200);
	outline: 2px solid transparent;
}

/* Danger Button - WCAG AA compliant */
#page .main-content a.btn-danger {
	background: var(--color-danger-700);
	color: var(--color-white) !important;
	box-shadow: var(--box-shadow);
}

#page .main-content a.btn-danger:hover {
	background: var(--color-danger-800);
	box-shadow: 0 0 1rem 0 rgba(211, 47, 47, 0.25);
	transform: translateY(-1px);
}

#page .main-content a.btn-danger:focus {
	box-shadow: 0 0 0 3px var(--color-danger-200);
	outline: 2px solid transparent;
}

/* Info Button - WCAG AA: white text on darker cyan (4.5:1+ contrast) */
#page .main-content a.btn-info {
	background: var(--color-info-400); /* Much darker cyan for better contrast */
	color: var(--color-black) !important;
	box-shadow: var(--box-shadow);
}

#page .main-content a.btn-info:hover {
	background: var(--color-info-600);
	box-shadow: 0 0 1rem 0 rgba(0, 96, 100, 0.25);
	color: var(--color-black) !important;
	transform: translateY(-1px);
}

#page .main-content a.btn-info:focus {
	box-shadow: 0 0 0 3px var(--color-info-200);
	outline: 2px solid transparent;
}

/* White/Ghost Button - WCAG AA: 7:1 contrast */
#page .main-content a.btn-white {
	background: var(--color-white);
	border-color: var(--color-gray-300);
	color: var(--color-text) !important;
	box-shadow: var(--box-shadow);
}

#page .main-content a.btn-white:hover {
	background: var(--color-gray-50);
	border-color: var(--color-gray-400);
	box-shadow: 0 0 1rem 0 rgba(0, 0, 0, 0.1);
	transform: translateY(-1px);
}

#page .main-content a.btn-white:focus {
	box-shadow: 0 0 0 3px var(--color-element-link-focus);
	outline: 2px solid transparent;
}

/* Button Sizes - WCAG AA touch targets */
#page .main-content a.button.btn-small,
#page .main-content a.btn-blue.btn-small,
#page .main-content a.btn-blue-light.btn-small,
#page .main-content a.btn-blue-dark.btn-small,
#page .main-content a.btn-orange.btn-small,
#page .main-content a.btn-success.btn-small,
#page .main-content a.btn-warning.btn-small,
#page .main-content a.btn-danger.btn-small,
#page .main-content a.btn-info.btn-small,
#page .main-content a.btn-white.btn-small {
	border-radius: var(--border-radius-buttons);
	font-size: 0.75rem;
	min-height: 2.25rem; /* Still accessible but smaller */
	padding: 0.5rem 0.75rem;
}

#page .main-content a.button.btn-large,
#page .main-content a.btn-blue.btn-large,
#page .main-content a.btn-blue-light.btn-large,
#page .main-content a.btn-blue-dark.btn-large,
#page .main-content a.btn-orange.btn-large,
#page .main-content a.btn-success.btn-large,
#page .main-content a.btn-warning.btn-large,
#page .main-content a.btn-danger.btn-large,
#page .main-content a.btn-info.btn-large,
#page .main-content a.btn-white.btn-large {
	border-radius: var(--border-radius-buttons);
	font-size: 1.125rem;
	min-height: 3.5rem; /* Extra large touch target */
	padding: 1rem 1.5rem;
}

/* Icon support */
#page .main-content a.button svg,
#page .main-content a.btn-blue svg,
#page .main-content a.btn-blue-light svg,
#page .main-content a.btn-blue-dark svg,
#page .main-content a.btn-orange svg,
#page .main-content a.btn-success svg,
#page .main-content a.btn-warning svg,
#page .main-content a.btn-danger svg,
#page .main-content a.btn-info svg,
#page .main-content a.btn-white svg {
	width: 1rem;
	height: 1rem;
}

/* Loading state */
#page .main-content a.button.loading,
#page .main-content a.btn-blue.loading,
#page .main-content a.btn-blue-light.loading,
#page .main-content a.btn-blue-dark.loading,
#page .main-content a.btn-orange.loading,
#page .main-content a.btn-success.loading,
#page .main-content a.btn-warning.loading,
#page .main-content a.btn-danger.loading,
#page .main-content a.btn-info.loading,
#page .main-content a.btn-white.loading {
	opacity: 0.7;
	pointer-events: none;
	cursor: not-allowed;
}

/* Accessibility improvements */
@media (prefers-reduced-motion: reduce) {
	#page .main-content a.button,
	#page .main-content a.btn-blue,
	#page .main-content a.btn-blue-light,
	#page .main-content a.btn-blue-dark,
	#page .main-content a.btn-orange,
	#page .main-content a.btn-success,
	#page .main-content a.btn-warning,
	#page .main-content a.btn-danger,
	#page .main-content a.btn-info,
	#page .main-content a.btn-white {
		transform: none !important;
		transition: background-color 0.15s ease, border-color 0.15s ease,
			box-shadow 0.15s ease;
	}
}

/* High contrast mode */
@media (prefers-contrast: high) {
	#page .main-content a.button,
	#page .main-content a.btn-blue,
	#page .main-content a.btn-blue-dark,
	#page .main-content a.btn-orange,
	#page .main-content a.btn-success,
	#page .main-content a.btn-warning,
	#page .main-content a.btn-danger,
	#page .main-content a.btn-info {
		border: 2px solid;
	}

	#page .main-content a.btn-white,
	#page .main-content a.btn-blue-light {
		border-width: 2px;
		border-color: currentColor;
	}

	#page .main-content a.button:focus,
	#page .main-content a.btn-blue:focus,
	#page .main-content a.btn-blue-light:focus,
	#page .main-content a.btn-blue-dark:focus,
	#page .main-content a.btn-orange:focus,
	#page .main-content a.btn-success:focus,
	#page .main-content a.btn-warning:focus,
	#page .main-content a.btn-danger:focus,
	#page .main-content a.btn-info:focus,
	#page .main-content a.btn-white:focus {
		outline: 3px solid;
		outline-offset: 2px;
	}
}
/*----- SPECIAL BUTTONS - Close -----*/

/*----- TABLE - Open -----*/
#page .main-content table {
	background-color: var(--color-white);
	border: 1px solid var(--color-slate-200);
	border-collapse: separate;
	border-spacing: 0;
	border-radius: var(--border-radius);
	box-shadow: var(--box-shadow);
	font-family: var(--primary-font-family);
	margin: 2rem 0;
	overflow: hidden;
	width: 100%;
}

/* Modern header with subtle gradient */
#page .main-content thead tr,
#page .main-content table tr th {
	background: linear-gradient(
		135deg,
		var(--color-steel-700) 0%,
		var(--color-steel-600) 100%
	);
	border: none;
	color: var(--color-white);
}

#page .main-content thead th,
#page .main-content table tr th {
	border-bottom: 1px solid rgba(255, 255, 255, 0.1);
	border-right: 1px solid rgba(255, 255, 255, 0.08);
	font-family: var(--secondary-font-family);
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: 0.05em;
	padding: 1.125rem 1rem;
	position: relative;
	text-transform: uppercase;
	vertical-align: middle;
}

#page .main-content thead th:first-child {
	border-top-left-radius: var(--border-radius);
}

#page .main-content thead th:last-child {
	border-right: none;
	border-top-right-radius: var(--border-radius);
}

/* Clean link styling in headers */
#page .main-content table tr th a,
#page .main-content thead th a {
	color: var(--color-white);
	font-weight: inherit;
	text-decoration: none;
	transition: color 0.2s ease;
}

#page .main-content table tr th a:hover,
#page .main-content table tr th a:focus,
#page .main-content thead th a:hover,
#page .main-content thead th a:focus {
	color: var(--color-blue-200);
	text-decoration: none;
}

/* Modern sortable columns */
#page .main-content thead th.sortable {
	cursor: pointer;
	user-select: none;
	transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

#page .main-content thead th.sortable:hover {
	background: linear-gradient(
		135deg,
		var(--color-steel-600) 0%,
		var(--color-steel-500) 100%
	);
	transform: translateY(-1px);
}

#page .main-content thead th.sortable::after {
	content: '';
	border: 4px solid transparent;
	border-top: 5px solid rgba(255, 255, 255, 0.4);
	display: inline-block;
	margin-left: 0.5rem;
	transition: all 0.2s ease;
	vertical-align: middle;
}

#page .main-content thead th.sorted-asc::after {
	border-top-color: var(--color-white);
	transform: rotate(0deg);
}

#page .main-content thead th.sorted-desc::after {
	border-top: none;
	border-bottom: 5px solid var(--color-white);
	transform: rotate(0deg);
}

/* Clean body styling */
#page .main-content tbody tr {
	background-color: var(--color-white);
	border-bottom: 1px solid var(--color-slate-100);
	color: var(--color-text);
	transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

#page .main-content tbody tr:nth-child(even) {
	background-color: var(--color-steel-25);
}

/* Elegant hover effect */
#page .main-content tbody tr:hover {
	background: linear-gradient(
		90deg,
		var(--color-blue-50) 0%,
		var(--color-steel-50) 100%
	);
	box-shadow: 0 2px 8px rgba(30, 136, 229, 0.08);
	transform: translateY(-1px);
}

/* Modern cell styling */
#page .main-content tbody td {
	border-right: 1px solid var(--color-slate-100);
	color: var(--color-text);
	font-size: 0.9375rem;
	font-weight: 400;
	line-height: 1.5;
	padding: 1rem;
	vertical-align: middle;
}

#page .main-content tbody td:last-child {
	border-right: none;
}

/* Row headers with modern styling */
#page .main-content tbody th[scope='row'] {
	background-color: var(--color-steel-50);
	border-right: 1px solid var(--color-slate-200);
	color: var(--color-heading);
	font-weight: 600;
	padding: 1rem;
}

/* Clean footer styling */
#page .main-content tfoot tr,
#page .main-content tfoot th,
#page .main-content tfoot td {
	background: linear-gradient(
		135deg,
		var(--color-steel-100) 0%,
		var(--color-steel-50) 100%
	);
	border-top: 2px solid var(--color-slate-200);
	color: var(--color-text);
	font-weight: 500;
	padding: 1rem;
}

/* Table variants */

/* Minimal/borderless table */
#page .main-content table.minimal {
	border: none;
	box-shadow: none;
}

#page .main-content table.minimal thead th {
	background: transparent;
	border-bottom: 2px solid var(--color-primary);
	color: var(--color-heading);
}

#page .main-content table.minimal tbody tr {
	border-bottom: 1px solid var(--color-slate-150);
}

#page .main-content table.minimal tbody tr:nth-child(even) {
	background: transparent;
}

#page .main-content table.minimal tbody tr:hover {
	background: var(--color-steel-25);
	box-shadow: none;
	transform: none;
}

#page .main-content table.minimal tbody td,
#page .main-content table.minimal thead th {
	border-right: none;
}

/* Compact table */
#page .main-content table.compact th,
#page .main-content table.compact td {
	padding: 0.625rem 0.75rem;
}

#page .main-content table.compact thead th {
	font-size: 0.75rem;
	padding: 0.875rem 0.75rem;
}

/* Striped table (enhanced) */
#page .main-content table.striped tbody tr:nth-child(odd) {
	background: var(--color-white);
}

#page .main-content table.striped tbody tr:nth-child(even) {
	background: var(--color-blue-25);
}

/* Card-style table */
#page .main-content table.card {
	border: none;
	border-radius: 12px;
	box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1),
		0 2px 4px -1px rgba(0, 0, 0, 0.06);
	overflow: hidden;
}

#page .main-content table.card thead th {
	background: linear-gradient(
		135deg,
		var(--color-primary) 0%,
		var(--color-blue-600) 100%
	);
	padding: 1.25rem 1rem;
}

#page .main-content table.card tbody tr:hover {
	background: linear-gradient(
		90deg,
		var(--color-primary) 0%,
		rgba(30, 136, 229, 0.05) 20%,
		transparent 100%
	);
	transform: none;
}

/* Status row variants with modern colors */
#page .main-content tbody tr.success {
	background: linear-gradient(
		90deg,
		var(--color-success-50) 0%,
		transparent 100%
	);
	border-left: 4px solid var(--color-success-500);
}

#page .main-content tbody tr.warning {
	background: linear-gradient(
		90deg,
		var(--color-warning-50) 0%,
		transparent 100%
	);
	border-left: 4px solid var(--color-warning-500);
}

#page .main-content tbody tr.danger {
	background: linear-gradient(
		90deg,
		var(--color-danger-50) 0%,
		transparent 100%
	);
	border-left: 4px solid var(--color-danger-500);
}

#page .main-content tbody tr.info {
	background: linear-gradient(
		90deg,
		var(--color-info-50) 0%,
		transparent 100%
	);
	border-left: 4px solid var(--color-info-500);
}

/* Data type specific styling */
#page .main-content td.numeric,
#page .main-content th.numeric {
	font-feature-settings: 'tnum';
	font-family: var(--secondary-font-family);
	text-align: right;
}

#page .main-content td.currency::before {
	content: '$';
	color: var(--color-steel-500);
	margin-right: 0.125rem;
}

#page .main-content td.percentage::after {
	content: '%';
	color: var(--color-steel-500);
	margin-left: 0.125rem;
}

/* Action buttons in tables */
#page .main-content td .btn-group {
	display: flex;
	gap: 0.5rem;
}

#page .main-content td .btn-sm {
	font-size: 0.75rem;
	padding: 0.375rem 0.75rem;
}

/* Status badges */
#page .main-content td .badge {
	background: var(--color-steel-200);
	border-radius: 9999px;
	color: var(--color-steel-700);
	display: inline-block;
	font-size: 0.75rem;
	font-weight: 500;
	padding: 0.25rem 0.75rem;
	text-transform: uppercase;
	letter-spacing: 0.025em;
}

#page .main-content td .badge.success {
	background: var(--color-success-100);
	color: var(--color-success-800);
}
#page .main-content td .badge.warning {
	background: var(--color-warning-100);
	color: var(--color-warning-800);
}
#page .main-content td .badge.danger {
	background: var(--color-danger-100);
	color: var(--color-danger-800);
}
#page .main-content td .badge.info {
	background: var(--color-info-100);
	color: var(--color-info-800);
}

/* Modern responsive design */
@media (max-width: 1024px) {
	#page .main-content table {
		font-size: 0.875rem;
	}
}

@media (max-width: 768px) {
	#page .main-content table.responsive {
		display: block;
		overflow-x: auto;
		white-space: nowrap;
		-webkit-overflow-scrolling: touch;
	}

	/* Card layout for mobile */
	#page .main-content table.mobile-cards {
		border: none;
		box-shadow: none;
	}

	#page .main-content table.mobile-cards thead {
		display: none;
	}

	#page .main-content table.mobile-cards tbody,
	#page .main-content table.mobile-cards tr {
		display: block;
		width: 100%;
	}

	#page .main-content table.mobile-cards tr {
		background: var(--color-white);
		border: 1px solid var(--color-slate-200);
		border-radius: var(--border-radius);
		box-shadow: var(--box-shadow);
		margin-bottom: 1.5rem;
		padding: 0;
	}

	#page .main-content table.mobile-cards td {
		border: none;
		display: flex;
		justify-content: space-between;
		padding: 0.75rem 1rem;
		border-bottom: 1px solid var(--color-slate-100);
	}

	#page .main-content table.mobile-cards td:last-child {
		border-bottom: none;
	}

	#page .main-content table.mobile-cards td::before {
		content: attr(data-label);
		color: var(--color-steel-600);
		font-size: 0.8125rem;
		font-weight: 600;
		text-transform: uppercase;
		letter-spacing: 0.025em;
	}

	#page .main-content table.mobile-cards td .badge,
	#page .main-content table.mobile-cards td .btn-group {
		margin-left: auto;
	}
}

/* Accessibility improvements */
#page .main-content table th:focus,
#page .main-content table td:focus {
	outline: 2px solid var(--color-element-link-focus);
	outline-offset: -2px;
	position: relative;
	z-index: 1;
}

#page .main-content table tbody tr:focus-within {
	background: var(--color-blue-25);
	outline: 2px solid var(--color-element-link-focus);
	outline-offset: -2px;
}

/* High contrast mode */
@media (prefers-contrast: high) {
	#page .main-content table {
		border: 2px solid;
	}

	#page .main-content thead th,
	#page .main-content tbody td {
		border: 1px solid;
	}

	#page .main-content tbody tr:hover {
		background: var(--color-steel-100);
		box-shadow: none;
	}
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
	#page .main-content tbody tr,
	#page .main-content thead th.sortable {
		transition: none;
	}

	#page .main-content tbody tr:hover,
	#page .main-content thead th.sortable:hover {
		transform: none;
	}
}

/* Print optimization */
@media print {
	#page .main-content table {
		border-collapse: collapse;
		box-shadow: none;
		page-break-inside: auto;
	}

	#page .main-content thead {
		display: table-header-group;
	}

	#page .main-content tbody {
		display: table-row-group;
	}

	#page .main-content thead th {
		background: var(--color-steel-200) !important;
		color: var(--color-black) !important;
	}

	#page .main-content tbody tr {
		page-break-inside: avoid;
	}

	#page .main-content tbody tr:hover {
		background: transparent !important;
		transform: none !important;
	}

	#page .main-content .badge {
		border: 1px solid;
	}
}
/*----- TABLE - Close-----*/

/*----- BLOCKQUOTE - Open -----*/
#page .main-content blockquote {
	background: linear-gradient(
		135deg,
		var(--color-steel-25) 0%,
		var(--color-steel-50) 100%
	);
	border: 1px solid var(--color-steel-200);
	border-left: 4px solid var(--color-primary);
	border-radius: var(--border-radius);
	box-shadow: var(--box-shadow);
	color: var(--color-text);
	font-family: var(--primary-font-family);
	font-size: 1.125rem;
	font-style: italic;
	font-weight: 400;
	line-height: 1.6;
	margin: 2rem 0;
	padding: 1.5rem 2rem 1.5rem 3rem;
	position: relative;
	transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Quote icon with modern styling */
#page .main-content blockquote::before {
	content: '"';
	color: var(--color-primary);
	display: block;
	font-family: var(--primary-font-family);
	font-size: 4rem;
	font-weight: 700;
	height: 0;
	left: 0.5rem;
	line-height: 1;
	opacity: 0.3;
	position: absolute;
	top: 0.5rem;
	transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

#page .main-content blockquote::after {
	display: none;
}

/* Paragraph spacing within blockquote */
#page .main-content blockquote p {
	margin: 0 0 1rem 0;
	position: relative;
	z-index: 1;
}

#page .main-content blockquote p:first-child {
	margin-top: 0;
}

#page .main-content blockquote p:last-child {
	margin-bottom: 0;
}

/* Citation/author styling */
#page .main-content blockquote cite,
#page .main-content blockquote footer {
	color: var(--color-steel-600);
	display: block;
	font-family: var(--secondary-font-family);
	font-size: 0.875rem;
	font-style: normal;
	font-weight: 500;
	margin-top: 1rem;
	text-align: right;
}

#page .main-content blockquote cite::before,
#page .main-content blockquote footer::before {
	content: '— ';
	color: var(--color-steel-400);
}

/* Hover effect for interactive feel */
#page .main-content blockquote:hover {
	border-left-color: var(--color-blue-600);
	box-shadow: 0 0 1.5rem 0 rgba(0, 0, 0, 0.08);
	transform: translateY(-1px);
}

#page .main-content blockquote:hover::before {
	color: var(--color-blue-600);
	opacity: 0.4;
}

/* Variant styles */

/* Success/positive quote */
#page .main-content blockquote.success {
	background: linear-gradient(
		135deg,
		var(--color-success-50) 0%,
		#f0fdf4 100%
	);
	border-left-color: var(--color-success-600);
	border-color: var(--color-success-200);
}

#page .main-content blockquote.success::before {
	color: var(--color-success-600);
}

#page .main-content blockquote.success:hover {
	border-left-color: var(--color-success-700);
}

/* Warning/caution quote */
#page .main-content blockquote.warning {
	background: linear-gradient(
		135deg,
		var(--color-warning-50) 0%,
		#fffbeb 100%
	);
	border-left-color: var(--color-warning-500);
	border-color: var(--color-warning-200);
}

#page .main-content blockquote.warning::before {
	color: var(--color-warning-500);
}

#page .main-content blockquote.warning:hover {
	border-left-color: var(--color-warning-600);
}

/* Info/note quote */
#page .main-content blockquote.info {
	background: linear-gradient(135deg, var(--color-info-50) 0%, #f0fdff 100%);
	border-left-color: var(--color-info-600);
	border-color: var(--color-info-200);
}

#page .main-content blockquote.info::before {
	color: var(--color-info-600);
}

#page .main-content blockquote.info:hover {
	border-left-color: var(--color-info-700);
}

/* Danger/important quote */
#page .main-content blockquote.danger {
	background: linear-gradient(135deg, var(--color-danger-50) 0%, #fef2f2 100%);
	border-left-color: var(--color-danger-600);
	border-color: var(--color-danger-200);
}

#page .main-content blockquote.danger::before {
	color: var(--color-danger-600);
}

#page .main-content blockquote.danger:hover {
	border-left-color: var(--color-danger-700);
}

/* Minimal variant without quote marks */
#page .main-content blockquote.minimal {
	background: transparent;
	border: none;
	border-left: 3px solid var(--color-steel-300);
	box-shadow: none;
	font-style: normal;
	padding: 1rem 0 1rem 2rem;
}

#page .main-content blockquote.minimal::before {
	display: none;
}

#page .main-content blockquote.minimal:hover {
	border-left-color: var(--color-primary);
	transform: none;
}

/* Large/featured quote */
#page .main-content blockquote.featured {
	background: linear-gradient(
		135deg,
		var(--color-steel-25) 0%,
		var(--color-blue-50) 100%
	);
	border: 2px solid var(--color-blue-200);
	border-left: 6px solid var(--color-primary);
	font-size: 1.375rem;
	line-height: 1.7;
	margin: 3rem 0;
	padding: 2.5rem 3rem;
	text-align: center;
}

#page .main-content blockquote.featured::before {
	font-size: 6rem;
	left: 50%;
	top: -0.5rem;
	transform: translateX(-50%);
}

/* Accessibility improvements */
@media (prefers-reduced-motion: reduce) {
	#page .main-content blockquote {
		transition: none;
	}

	#page .main-content blockquote:hover {
		transform: none;
	}
}

/* High contrast mode */
@media (prefers-contrast: high) {
	#page .main-content blockquote {
		border-width: 2px;
		border-left-width: 6px;
	}

	#page .main-content blockquote::before {
		opacity: 0.8;
	}
}

/* Mobile optimizations */
@media (max-width: 768px) {
	#page .main-content blockquote {
		font-size: 1rem;
		margin: 1.5rem 0;
		padding: 1.25rem 1.5rem;
	}

	#page .main-content blockquote::before {
		font-size: 3rem;
		left: 0.75rem;
	}

	#page .main-content blockquote.featured {
		font-size: 1.125rem;
		padding: 2rem;
		text-align: left;
	}

	#page .main-content blockquote.featured::before {
		font-size: 4rem;
		left: 1rem;
		transform: none;
	}
}
/*----- BLOCKQUOTE - Close -----*/

/*----- COLUMNS GRID - Open -----*/
#page .main-content .columns-grid {
	display: grid;
	grid-gap: 2rem;
	margin: 1rem 0;
	padding: 0;
	width: 100%;
}

#page .main-content .columns-grid-67-33,
#page .main-content .columns-grid-33-67,
#page .main-content .columns-grid-50-50 {
	align-items: center;
}

/* Responsive */
@media screen and (min-width: 600px) and (max-width: 768px) {
	#page .main-content .columns-grid-50-50 {
		grid-template-columns: repeat(2, calc(50% - 1rem));
	}

	#page .main-content .columns-grid-25-75 {
		grid-template-columns: calc(35% - 1rem) calc(65% - 1rem);
	}

	#page .main-content .columns-grid-75-25 {
		grid-template-columns: calc(65% - 1rem) calc(35% - 1rem);
	}

	#page .main-content .columns-grid-33-67 {
		grid-template-columns: calc(35% - 1rem) calc(65% - 1rem);
	}

	#page .main-content .columns-grid-67-33 {
		grid-template-columns: calc(65% - 1rem) calc(35% - 1rem);
	}

	#page .main-content .columns-grid-25-50-25 {
		grid-template-columns: repeat(2, calc(50% - 1rem));
	}

	#page .main-content .columns-grid-33-33-33 {
		grid-template-columns: repeat(2, calc(50% - 1rem));
	}

	#page .main-content .columns-grid-25-25-25-25 {
		grid-template-columns: repeat(2, calc(50% - 1rem));
	}

	#page .main-content .columns-grid-20-20-20-20-20 {
		grid-template-columns: repeat(2, calc(50% - 1rem));
	}
}

@media screen and (min-width: 769px) {
	#page .main-content .columns-grid-50-50 {
		grid-template-columns: repeat(2, calc(50% - 1rem));
	}

	#page .main-content .columns-grid-25-75 {
		grid-template-columns: calc(25% - 1rem) calc(75% - 1rem);
	}

	#page .main-content .columns-grid-75-25 {
		grid-template-columns: calc(75% - 1rem) calc(25% - 1rem);
	}

	#page .main-content .columns-grid-33-67 {
		grid-template-columns: calc(33% - 1rem) calc(67% - 1rem);
	}

	#page .main-content .columns-grid-67-33 {
		grid-template-columns: calc(67% - 1rem) calc(33% - 1rem);
	}

	#page .main-content .columns-grid-25-50-25 {
		grid-template-columns: calc(25% - 1rem) calc(50% - 2rem) calc(25% - 1rem);
	}

	#page .main-content .columns-grid-33-33-33 {
		grid-template-columns: repeat(3, calc(33.333333% - 1.333333rem));
	}

	#page .main-content .columns-grid-25-25-25-25 {
		grid-template-columns: repeat(4, calc(25% - 1.5rem));
	}

	#page .main-content .columns-grid-20-20-20-20-20 {
		grid-template-columns: repeat(5, calc(20% - 1.6rem));
	}
}

/*----- COLUMNS GRID - Close -----*/

/*----- FILE ICONS - Open -----*/
#page .main-content a[href$='.jpg']::after,
#page .main-content a[href$='.jpeg']::after,
#page .main-content a[href$='.png']::after,
#page .main-content a[href$='.gif']::after,
#page .main-content a[href$='.webp']::after,
#page .main-content a[href$='.svg']::after,
#page .main-content a[href$='.bmp']::after,
#page .main-content a[href$='.tiff']::after,
#page .main-content a[href$='.ico']::after,
#page .main-content a[href$='.mp4']::after,
#page .main-content a[href$='.avi']::after,
#page .main-content a[href$='.wmv']::after,
#page .main-content a[href$='.mov']::after,
#page .main-content a[href$='.flv']::after,
#page .main-content a[href$='.mkv']::after,
#page .main-content a[href$='.webm']::after,
#page .main-content a[href$='.mp3']::after,
#page .main-content a[href$='.wav']::after,
#page .main-content a[href$='.aac']::after,
#page .main-content a[href$='.flac']::after,
#page .main-content a[href$='.ogg']::after,
#page .main-content a[href$='.m4a']::after,
#page .main-content a[href$='.doc']::after,
#page .main-content a[href$='.docx']::after,
#page .main-content a[href$='.xls']::after,
#page .main-content a[href$='.xlsx']::after,
#page .main-content a[href$='.csv']::after,
#page .main-content a[href$='.ppt']::after,
#page .main-content a[href$='.pptx']::after,
#page .main-content a[href$='.pdf']::after,
#page .main-content a[href*='youtube.com']::after,
#page .main-content a[href*='youtu.be']::after,
#page .main-content a[href*='vimeo.com']::after,
#page .main-content a[href^='tel:']::after,
#page .main-content a[href^='mailto:']::after {
	font-family: 'Font Awesome 6 Pro';
	font-weight: 500;
	margin-left: 0.375rem;
}

/* Icons for image links */
#page .main-content a[href$='.jpg']::after,
#page .main-content a[href$='.jpeg']::after,
#page .main-content a[href$='.png']::after,
#page .main-content a[href$='.gif']::after,
#page .main-content a[href$='.webp']::after,
#page .main-content a[href$='.svg']::after,
#page .main-content a[href$='.bmp']::after,
#page .main-content a[href$='.tiff']::after,
#page .main-content a[href$='.ico']::after {
	content: '\f03e'; /* Image icon */
}

/* Icons for video links */
#page .main-content a[href$='.mp4']::after,
#page .main-content a[href$='.avi']::after,
#page .main-content a[href$='.wmv']::after,
#page .main-content a[href$='.mov']::after,
#page .main-content a[href$='.flv']::after,
#page .main-content a[href$='.mkv']::after,
#page .main-content a[href$='.webm']::after {
	content: '\f03d'; /* Video icon */
}

/* Icons for audio links */
#page .main-content a[href$='.mp3']::after,
#page .main-content a[href$='.wav']::after,
#page .main-content a[href$='.aac']::after,
#page .main-content a[href$='.flac']::after,
#page .main-content a[href$='.ogg']::after,
#page .main-content a[href$='.m4a']::after {
	content: '\f001'; /* Audio icon */
}

/* Icons for Word documents */
#page .main-content a[href$='.doc']::after,
#page .main-content a[href$='.docx']::after {
	content: '\f1c2'; /* Word icon */
	/* color: #2b579a; */
}

/* Icons for Excel files */
#page .main-content a[href$='.xls']::after,
#page .main-content a[href$='.xlsx']::after,
#page .main-content a[href$='.csv']::after {
	content: '\f1c3'; /* Excel icon */
	/* color: #217346; */
}

/* Icons for PowerPoint files */
#page .main-content a[href$='.ppt']::after,
#page .main-content a[href$='.pptx']::after {
	content: '\f1c4'; /* PowerPoint icon */
	/* color: #d24726; */
}

/* Icons for PDF files */
#page .main-content a[href$='.pdf']::after {
	content: '\f1c1'; /* PDF icon */
	/* color: #d9534f; */
}

/* Icons for YouTube links */
#page .main-content a[href*='youtube.com']::after,
#page .main-content a[href*='youtu.be']::after {
	font-family: 'Font Awesome 6 Brands'; /* YouTube icon */
	color: #ff0000;
	content: '\f167';
}

/* Icons for Vimeo links */
#page .main-content a[href*='vimeo.com']::after {
	font-family: 'Font Awesome 6 Brands';
	content: '\f27d'; /* Vimeo icon */
	/* color: #1ab7ea; */
}

/* Icons for E-mail links */
#page .main-content a[href^='mailto:']::after {
	content: '\f0e0'; /* Envelope icon */
}

/* Icons for Telephone links */
#page .main-content a[href^='tel:']::after {
	content: '\f095'; /* Telephone icon */
}
/*----- FILE ICONS - Close -----*/

/*----- TRANSITION - Open -----*/
#edit-cancel,
#page button,
#page input[type='submit'],
#page a {
	-webkit-transition: all 250ms ease-out;
	-moz-transition: all 250ms ease-out;
	-ms-transition: all 250ms ease-out;
	-o-transition: all 250ms ease-out;
	transition: all 250ms ease-out;
}
/*----- TRANSITION - Close -----*/
