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

#sidebar-right strong,
#sidebar-right b,
#page .main-content strong,
#page .main-content b {
	font-weight: 700;
}

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

#sidebar-right .block-content a:hover,
#page .main-content a:hover {
	color: var(--color-element-link-hover);
	text-decoration: underline !important;
	text-decoration-color: var(--color-element-link-hover);
}

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

#sidebar-right hr::after,
#sidebar-right hr::before,
#page .main-content hr::after,
#page .main-content hr::before {
	clear: both;
	content: '';
	display: block !important;
}

#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;
} */

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

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

#sidebar-right .rounded-corners,
#page .main-content .rounded-corners {
	-moz-border-radius: var(--border-radius);
	-webkit-border-radius: var(--border-radius);
	border-radius: var(--border-radius);
}
#sidebar-right .rounded-corners.caption > img,
#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;
}
#sidebar-right figure,
#page .main-content figure {
	display: table;
}
#sidebar-right .rounded-corners.caption > figcaption,
#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);
}

#sidebar-right .caption > figcaption,
#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;
}

#sidebar-right img[data-align='left'],
#sidebar-right .align-left,
#page .main-content img[data-align='left'],
#page .main-content .align-left {
	float: left;
	margin: 0.25rem 1.5rem 0.25rem 0;
}

#sidebar-right img[data-align='right'],
#sidebar-right .align-right,
#page .main-content img[data-align='right'],
#page .main-content .align-right {
	float: right;
	margin: 0.25rem 0 0.25rem 1.5rem;
}

#sidebar-right img[data-align='center'],
#sidebar-right .align-center,
#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;
}

#sidebar-right h1 + figure,
#sidebar-right h2 + figure,
#sidebar-right h3 + figure,
#sidebar-right h4 + figure,
#sidebar-right h5 + figure,
#sidebar-right h6 + figure,
#sidebar-right p:first-child + figure,
#sidebar-right h1 + img,
#sidebar-right h2 + img,
#sidebar-right h3 + img,
#sidebar-right h4 + img,
#sidebar-right h5 + img,
#sidebar-right h6 + img,
#sidebar-right p:first-child + img,
#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;
}

#page fieldset {
	border: 1px solid #9ecce3;
	border-radius: 0.25rem;
	padding: 1.5rem;
	background: #ffffff;
	display: grid;
	gap: 0.5rem;
	position: relative;
}

#page fieldset legend {
	font-size: 1rem;
	font-weight: 500;
	padding: 0 0.5rem;
	color: #000000;
}
#sidebar-right .block-content button,
#page .main-content button {
	background-color: var(--color-white);
	border-radius: var(--border-radius-buttons);
	border: 1px solid var(--color-steel-200);
	color: var(--color-cyan-800);
	font-family: var(--primary-font-family);
	font-size: 1rem;
	font-weight: 500;
	line-height: 160%;
	padding: 0.5rem 1rem 0.625rem 1rem;
}
#sidebar-right .block-content button:hover,
#page .main-content button:hover {
	background-color: var(--color-cyan-800);
	border-color: var(--color-cyan-800);
	color: var(--color-white);
}
/*----- SETUP - Close -----*/

/*----- HEADINGS - Open -----*/
#sidebar-right h1,
#sidebar-right h2,
#sidebar-right h3,
#sidebar-right h4,
#sidebar-right h5,
#sidebar-right h6,
#sidebar-right 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.5rem 0;
	position: relative;
	text-transform: none;
}

#sidebar-right h1,
#page h1 {
	font-size: 2.25rem;
	font-weight: 700;
	letter-spacing: -0.03125rem;
	line-height: 120%;
}
#sidebar-right h2,
#page h2 {
	font-size: 2.5rem;
	font-weight: 700;
	letter-spacing: -0.0125rem;
	line-height: 120%;
}
#sidebar-right h3,
#page h3 {
	font-size: 1.875rem;
	font-weight: 700;
	line-height: 120%;
}
#sidebar-right h4,
#page h4 {
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 120%;
}
#sidebar-right h5,
#page h5 {
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 120%;
}
#sidebar-right h6,
#page h6 {
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.1875rem;
	line-height: 120%;
	text-transform: uppercase;
}

#sidebar-right h1 a,
#sidebar-right h2 a,
#sidebar-right h3 a,
#sidebar-right h4 a,
#sidebar-right h5 a,
#sidebar-right h6 a,
#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;
}

