.digital_syllabus_wrapper {
	--grey-dark: #212529;
	--grey: #868E96;
	--grey-mid: #d9d9e0;
	--grey-light: #E9ECEF;
	--grey-pale: #F6F6F6;
	--orange: #EF8266;
	--orange-light: #F5B3A2;
	--orange-pale: #FCE6E0;
	--purple: #614C9A;
	--purple-light: #ECDFF5;
	--purple-pale: #E7E1F74A;
	--violet: #995099;
	--violet-light: #C691C6;
	--violet-pale: #EBDCEB;
	--red: #CC4662;
	--red-light: #CC466233;
	--outcomes: var(--purple);
	--assessments: var(--violet);
	--procedures: var(--orange);
	--search: var(--red);
	--box-shadow: 1px 0 5px 2px #0000001A;
	--border-radius-small: 4px;
	--border-radius-medium: 8px;
	--border-radius-large: 20px;
	/*--border-radius-full: 9999px;*/
	color: var(--grey-dark);
	font-size: 1rem;
}

.digital_syllabus_wrapper #digital_syllabus_filters {
	margin-bottom: 2rem;
}

.digital_syllabus_wrapper .syllabus-tabs {
	margin: 0 auto;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	padding: 0;
}

.digital_syllabus_wrapper .syllabus-tabs li {
	list-style: none;
	flex: 0;
	white-space: nowrap;
	border: 2px solid var(--grey-mid);
	border-bottom: 4px solid var(--purple);
	border-radius: var(--border-radius-large) var(--border-radius-large) 0 0;
	margin: 0;
	background-color: white;
}

.digital_syllabus_wrapper .syllabus-tabs li h2 {
	padding: 0;
	margin: 0;
	text-align: center;
}

.digital_syllabus_wrapper .syllabus-tabs li h2 a {
	padding: 0.5rem 2rem;
	line-height: 3;
	color: var(--purple);
	font-weight: bold;
	font-size: 1rem;
	text-decoration: none;
	/*text-decoration-thickness: 4px;*/
	/*text-underline-offset: 10px;*/
}

.digital_syllabus_wrapper .syllabus-tabs li:has(a#outcomes_tab) {
	border-bottom-color: var(--outcomes);
}

.digital_syllabus_wrapper .syllabus-tabs li:has(a#assessments_tab) {
	border-bottom-color: var(--assessments);
}

.digital_syllabus_wrapper .syllabus-tabs li:has(a#procedures_tab) {
	border-bottom-color: var(--procedures);
}

.digital_syllabus_wrapper .syllabus-tabs li:has(a#search_tab) {
	border-bottom-color: var(--search);
}

.digital_syllabus_wrapper .syllabus-tabs li:has(a[aria-selected=true]) {
	background-color: var(--grey-mid);
}

.digital_syllabus_wrapper .syllabus-tab-content {
	background-color: var(--grey-mid);
	border-radius: var(--border-radius-medium);
}

.digital_syllabus_wrapper .syllabus-tab-content:not(.active) {
	display: none;
}

.digital_syllabus_wrapper form {
	padding: 2rem;
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	justify-content: center;
}

.digital_syllabus_wrapper form input:not([type=checkbox]) {
	border: 1px solid var(--grey);
	background-color: white;
	border-radius: var(--border-radius-medium);
	padding: 0.5rem 1rem;
	line-height: 1;
	font-size: 1rem;
}

.digital_syllabus_wrapper form button {
	background-color: var(--purple);
	border-radius: var(--border-radius-medium);
	padding: 0.5rem 1rem;
	color: white;
	font-weight: bold;
	font-size: 1rem;
	border: none;
	cursor: pointer;
}

.digital_syllabus_wrapper form#outcomes-form button {
	background-color: var(--outcomes);
}

.digital_syllabus_wrapper form#assessments-form button {
	background-color: var(--assessments);
}

.digital_syllabus_wrapper form#procedures-form button {
	background-color: var(--procedures);
}

.digital_syllabus_wrapper form#search-form button {
	background-color: var(--search);
}

.digital_syllabus_wrapper form button img {
	margin-right: 0.5rem;
	vertical-align: text-bottom;
}

.digital_syllabus_wrapper form button[disabled] {
	opacity: 0.25;
	cursor: default;
}

.digital_syllabus_wrapper legend {
	font-weight: bold;
}

.digital_syllabus_wrapper legend .required {
	color: var(--red);
}

.digital_syllabus_wrapper legend:has(+ details[disabled]) {
	color: var(--grey);
}

.digital_syllabus_wrapper details {
	position: relative;
	cursor: pointer;
}

.digital_syllabus_wrapper details[disabled] {
	color: var(--grey);
	cursor: default;
}

.digital_syllabus_wrapper details summary {
	border: 1px solid var(--grey);
	background-color: white;
	border-radius: var(--border-radius-medium);
	padding: 0.325rem 1.375rem 0.325rem 0.875rem;
}

.digital_syllabus_wrapper details summary::marker,
.digital_syllabus_wrapper details summary::-webkit-details-marker {
	content: none;
	font-size: 0;
}

.digital_syllabus_wrapper details summary::after {
	display: block;
	content: url("../images/chevron-updown.svg");
	position: absolute;
	right: 0.625rem;
	top: 50%;
	transform: translateY(-50%);
}

.digital_syllabus_wrapper details[open] .options {
	position: absolute;
	box-shadow: var(--box-shadow);
	width: 120%;
	background-color: white;
	max-height: 50vh;
	overflow-y: auto;
	z-index: 1;
}

.digital_syllabus_wrapper details[open] .options p {
	padding: 0.5rem;
	font-weight: bold;
}

.digital_syllabus_wrapper details[open] .options ul {
	padding: 3px;
}

.digital_syllabus_wrapper details[open] .options ul li {
	list-style: none;
	margin: 0 0 0.2rem;
}

.digital_syllabus_wrapper details[open] .options ul label {
	display: block;
	padding-left: calc(21px + 1rem);
	text-indent: calc(-19px - 1rem);
}

.digital_syllabus_wrapper details[open] .options ul label:hover {
	background-color: var(--grey-pale);
}

.digital_syllabus_wrapper details[open] .options ul label:has(input:checked) {
	background-color: var(--purple-pale);
	color: var(--purple);
}

.digital_syllabus_wrapper details[open] .options ul label input[type=checkbox] {
	accent-color: black;
	transform: scale(1.5);
	margin: 0 0.5rem;
	border-color: var(--grey-pale);
}

.digital_syllabus_wrapper details[open] .options ul ul {
	padding-left: 1.5rem;
}

.digital_syllabus_wrapper .reset {
	text-align: center;
}

.digital_syllabus_wrapper .reset a {
	background-color: var(--purple);
	border-radius: var(--border-radius-medium);
	padding: 0.5rem 1rem;
	color: white;
	font-weight: bold;
	font-size: 1rem;
	border: none;
	text-decoration: none;
}

.digital_syllabus_wrapper .reset a:hover {
	color: white;
}

.digital_syllabus_wrapper .export-share {
	text-align: center;
}

.digital_syllabus_wrapper .export-share div.trigger_modal {
	display: inline-block;
	padding: 1rem;
	text-decoration: none;
	color: var(--grey-dark);
	cursor: pointer;
}

.digital_syllabus_wrapper .export-share div.trigger_modal > img {
	vertical-align: text-bottom;
	padding: 2px;
}

.digital_syllabus_wrapper .export-share div.trigger_modal h2 {
	font-size: 1rem !important;
	color: var(--purple) !important;
	font-weight: 600 !important;
	text-align: center;
}

.digital_syllabus_wrapper .export-share div.trigger_modal ul {
	display: flex;
	flex-wrap: wrap;
	min-width: 25rem;
	padding: 0;
	gap: 1rem;
}