#sidebar-right h1 a:hover,
#sidebar-right h2 a:hover,
#sidebar-right h3 a:hover,
#sidebar-right h4 a:hover,
#sidebar-right h5 a:hover,
#sidebar-right h6 a:hover,
#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);
}

#sidebar-right h1 b,
#sidebar-right h1 strong,
#sidebar-right h2 b,
#sidebar-right h2 strong,
#sidebar-right h3 b,
#sidebar-right h3 strong,
#sidebar-right h4 b,
#sidebar-right h4 strong,
#sidebar-right h5 b,
#sidebar-right h5 strong,
#sidebar-right h6 b,
#sidebar-right h6 strong,
#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: 700;
}

#sidebar-right h2 + h1,
#sidebar-right h3 + h1,
#sidebar-right h4 + h1,
#sidebar-right h5 + h1,
#sidebar-right h6 + h1,
#sidebar-right h3 + h2,
#sidebar-right h4 + h2,
#sidebar-right h5 + h2,
#sidebar-right h6 + h2,
#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.8125rem !important;
}

#sidebar-right h2 + h3,
#page h2 + h3,
#sidebar-right h3 + h4,
#page h3 + h4,
#sidebar-right h4 + h5,
#page h4 + h5 {
	margin-top: -0.75rem !important;
}

#sidebar-right h3 + h2[class*='fancy-'],
#sidebar-right h4 + h2[class*='fancy-'],
#sidebar-right h5 + h2[class*='fancy-'],
#sidebar-right h6 + h2[class*='fancy-'],
#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;
}

#sidebar-right p + h2,
#sidebar-right p + h3,
#sidebar-right p + h4,
#sidebar-right p + h5,
#sidebar-right p + h6,
#sidebar-right blockquote + h2,
#sidebar-right blockquote + h3,
#sidebar-right blockquote + h4,
#sidebar-right blockquote + h5,
#sidebar-right blockquote + h6,
#sidebar-right ul + h2,
#sidebar-right ul + h3,
#sidebar-right ul + h4,
#sidebar-right ul + h5,
#sidebar-right ul + h6,
#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;
}

#sidebar-right p + h2,
#sidebar-right blockquote + h2,
#sidebar-right ul + h2,
#page .main-content p + h2,
#page .main-content blockquote + h2,
#page .main-content ul + h2 {
	margin-top: 4rem !important;
}

#sidebar-right hr + h2,
#page .main-content hr + h2 {
	margin-top: -0.45rem !important;
}
#sidebar-right hr + h3,
#page .main-content hr + h3 {
	margin-top: -0.2rem !important;
}

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

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

#sidebar-right .block-content ul li,
#page .main-content ul li {
	list-style: none;
	margin-bottom: 0.5rem;
	padding: 0 0 0 1.25rem;
	position: relative;
}

#sidebar-right .block-content ul li:before,
#page .main-content ul li:before {
	background-color: var(--color-cyan-700) !important;
	border-radius: 50%;
	content: '';
	display: block;
	height: 0.4375rem;
	left: 0.25rem;
	position: absolute;
	top: 0.625rem;
	width: 0.4375rem;
}
#sidebar-right .block-content ul ul li:before,
#page .main-content ul ul li:before {
	background-color: var(--color-cyan-500) !important;
}
#sidebar-right .block-content ul.fancy-list,
#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;
}

#sidebar-right .block-content ul.dark-green-list li:before,
#page .main-content ul.dark-green-list li:before {
	background-color: var(--color-green) !important;
}

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

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

#sidebar-right .block-content ul.black-list li:before,
#page .main-content ul.black-list li:before {
	background-color: var(--color-black) !important;
}

#sidebar-right .block-content ul.menu-list li:before,
#page .main-content ul.menu-list li:before {
	border-bottom: 1px solid var(--color-secondary-200) !important;
	margin-bottom: 1rem !important;
	padding-bottom: 1rem !important;
}
/*----- LIST - Close -----*/