.digital_syllabus_wrapper .export-share div.trigger_modal ul li {
	list-style: none;
	background-color: var(--purple-light);
	border-radius: var(--border-radius-medium);
	flex: 1 0 10rem;
}

.digital_syllabus_wrapper .export-share div.trigger_modal ul li a {
	display: flex;
	align-items: center;
	gap: 10px;
	color: var(--grey-dark);
	text-decoration: none;
}

.digital_syllabus_wrapper .export-share div.trigger_modal ul li a img {
	background-color: var(--purple);
	width: 32px;
	height: 32px;
	padding: 10px;
	border-radius: var(--border-radius-medium) 0 0 var(--border-radius-medium);
}

.digital_syllabus_wrapper .back-to-top {
	text-align: center;
	margin-top: 3rem;
}

.digital_syllabus_wrapper .back-to-top a {
	color: var(--violet);
	text-decoration: none;
	border: 1px solid var(--violet);
	border-radius: var(--border-radius-medium);
	padding: 0.625rem 1.375rem;
}

.digital_syllabus_wrapper .results.no_results {
	border-radius: var(--border-radius-medium);
	padding: 1rem;
	text-align: center;
	background-color: var(--purple-pale);
}

.digital_syllabus_wrapper .results.loading h2::before {
    display: block;
    position: absolute;
    top: -2rem;
    left: calc(50% - 1rem);
    border-radius: 50%;
    border: 3px dotted var(--grey-dark);
    animation: spin 4s linear infinite;
    width: 1.5rem;
    height: 1.5rem;
    z-index: 100;
    content: "";
}

@keyframes spin { 
    100% {
        transform: rotate(360deg); 
    } 
}

.digital_syllabus_wrapper .results > h2 {
	text-align: center;
	color: var(--purple) !important;
	position: relative;
}

.digital_syllabus_wrapper .results .toggle {
	cursor: pointer;
}

.digital_syllabus_wrapper .results .trigger_modal {
	position: relative;
	cursor: help;
	display: inline-block;
	padding: 0 0.5rem;
}

.digital_syllabus_wrapper .results .trigger_modal .modal_content {
	position: absolute;
	top: 100%;
	left: 50%;
	transform: translateX(-50%);
	z-index: 10;
	background-color: white;
	color: var(--grey-dark);
	box-shadow: var(--box-shadow);
	border-radius: var(--border-radius-medium);
	width: max-content;
	padding: 1rem;
	max-width: 90vw;
	max-height: 90vh;
	overflow-y: auto;
	cursor: default;
	text-align: left;
	white-space: normal;
	display: none;
	animation: fade-in 0.5s forwards;
}

.digital_syllabus_wrapper .results .trigger_modal .modal_content.active {
	display: block;
}

.digital_syllabus_wrapper .results .trigger_modal .modal_content .close_modal {
	position: absolute;
	top: 0;
	right: 0;
	border: none;
	background: none;
	cursor: pointer;
	padding: 0.25rem;
	opacity: 0.75;
}

.digital_syllabus_wrapper .results .trigger_modal .modal_content .close_modal img {
	width: 16px;
	height: 16px;
}

.digital_syllabus_wrapper .results .trigger_modal .modal_content table {
	margin-bottom: 0;
	border-spacing: 0.25rem;
	border-collapse: separate;
	padding: 0 !important;
}

.digital_syllabus_wrapper .results .trigger_modal .modal_content table tr {
	border-bottom: none !important;
}

.digital_syllabus_wrapper .results .trigger_modal .modal_content table th {
	background-color: var(--purple-pale);
	color: var(--purple);
	padding: 0.2rem !important;
	font-size: 0.8rem;
	border-radius: var(--border-radius-small);
}

.digital_syllabus_wrapper .results .trigger_modal .modal_content table td {
	font-weight: normal;
	padding: 0.2rem !important;
	font-size: 0.8rem;
}

.digital_syllabus_wrapper .results .thead {
    background-color: transparent !important;
}