/*----- FANCY PARAGRAPH - Open -----*/
#sidebar-right p.fancy-paragraph,
#page 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;
}
#sidebar-right p.fancy-paragraph-2,
#page p.fancy-paragraph-2 {
	background-color: #e9f9fb !important;
	border-radius: var(--border-radius);
	color: var(--color-heading);
	margin-bottom: 1.25rem !important;
	margin-top: 1.25rem !important;
	padding: 1rem;
}
#sidebar-right p.fancy-paragraph-3,
#page p.fancy-paragraph-3 {
	background-color: var(--color-gray-50) !important;
	border-radius: var(--border-radius);
	color: var(--color-heading);
	margin-bottom: 1.25rem !important;
	margin-top: 1.25rem !important;
	padding: 1rem;
}
#sidebar-right p.fancy-paragraph-4,
#page p.fancy-paragraph-4 {
	border-left: 0.125rem solid var(--color-cyan-700);
	margin-bottom: 1.25rem !important;
	margin-top: 1.25rem !important;
	padding-left: 1rem;
}
#sidebar-right p.fancy-paragraph-5,
#page p.fancy-paragraph-5 {
	border-left: 0.125rem solid var(--color-cyan-400);
	margin-bottom: 1.25rem !important;
	margin-top: 1.25rem !important;
	padding-left: 1rem;
}
#sidebar-right p.fancy-paragraph-6,
#page p.fancy-paragraph-6 {
	border-left: 0.125rem solid var(--color-quaternary-300);
	margin-bottom: 1.25rem !important;
	margin-top: 1.25rem !important;
	padding-left: 1rem;
}

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

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

#sidebar-right .special-heading-9,
#sidebar-right .special-heading-8,
#sidebar-right .special-heading-7,
#page .special-heading-9,
#page .special-heading-8,
#page .special-heading-7 {
	color: var(--color-heading);
	margin-top: 0;
	padding-left: 1rem;
	position: relative;
}

#sidebar-right .webform-section-title,
#sidebar-right .special-heading-6,
#sidebar-right .special-heading-5,
#sidebar-right .special-heading-4,
#sidebar-right .special-heading-3,
#sidebar-right .special-heading-2,
#sidebar-right .special-heading-1,
#page .webform-section-title,
#page .special-heading-6,
#page .special-heading-5,
#page .special-heading-4,
#page .special-heading-3,
#page .special-heading-2,
#page .special-heading-1 {
	color: var(--color-heading);
	margin-top: 0;
	padding-top: 1rem;
	position: relative;
}

#sidebar-right .special-heading-9::before,
#sidebar-right .special-heading-8::before,
#sidebar-right .special-heading-7::before,
#page .special-heading-9::before,
#page .special-heading-8::before,
#page .special-heading-7::before {
	border-radius: var(--border-radius);
	content: '';
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 0.125rem;
}

#sidebar-right .webform-section-title::before,
#sidebar-right .special-heading-6::before,
#sidebar-right .special-heading-5::before,
#sidebar-right .special-heading-4::before,
#sidebar-right .special-heading-3::before,
#sidebar-right .special-heading-2::before,
#sidebar-right .special-heading-1::before,
#page .webform-section-title::before,
#page .special-heading-6::before,
#page .special-heading-5::before,
#page .special-heading-4::before,
#page .special-heading-3::before,
#page .special-heading-2::before,
#page .special-heading-1::before {
	border-radius: var(--border-radius);
	content: '';
	height: 0.25rem;
	left: 0;
	position: absolute;
	top: 0;
	width: 2rem;
}

#sidebar-right .webform-section-title::before,
#sidebar-right .special-heading-1::before,
#page .webform-section-title::before,
#page .special-heading-1::before {
	background-color: var(--color-cyan-600);
}
#sidebar-right .special-heading-2::before,
#page .special-heading-2::before {
	background-color: var(--color-tertiary-700);
}
#sidebar-right .special-heading-3::before,
#page .special-heading-3::before {
	background-color: var(--color-quaternary-300);
}
#sidebar-right .special-heading-4::before,
#page .special-heading-4::before {
	background-color: var(--color-cyan-300);
}
#sidebar-right .special-heading-5::before,
#page .special-heading-5::before {
	background-color: var(--color-amber-600);
}
#sidebar-right .special-heading-6::before,
#page .special-heading-6::before {
	background-color: var(--color-green-400);
}
#sidebar-right .special-heading-7::before,
#page .special-heading-7::before {
	background-color: var(--color-cyan-500);
}
#sidebar-right .special-heading-8::before,
#page .special-heading-8::before {
	background-color: var(--color-tertiary-700);
}
#sidebar-right .special-heading-9::before,
#page .special-heading-9::before {
	background-color: var(--color-amber-600);
}

#sidebar-right .special-heading-10,
#sidebar-right .special-heading-11,
#sidebar-right .special-heading-12,
#page .special-heading-10,
#page .special-heading-11,
#page .special-heading-12 {
	color: var(--color-heading);
	display: block;
	margin-top: 0;
	padding-top: 0;
	position: relative;
}

#sidebar-right .special-heading-10::after,
#sidebar-right .special-heading-11::after,
#sidebar-right .special-heading-12::after,
#page .special-heading-10::after,
#page .special-heading-11::after,
#page .special-heading-12::after {
	border-radius: var(--border-radius);
	content: '';
	display: block;
	height: 0.25rem;
	margin-top: 1rem;
	width: 2rem;
}

#sidebar-right .special-heading-10::after,
#page .special-heading-10::after {
	background-color: var(--color-primary);
}
#sidebar-right .special-heading-11::after,
#page .special-heading-11::after {
	background-color: var(--color-tertiary);
}
#sidebar-right .special-heading-12::after,
#page .special-heading-12::after {
	background-color: var(--color-green-600);
}

#sidebar-right h6.special-heading-10,
#sidebar-right h6.special-heading-11,
#sidebar-right h6.special-heading-12,
#page h6.special-heading-10,
#page h6.special-heading-11,
#page 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;
}

#sidebar-right h6.special-heading-10::after,
#sidebar-right h6.special-heading-11::after,
#sidebar-right h6.special-heading-12::after,
#page h6.special-heading-10::after,
#page h6.special-heading-11::after,
#page h6.special-heading-12::after {
	display: none;
}
#sidebar-right h6.special-heading-10,
#page h6.special-heading-10 {
	background-color: var(--color-slate-50);
	color: var(--color-black);
}
#sidebar-right h6.special-heading-11,
#page h6.special-heading-11 {
	background-color: var(--color-cyan-800);
	color: var(--color-white);
}
#sidebar-right h6.special-heading-12,
#page h6.special-heading-12 {
	background-color: var(--color-tertiary-700);
	color: var(--color-white);
}

#sidebar-right .special-heading-12.text-align-center,
#sidebar-right .special-heading-11.text-align-center,
#sidebar-right .special-heading-10.text-align-center,
#sidebar-right .special-heading-9.text-align-center,
#sidebar-right .special-heading-8.text-align-center,
#sidebar-right .special-heading-7.text-align-center,
#sidebar-right .special-heading-6.text-align-center,
#sidebar-right .special-heading-5.text-align-center,
#sidebar-right .special-heading-4.text-align-center,
#sidebar-right .special-heading-3.text-align-center,
#sidebar-right .special-heading-2.text-align-center,
#sidebar-right .special-heading-1.text-align-center,
#page .special-heading-12.text-align-center,
#page .special-heading-11.text-align-center,
#page .special-heading-10.text-align-center,
#page .special-heading-9.text-align-center,
#page .special-heading-8.text-align-center,
#page .special-heading-7.text-align-center,
#page .special-heading-6.text-align-center,
#page .special-heading-5.text-align-center,
#page .special-heading-4.text-align-center,
#page .special-heading-3.text-align-center,
#page .special-heading-2.text-align-center,
#page .special-heading-1.text-align-center {
	text-align: center;
}
@media screen and (max-width: 768px) {
	#sidebar-right h2.fancy-title-lg,
	#page h2.fancy-title-lg {
		font-size: 1.75rem;
	}
	#sidebar-right h2.fancy-title-xl,
	#page h2.fancy-title-xl {
		font-size: 2.5rem;
	}
}
/*----- SPECIAL HEADINGS - Close -----*/

/*----- SPECIAL BUTTONS - Open -----*/
#sidebar-right a.button,
#sidebar-right a.btn-blue,
#sidebar-right a.btn-blue-light,
#sidebar-right a.btn-blue-dark,
#sidebar-right a.btn-orange,
#sidebar-right a.btn-green,
#sidebar-right a.btn-amber,
#sidebar-right a.btn-red,
#sidebar-right a.btn-cyan,
#sidebar-right a.btn-cyan-light,
#sidebar-right a.btn-white,
#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-green,
#page .main-content a.btn-amber,
#page .main-content a.btn-red,
#page .main-content a.btn-cyan,
#page .main-content a.btn-cyan-light,
#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: 1rem;
	font-weight: 400;
	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 */