.digital_syllabus_wrapper .results .tbody .tr {
    background-color: white !important;
}

.digital_syllabus_wrapper .results .section {
	border: 1px solid var(--grey-light);
	margin: 0;
}

.digital_syllabus_wrapper .results .section .tr {
	border-bottom: 1px solid var(--grey-light) !important;
}

.digital_syllabus_wrapper .results .section .th {
	text-align: center;
	vertical-align: bottom;
	padding: 12px 20px !important;
}

.digital_syllabus_wrapper .results .section .th .trigger_modal > img {
	filter: invert(100%);
	scale: 1.5;
}

.digital_syllabus_wrapper .results .section .td {
	vertical-align: top;
	padding: 6px 20px;
}

.digital_syllabus_wrapper .results .section .td:first-of-type .trigger_modal.footnote {
	float: right;
}

.digital_syllabus_wrapper .results .section .td:first-of-type .trigger_modal.footnote {
	float: right;
	scale: 1.5;
}

.digital_syllabus_wrapper .results .search-highlight {
	display: inline-block;
	border-radius: var(--border-radius-medium);
	background-color: var(--red-light);
}

.digital_syllabus_wrapper .results .results-inner {
	box-shadow: var(--box-shadow);
	margin-top: 2rem;
	border-radius: var(--border-radius-medium);
	min-width: fit-content;
}

.digital_syllabus_wrapper .results .results-inner h3 {
	background-color: var(--grey-pale);
	color: var(--purple) !important;
	padding: 12px 20px;
	border-bottom: 1px solid var(--grey-light);
	margin: 0;
}

.digital_syllabus_wrapper .results .results-inner a.toggle {
	float: right;
	font-size: 0.875rem;
	color: var(--grey-dark);
	text-decoration: none;
}

.digital_syllabus_wrapper .results .results-inner th > a.toggle {
	font-weight: normal;
}

.digital_syllabus_wrapper .results .results-inner .knowledge-skills th a.toggle {
	color: white;
}

.digital_syllabus_wrapper .results .results-inner .knowledge-skills th a.toggle img {
	filter: invert(100%);
}

.digital_syllabus_wrapper .results .results-inner .outcomes .tr.header {
	background-color: var(--purple);
	color: white;
}

.digital_syllabus_wrapper .results .results-inner .outcomes .tr.header .th:first-of-type {
	text-align: left;
}

.digital_syllabus_wrapper .results .results-inner .outcomes .tr.subheader {
	background-color: var(--purple-pale) !important;
}

.digital_syllabus_wrapper .results .results-inner .outcomes .tr.subheader th {
	color: var(--grey-dark);
	font-weight: bold;
	width: 33.3%;
}

.digital_syllabus_wrapper .results .results-inner .assessments .competencies .th, .digital_syllabus_wrapper .results .results-inner .procedures .competencies .th {
	background-color: var(--grey-pale);
	color: var(--grey-dark);
	font-weight: bold;
	text-align: left;
}

.digital_syllabus_wrapper .results .results-inner .assessments .competencies .trigger_modal:not(.footnote), .digital_syllabus_wrapper .results .results-inner .procedures .competencies .trigger_modal:not(.footnote) {
	float: none;
	padding: 0;
	background-color: var(--purple);
	color: white;
	border-radius: var(--border-radius-medium);
}

.digital_syllabus_wrapper .results .results-inner .assessments .competencies .trigger_modal .modal_content, .digital_syllabus_wrapper .results .results-inner .procedures .competencies .trigger_modal .modal_content {
	text-decoration: none;
	font-weight: normal;
}

.digital_syllabus_wrapper .results .results-inner .assessments .basic_sciences .th {
	background-color: var(--grey-pale);
	color: var(--grey-dark);
	font-weight: bold;
	text-align: left;
}

.digital_syllabus_wrapper .results .results-inner .assessments .knowledge-skills .tr.header {
	background-color: var(--orange);
	color: white;
}

.digital_syllabus_wrapper .results .results-inner .assessments .knowledge-skills .tr.header .th {
	text-align: left;
}