#sidebar-right a.button.full-width,
#sidebar-right a.btn-blue.full-width,
#sidebar-right a.btn-blue-light.full-width,
#sidebar-right a.btn-blue-dark.full-width,
#sidebar-right a.btn-orange.full-width,
#sidebar-right a.btn-green.full-width,
#sidebar-right a.btn-amber.full-width,
#sidebar-right a.btn-red.full-width,
#sidebar-right a.btn-cyan.full-width,
#sidebar-right a.btn-cyan-light.full-width,
#sidebar-right a.btn-white.full-width,
#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-green.full-width,
#page .main-content a.btn-amber.full-width,
#page .main-content a.btn-red.full-width,
#page .main-content a.btn-cyan.full-width,
#page .main-content a.btn-cyan-light.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 */
#sidebar-right a.button,
#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); */
}

#sidebar-right a.button:hover,
#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);
}

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

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

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

#sidebar-right a.btn-blue:hover,
#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);
}

#sidebar-right a.btn-blue:focus,
#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 */
#sidebar-right a.btn-blue-light,
#page .main-content a.btn-blue-light {
	background: var(--color-blue-50);
	border-color: var(--color-blue-200);
	color: var(--color-blue-800) !important;
}

#sidebar-right a.btn-blue-light:hover,
#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);
}

#sidebar-right a.btn-blue-light:focus,
#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 */
#sidebar-right a.btn-blue-dark,
#page .main-content a.btn-blue-dark {
	background: var(--color-blue-800);
	color: var(--color-white) !important;
	/* box-shadow: var(--box-shadow); */
}

#sidebar-right a.btn-blue-dark:hover,
#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);
}

#sidebar-right a.btn-blue-dark:focus,
#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 */
#sidebar-right a.btn-orange,
#page .main-content a.btn-orange {
	background: var(--color-orange-500);
	color: var(--color-white) !important;
	/* box-shadow: var(--box-shadow); */
}

#sidebar-right a.btn-orange:hover,
#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);
}

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

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

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

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

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

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

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

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

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

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

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

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

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

/* Cyan Light Button - WCAG AA: white text on darker cyan (4.5:1+ contrast) */
#sidebar-right a.btn-cyan-light,
#page .main-content a.btn-cyan-light {
	background: var(--color-cyan-100); /* Much darker cyan for better contrast */
	color: var(--color-black) !important;
	/* box-shadow: var(--box-shadow); */
}

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

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

/* White/Ghost Button - WCAG AA: 7:1 contrast */
#sidebar-right a.btn-white,
#page .main-content a.btn-white {
	background: var(--color-white);
	border-color: var(--color-steel-200);
	color: var(--color-cyan-800) !important;
	/* box-shadow: var(--box-shadow); */
}

#sidebar-right a.btn-white:hover,
#page .main-content a.btn-white:hover {
	background: var(--color-cyan-800);
	border-color: var(--color-cyan-800);
	box-shadow: 0 0 1rem 0 rgba(0, 96, 100, 0.25);
	color: var(--color-white) !important;
	transform: translateY(-1px);
}

#sidebar-right a.btn-white:focus,
#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 */
#sidebar-right a.button.btn-small,
#sidebar-right a.btn-blue.btn-small,
#sidebar-right a.btn-blue-light.btn-small,
#sidebar-right a.btn-blue-dark.btn-small,
#sidebar-right a.btn-orange.btn-small,
#sidebar-right a.btn-green.btn-small,
#sidebar-right a.btn-amber.btn-small,
#sidebar-right a.btn-red.btn-small,
#sidebar-right a.btn-cyan.btn-small,
#sidebar-right a.btn-cyan-light.btn-small,
#sidebar-right a.btn-white.btn-small,
#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-green.btn-small,
#page .main-content a.btn-amber.btn-small,
#page .main-content a.btn-red.btn-small,
#page .main-content a.btn-cyan.btn-small,
#page .main-content a.btn-cyan-light.btn-small,
#page .main-content a.btn-white.btn-small {
	border-radius: var(--border-radius-buttons);
	font-size: 0.875rem;
	min-height: 2.25rem; /* Still accessible but smaller */
	padding: 0.5rem 0.75rem;
}

#sidebar-right a.button.btn-large,
#sidebar-right a.btn-blue.btn-large,
#sidebar-right a.btn-blue-light.btn-large,
#sidebar-right a.btn-blue-dark.btn-large,
#sidebar-right a.btn-orange.btn-large,
#sidebar-right a.btn-green.btn-large,
#sidebar-right a.btn-amber.btn-large,
#sidebar-right a.btn-red.btn-large,
#sidebar-right a.btn-cyan.btn-large,
#sidebar-right a.btn-cyan-light.btn-large,
#sidebar-right a.btn-white.btn-large,
#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-green.btn-large,
#page .main-content a.btn-amber.btn-large,
#page .main-content a.btn-red.btn-large,
#page .main-content a.btn-cyan.btn-large,
#page .main-content a.btn-cyan-light.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 */
#sidebar-right a.button svg,
#sidebar-right a.btn-blue svg,
#sidebar-right a.btn-blue-light svg,
#sidebar-right a.btn-blue-dark svg,
#sidebar-right a.btn-orange svg,
#sidebar-right a.btn-green svg,
#sidebar-right a.btn-amber svg,
#sidebar-right a.btn-red svg,
#sidebar-right a.btn-cyan svg,
#sidebar-right a.btn-cyan-light svg,
#sidebar-right a.btn-white svg,
#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-green svg,
#page .main-content a.btn-amber svg,
#page .main-content a.btn-red svg,
#page .main-content a.btn-cyan svg,
#page .main-content a.btn-cyan-light svg,
#page .main-content a.btn-white svg {
	width: 1rem;
	height: 1rem;
}

/* Loading state */
#sidebar-right a.button.loading,
#sidebar-right a.btn-blue.loading,
#sidebar-right a.btn-blue-light.loading,
#sidebar-right a.btn-blue-dark.loading,
#sidebar-right a.btn-orange.loading,
#sidebar-right a.btn-green.loading,
#sidebar-right a.btn-amber.loading,
#sidebar-right a.btn-red.loading,
#sidebar-right a.btn-cyan.loading,
#sidebar-right a.btn-cyan-light.loading,
#sidebar-right a.btn-white.loading,
#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-green.loading,
#page .main-content a.btn-amber.loading,
#page .main-content a.btn-red.loading,
#page .main-content a.btn-cyan.loading,
#page .main-content a.btn-cyan-light.loading,
#page .main-content a.btn-white.loading {
	opacity: 0.7;
	pointer-events: none;
	cursor: not-allowed;
}

/* Accessibility improvements */
@media (prefers-reduced-motion: reduce) {
	#sidebar-right a.button,
	#sidebar-right a.btn-blue,
	#sidebar-right a.btn-blue-light,
	#sidebar-right a.btn-blue-dark,
	#sidebar-right a.btn-orange,
	#sidebar-right a.btn-green,
	#sidebar-right a.btn-amber,
	#sidebar-right a.btn-red,
	#sidebar-right a.btn-cyan,
	#sidebar-right a.btn-cyan-light,
	#sidebar-right a.btn-white,
	#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-green,
	#page .main-content a.btn-amber,
	#page .main-content a.btn-red,
	#page .main-content a.btn-cyan,
	#page .main-content a.btn-cyan-light,
	#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) {
	#sidebar-right a.button,
	#sidebar-right a.btn-blue,
	#sidebar-right a.btn-blue-dark,
	#sidebar-right a.btn-orange,
	#sidebar-right a.btn-green,
	#sidebar-right a.btn-amber,
	#sidebar-right a.btn-red,
	#sidebar-right a.btn-cyan,
	#sidebar-right a.btn-cyan-light,
	#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-green,
	#page .main-content a.btn-amber,
	#page .main-content a.btn-red,
	#page .main-content a.btn-cyan,
	#page .main-content a.btn-cyan-light {
		border: 2px solid;
	}

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

	#sidebar-right a.button:focus,
	#sidebar-right a.btn-blue:focus,
	#sidebar-right a.btn-blue-light:focus,
	#sidebar-right a.btn-blue-dark:focus,
	#sidebar-right a.btn-orange:focus,
	#sidebar-right a.btn-green:focus,
	#sidebar-right a.btn-amber:focus,
	#sidebar-right a.btn-red:focus,
	#sidebar-right a.btn-cyan:focus,
	#sidebar-right a.btn-cyan-light:focus,
	#sidebar-right a.btn-white:focus,
	#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-green:focus,
	#page .main-content a.btn-amber:focus,
	#page .main-content a.btn-red:focus,
	#page .main-content a.btn-cyan:focus,
	#page .main-content a.btn-cyan-light:focus,
	#page .main-content a.btn-white:focus {
		outline: 3px solid;
		outline-offset: 2px;
	}
}
/*----- SPECIAL BUTTONS - Close -----*/

/*----- TABLE - Open -----*/
/* Base table styles with modern design */
#page .main-content table {
	background-color: var(--color-white);
	border: 1px solid var(--color-slate-200);
	border-collapse: collapse;
	/* border-radius: var(--border-radius); */
	border-radius: 0.25rem 0.25rem 0 0;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
	font-family: var(--primary-font-family);
	margin: 1.5rem 0;
	overflow: hidden; /* For rounded corners */
	width: 100%;
}