.digital_syllabus_wrapper .results .results-inner .assessments .knowledge-skills .tr.subheader {
	background-color: var(--orange-light) !important;
}

.digital_syllabus_wrapper .results .results-inner .assessments .knowledge-skills .tr.subheader > .th {
	color: var(--grey-dark);
}

.digital_syllabus_wrapper .results .results-inner .assessments .knowledge-skills .tr.subheader > .th:first-of-type {
	text-align: left;
	width: 80%;
}

.digital_syllabus_wrapper .results .results-inner .assessments .knowledge-skills .tr.subsubheader {
	background-color: var(--orange-pale) !important;
}

.digital_syllabus_wrapper .results .results-inner .assessments .knowledge-skills .tr.subsubheader > .th {
	color: var(--grey-dark);
	text-align: left;
}

.digital_syllabus_wrapper .results .results-inner .assessments .knowledge-skills .tr .td:first-of-type {
	text-align: left;
	width: 80%;
}

.digital_syllabus_wrapper .results .results-inner .assessments .knowledge-skills .tr.subheader > .th .trigger_modal img {
	filter: none;
}

.digital_syllabus_wrapper .results .results-inner .assessments .knowledge-skills .tbody .tr .overflow_handler {
	overflow: hidden;
	text-overflow: ellipsis;
	display: -webkit-box;
	line-clamp: 6;
	-webkit-line-clamp: 6;
	-webkit-box-orient: vertical;
}

.digital_syllabus_wrapper .results .results-inner .assessments .knowledge-skills .tbody .tr .show_more {
	display: inline-block;
	margin-top: 2rem;
	cursor: pointer;
	color: var(--orange);
	text-decoration: underline;
}

.digital_syllabus_wrapper .results .results-inner .assessments .knowledge-skills .tbody .tr .td:not(:first-of-type) {
	text-align: center;
}

.digital_syllabus_wrapper .results .results-inner .assessments .knowledge-skills .tbody .tr .td .selected {
	display: inline-block;
	background-color: var(--orange-pale);
	border-radius: var(--border-radius-large);
	font-weight: bold;
	margin: 0.125rem 0;
	padding: 0 0.75rem;
}

.digital_syllabus_wrapper .results .results-inner .assessments .enabling .tr.header {
	background-color: var(--violet);
	color: white;
}

.digital_syllabus_wrapper .results .results-inner .assessments .enabling .tr.header > .th:first-of-type {
	text-align: left;
	width: 80%;
}

.digital_syllabus_wrapper .results .results-inner .assessments .enabling .tr.subheader {
	background-color: var(--violet-pale) !important;
	color: var(--grey-dark) !important;
}

.digital_syllabus_wrapper .results .results-inner .assessments .enabling .tr.subheader .td:not(:first-of-type) {
	text-align: center;
}

.digital_syllabus_wrapper .results .results-inner .assessments .enabling .tr.subheader .td .selected {
	display: inline-block;
	background-color: white;
	border-radius: var(--border-radius-large);
	font-weight: bold;
	margin: 0.125rem 0;
	padding: 0 0.75rem;
}

.digital_syllabus_wrapper .results .results-inner .assessments .enabling .tr.subheader .search-highlight {
	background-color: white;
}

.digital_syllabus_wrapper .results .results-inner .assessments .enabling .tr.subheader .trigger_modal:not(.footnote) {
	float: none;
	padding: 0;
	background-color: var(--purple);
	color: white;
	border-radius: var(--border-radius-medium);
}

.digital_syllabus_wrapper .results .results-inner .assessments .enabling .tr.subheader .trigger_modal .modal_content {
	text-decoration: none;
}

.digital_syllabus_wrapper .results .results-inner .assessments .enabling p {
    padding-bottom: 0.5rem;
}

.digital_syllabus_wrapper .results .results-inner .procedures .tr.header {
	background-color: var(--orange);
	color: white;
}