/* Table elements with consistent styling */
#page .main-content table,
#page .main-content thead,
#page .main-content tbody,
#page .main-content tfoot,
#page .main-content tr,
#page .main-content th,
#page .main-content td {
	border-collapse: collapse;
	font-size: 0.9375rem; /* 15px for better readability */
	font-style: normal;
	line-height: 1.5; /* Improved from 1.1 for better readability */
}

/* Header styling with professional slate colors */
#page .main-content thead tr,
#page .main-content table tr th {
	background: #008ca7;
	border: 1px solid #008ca7 !important;
	color: var(--color-white);
	font-weight: 600;
	text-align: left;
}

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

#page .main-content thead th:last-child,
#page .main-content table tr th:last-child {
	border-right: none;
}

#page .main-content table tr th h2,
#page .main-content table tr th h3,
#page .main-content table tr th h4,
#page .main-content table tr th h5 {
	color: var(--color-white);
	margin-bottom: 0;
}

/* Accessible 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;
}

#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-slate-200);
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* Sortable column indicators */
#page .main-content thead th.sortable {
	cursor: pointer;
	user-select: none;
}

#page .main-content thead th.sortable:hover {
	background: linear-gradient(
		135deg,
		var(--color-slate-600),
		var(--color-slate-500)
	);
}

#page .main-content thead th.sortable::after {
	content: '↕';
	margin-left: 0.5rem;
	opacity: 0.6;
}

#page .main-content thead th.sorted-asc::after {
	content: '↑';
	opacity: 1;
}

#page .main-content thead th.sorted-desc::after {
	content: '↓';
	opacity: 1;
}

/* Body row styling with zebra striping */
#page .main-content tbody tr {
	background-color: var(--color-white);
	border-bottom: 1px solid var(--color-gray-250);
	color: var(--color-slate-700);
	transition: all 250ms ease-out;
}

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

/* Enhanced hover effects */
#page .main-content tbody tr:hover {
	background-color: var(--color-gray-150);
}

/* Cell styling */
#page .main-content tbody td {
	border-right: 1px solid var(--color-gray-250);
	color: var(--color-slate-700);
	font-weight: 400;
	padding: 0.875rem;
	vertical-align: middle;
}

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

/* Row headers (scope="row") */
#page .main-content tbody th[scope='row'] {
	background-color: var(--color-gray-100);
	border-right: 1px solid var(--color-gray-250);
	color: var(--color-gray-800);
	font-weight: 600;
	padding: 0.875rem;
}

/* Footer styling */
#page .main-content tfoot tr,
#page .main-content tfoot th,
#page .main-content tfoot td {
	background-color: var(--color-gray-100);
	border-top: 2px solid var(--color-gray-250);
	color: var(--color-slate-700);
	font-weight: 500;
	padding: 0.875rem;
}

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

/* Borderless table */
#page .main-content table.table-borderless,
#page .main-content table.table-borderless th,
#page .main-content table.table-borderless td,
#page .main-content table.table-borderless tbody tr {
	border: none;
}

/* Dark table variant */
#page .main-content table.table-dark {
	background-color: var(--color-slate-800);
	color: var(--color-slate-200);
}

#page .main-content table.table-dark thead th {
	background: linear-gradient(
		135deg,
		var(--color-slate-900),
		var(--color-slate-800)
	);
	border-color: var(--color-slate-600);
	color: var(--color-white);
}

#page .main-content table.table-dark tbody tr {
	background-color: var(--color-slate-800);
	border-color: var(--color-slate-600);
	color: var(--color-slate-200);
}

#page .main-content table.table-dark tbody tr:nth-child(even) {
	background-color: var(--color-slate-750);
}

#page .main-content table.table-dark tbody tr:hover {
	background-color: var(--color-slate-700);
}

/* Green/Error row variants */
#page .main-content tbody tr.table-green {
	background-color: rgba(0, 179, 136, 0.1);
	color: var(--color-green);
}

#page .main-content tbody tr.table-amber {
	background-color: rgba(255, 193, 7, 0.1);
	color: #856404;
}

#page .main-content tbody tr.table-error {
	background-color: rgba(222, 68, 55, 0.1);
	color: var(--color-error);
}

#page .main-content tbody tr.table-cyan {
	background-color: rgba(48, 189, 255, 0.1);
	color: var(--color-cyan);
}