.digital_syllabus_wrapper .results .results-inner .procedures .tr.header > .th:first-of-type {
	text-align: left;
}

.digital_syllabus_wrapper .results .results-inner .procedures .tr.subheader {
	background-color: var(--orange-pale) !important;
}

.digital_syllabus_wrapper .results .results-inner .procedures .tr.subheader .th {
	color: var(--grey-dark);
	font-weight: bold;
}

.digital_syllabus_wrapper .results .results-inner .procedures .tr.subheader > .th:first-of-type {
	width: 60%;
}

.digital_syllabus_wrapper .results .results-inner .procedures .tr.subheader > .th .trigger_modal img {
	filter: none;
}

.digital_syllabus_wrapper .results .results-inner .procedures .tr.subheader > .th .trigger_modal .modal_content {
	font-weight: normal;
}

.digital_syllabus_wrapper .results .results-inner .procedures .td {
	text-align: center;
	white-space: nowrap;
}

.digital_syllabus_wrapper .results .results-inner .procedures .td:first-of-type {
	text-align: left;
	white-space: normal;
}

.digital_syllabus_wrapper .results .results-inner .procedures tfoot td:first-of-type {
	text-align: center;
	color: var(--orange);
	text-decoration: underline;
	cursor: pointer;
	font-weight: bold;
}

@media screen and (max-width: 63.9375rem) {
    .digital_syllabus_wrapper {
        margin-left: -10%;
        margin-right: -10%;
    }

	.digital_syllabus_wrapper .syllabus-tabs {
		/*flex-wrap: wrap;*/
		gap: 0;
		align-items: stretch;
        justify-content: space-between;
	}

	.digital_syllabus_wrapper .syllabus-tabs li {
		/*flex-basis: 100%;*/
		/*order: 1;*/
		/*border-radius: 0;*/
		text-align: center;
		flex: 1 1 auto;
        display: flex;
        align-items: center;
	}

	.digital_syllabus_wrapper .syllabus-tabs li h2 {
	    flex: 1;
	}

	.digital_syllabus_wrapper .syllabus-tabs li:has(a[aria-selected=true]) {
		/*order: 2;*/
	}

	.digital_syllabus_wrapper .syllabus-tabs li h2 a {
		display: inline-block;
		/*width: 100%;*/
		padding: 0.5rem;
        font-size: 0.8rem;
        line-height: 1.2;
        white-space: normal;
	}

	.digital_syllabus_wrapper .syllabus-tab-content {
		border-top-left-radius: 0;
		border-top-right-radius: 0;
	}

	.digital_syllabus_wrapper form {
		padding: 1rem;
		gap: 0.75rem;
	}

	.digital_syllabus_wrapper form fieldset {
		flex: 1 0 auto;
	}

	.digital_syllabus_wrapper form fieldset,
	.digital_syllabus_wrapper form input:not([type=checkbox]),
	.digital_syllabus_wrapper form button {
		width: 100%;
		/*margin-bottom: 1rem;*/
	}

	.digital_syllabus_wrapper .results_wrapper {
	    overflow-y: auto;
	    padding-left: 5px;
        padding-right: 5px;
        margin-right: -8px;
	}

	.digital_syllabus_wrapper .results .results-inner .procedures tfoot td:first-of-type {
		text-align: left;
	}
}

@media screen and (min-width: 64rem) {
    .digital_syllabus_wrapper #digital_syllabus_filters {
        position: sticky;
        top: 180px;
        z-index: 1;
    }

	.digital_syllabus_wrapper form fieldset {
		flex: 1 0 22%;
	}

	.digital_syllabus_wrapper form#outcomes-form fieldset {
		flex-basis: 30%;
	}

	.digital_syllabus_wrapper form input:not([type=checkbox]) {
		width: auto;
	}

	.digital_syllabus_wrapper .results.no_results {
		padding: 10rem;
	}
}

@keyframes fade-in {
	from {
		opacity: 0;
	}

	to {
		opacity: 1;
	}
}