/* Numeric alignment */
#page .main-content td.numeric,
#page .main-content th.numeric {
	text-align: right;
}

#page table .draggable a.tabledrag-handle {
	display: inline-block;
	height: auto;
	margin-left: 0;
	text-decoration: none !important;
}
#page table .draggable a.tabledrag-handle .handle {
	height: 30px;
	margin: 0;
	width: 28px;
}

/* Responsive design */
@media (max-width: 768px) {
	/* Stack table on mobile */
	#page .main-content table.table-responsive {
		display: block;
		overflow-x: auto;
		white-space: nowrap;
	}

	/* Alternative: Convert to cards on mobile */
	#page .main-content table.table-mobile-cards {
		border: none;
		box-shadow: none;
	}

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

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

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

	#page .main-content table.table-mobile-cards td {
		border: none;
		margin-bottom: 0.5rem;
		padding: 0;
		position: relative;
		padding-left: 40%;
	}

	#page .main-content table.table-mobile-cards td::before {
		content: attr(data-label) ': ';
		font-weight: 600;
		left: 0;
		position: absolute;
		top: 0;
		width: 35%;
	}
}

/* Accessibility improvements */
/* Focus styles for keyboard navigation */
#page .main-content table th:focus,
#page .main-content table td:focus {
	background-color: var(--color-slate-100);
	outline: 2px solid var(--color-primary);
	outline-offset: 2px;
}

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

	#page .main-content thead th,
	#page .main-content table tr th {
		border: 2px solid;
	}

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

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

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

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

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

	#page .main-content tbody tr:hover {
		background-color: transparent !important;
		box-shadow: none !important;
	}
}
/*----- TABLE - Close-----*/

/*----- BLOCKQUOTE - Open -----*/
#sidebar-right blockquote,
#page .main-content blockquote {
	background: #fbffff;
	border: 1px solid #eee;
	border-left: 4px solid var(--color-cyan-600);
	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 */
#sidebar-right blockquote::before,
#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);
}

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

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

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

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

/* Citation/author styling */
#sidebar-right blockquote cite,
#sidebar-right blockquote footer,
#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;
}

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

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

#sidebar-right blockquote.green::before,
#page .main-content blockquote.green::before {
	color: var(--color-green-600);
}

#sidebar-right blockquote.green:hover,
#page .main-content blockquote.green:hover {
	border-left-color: var(--color-green-700);
}

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

#sidebar-right blockquote.amber::before,
#page .main-content blockquote.amber::before {
	color: var(--color-amber-500);
}

#sidebar-right blockquote.amber:hover,
#page .main-content blockquote.amber:hover {
	border-left-color: var(--color-amber-600);
}

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

#sidebar-right blockquote.cyan::before,
#page .main-content blockquote.cyan::before {
	color: var(--color-cyan-600);
}

#sidebar-right blockquote.cyan:hover,
#page .main-content blockquote.cyan:hover {
	border-left-color: var(--color-cyan-700);
}

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

#sidebar-right blockquote.red::before,
#page .main-content blockquote.red::before {
	color: var(--color-red-600);
}

#sidebar-right blockquote.red:hover,
#page .main-content blockquote.red:hover {
	border-left-color: var(--color-red-700);
}

/* Minimal variant without quote marks */
#sidebar-right blockquote.minimal,
#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;
}

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

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

/* Large/featured quote */
#sidebar-right blockquote.featured,
#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;
}

#sidebar-right blockquote.featured::before,
#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,
	#sidebar-right blockquote {
		transition: none;
	}

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

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

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

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

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

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

	#sidebar-right blockquote.featured::before,
	#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-15-85 {
		grid-template-columns: calc(25% - 1rem) calc(75% - 1rem);
	}

	#page .main-content .columns-grid-85-15 {
		grid-template-columns: calc(75% - 1rem) calc(25% - 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-15-85 {
		grid-template-columns: calc(15% - 1rem) calc(85% - 1rem);
	}

	#page .main-content .columns-grid-85-15 {
		grid-template-columns: calc(85% - 1rem) calc(15% - 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 7 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";
}

/* 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";
}

/* 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";
}

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

/* 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";
}

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

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

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

/* Icons for Vimeo links
#page .main-content a[href*="vimeo.com"]::after {
    font-family: "Font Awesome 7 Brands";
   content: "\f27d";
}

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

/* Icons for Telephone links
#page .main-content a[href^="tel:"]::after {
    content: "\f095";
}
/*----- 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 -----*/
