/*

	-- -- -- -- -- -- --
	Courses CSS
	-- -- -- -- -- -- --

*/
:root {
	--gutter: 1.5em;
	--gutter-adjust: -1.5em;
}

.courses-list {
	margin-left: var(--gutter-adjust);
	margin-right: var(--gutter-adjust);
}

.courses-list>.col,
.courses-list>.col-1,
.courses-list>.col-10,
.courses-list>.col-11,
.courses-list>.col-12,
.courses-list>.col-2,
.courses-list>.col-3,
.courses-list>.col-4,
.courses-list>.col-5,
.courses-list>.col-6,
.courses-list>.col-7,
.courses-list>.col-8,
.courses-list>.col-9,
.courses-list>.col-auto,
.courses-list>.col-lg,
.courses-list>.col-lg-1,
.courses-list>.col-lg-10,
.courses-list>.col-lg-11,
.courses-list>.col-lg-12,
.courses-list>.col-lg-2,
.courses-list>.col-lg-3,
.courses-list>.col-lg-4,
.courses-list>.col-lg-5,
.courses-list>.col-lg-6,
.courses-list>.col-lg-7,
.courses-list>.col-lg-8,
.courses-list>.col-lg-9,
.courses-list>.col-lg-auto,
.courses-list>.col-md,
.courses-list>.col-md-1,
.courses-list>.col-md-10,
.courses-list>.col-md-11,
.courses-list>.col-md-12,
.courses-list>.col-md-2,
.courses-list>.col-md-3,
.courses-list>.col-md-4,
.courses-list>.col-md-5,
.courses-list>.col-md-6,
.courses-list>.col-md-7,
.courses-list>.col-md-8,
.courses-list>.col-md-9,
.courses-list>.col-md-auto,
.courses-list>.col-sm,
.courses-list>.col-sm-1,
.courses-list>.col-sm-10,
.courses-list>.col-sm-11,
.courses-list>.col-sm-12,
.courses-list>.col-sm-2,
.courses-list>.col-sm-3,
.courses-list>.col-sm-4,
.courses-list>.col-sm-5,
.courses-list>.col-sm-6,
.courses-list>.col-sm-7,
.courses-list>.col-sm-8,
.courses-list>.col-sm-9,
.courses-list>.col-sm-auto,
.courses-list>.col-xl,
.courses-list>.col-xl-1,
.courses-list>.col-xl-10,
.courses-list>.col-xl-11,
.courses-list>.col-xl-12,
.courses-list>.col-xl-2,
.courses-list>.col-xl-3,
.courses-list>.col-xl-4,
.courses-list>.col-xl-5,
.courses-list>.col-xl-6,
.courses-list>.col-xl-7,
.courses-list>.col-xl-8,
.courses-list>.col-xl-9,
.courses-list>.col-xl-auto {
	padding-left: var(--gutter);
	padding-right: var(--gutter);
	margin-top: var(--gutter);
	margin-bottom: var(--gutter);
}

.hero {
	margin: 0;
	position: relative;
	background-color: var(--color-top-background);
	color: var(--color-top-text);
}

.hero .container {
	padding-top: 11vh;
}

.hero .mt-4 {
	padding-top: 11vh;
}

.hero h2 {
	margin-top: 0;
	color: var(--color-logo);
}

.hero h2 span {
	color: var(--color-logo-text);
}

@media (min-width: 760px) {
	.hero .container {
		padding-top: 10vh;
		background: transparent url("../images/intro.svg") right bottom no-repeat;
		background-size: auto 100%;
	}
}

.card-options .delete-confirm-dialog {
	position: absolute;
	right: -1em;
	background:white;
	border: 1px solid lightgray;
	border-radius: 5px;
	padding: 1em;
}

#content .delete-confirm-dialog div.d-flex.flex-column {
	border-top: 0;
}

.hero .card {
	margin-bottom: -2rem;
}

.hero+div {
	padding-top: 4rem;
}

.overview {
	background-color: #f1f1f1;
	padding: 2rem;
	border-radius: 0.75rem;
}

.overview span {
	display: block;
}

.overview .fa {
	font-size: 3.25rem;
	float: left;
	margin-right: 0.2em;
	color: #ccc;
}

.overview .val {
	font-size: 2rem;
	line-height: 1;
	font-weight: bold;
}

.overview .key {
	font-size: 85%;
	color: #656565;
}

.card-placeholder {
	border: 2px dashed rgb(236, 236, 236);
	background: #fbfaed;
	border-radius: 0.75rem;
	margin-top: 1.5rem;
}

/* Applied filters */
#applied-filters {
	display: block;
	margin: 0 0 1em 0;
}

#applied-filters ul {
	margin: 0;
	overflow: hidden;
}

#applied-filters p {
	float: left;
	margin: 0.4em 1em 0.4em 0;
}

#applied-filters li {
	float: left;
	list-style: none;
	margin: 0 0.5em 0.3em 0;
	padding: 0.375em 0.75em;
	background: #ededed;
	border-radius: 0.25rem;
}

#applied-filters li a.filters-x {
	margin-left: 0.5em;
	color: #aaa;
	border-bottom: none;
	display: inline-block;
	width: 1em;
	height: 1em;
	overflow: hidden;
	white-space: nowrap;
	line-height: 1;
}

#applied-filters li a.filters-x:hover {
	border-bottom: none;
	color: #222;
}

.level {
	padding: 2rem 0;
}

.course-title {
	font-size: 1em;
	font-weight: bold;
}

.course-summary {
	margin: 1em 0 0 0;
	list-style: none;
	font-size: 85%;
}

.course-summary li {
	display: inline;
	margin: 0 2em 0 0;
}

.course-summary .fa {
	margin-right: 0.25em;
}

.earn-badges {
	text-align: center;
	background: url("../images/badge.svg") center center no-repeat;
	background-size: auto 100%;
	height: 100%;
	font-size: 1.5em;
}

.card-banner {
	font-size: 85%;
	position: absolute;
	top: 146px;
	right: 1.5em;
	border-radius: 0.5em;
	padding: 0 0.5em;
	color: #fff;
	text-align: center;
}

.card-options {
	position: absolute;
	top: 2px;
	right: calc(2px + var(--gutter));
	background-color: #fff;
	border-radius: 0 0.75em 0 0.75em;
	padding: 0.2em 1em;
	border: 2px solid rgb(236, 236, 236);
	border-top: none;
	border-right: none;
}

.course-right .card-options {
	right: 2px;
}

.course .badge-success {
	position: absolute;
	top: 1em;
	left: calc(2px + 1em);
}

.course .badge-info {
	position: absolute;
	top: 1em;
	left: calc(2px + 1em);
}

.course .badge-dark {
	position: absolute;
	top: 1em;
	left: calc(2px + 6em);
}

.list .card-banner {
	top: 4em;
	right: 1em;
}

a.card {
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08), 0 4px 16px rgba(0, 0, 0, 0.08);
	border: 1px solid rgba(0, 0, 0, 0.06);
	transition: all 0.3s ease;
}

a.card:hover,
a.card:focus {
	border-color: rgba(3, 3, 32, 0.7);
	outline-style: none;
	text-decoration: none;
	cursor: pointer;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12), 0 8px 24px rgba(0, 0, 0, 0.12);
	transform: translateY(-2px);
}

a.card.selected {
	border-color: #6f6f6f;
	background-color: #eeeeee;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12), 0 8px 24px rgba(0, 0, 0, 0.12);
}

.card-img-wrap {
	margin: 0.5rem;
	background-color: #fff;
	height: 150px;
	overflow: hidden;
	border-top-left-radius: calc(.25rem - 1px);
	border-top-right-radius: calc(.25rem - 1px);
	white-space: nowrap;
	text-align: center;
	border-radius: 0.5rem;
	display: flex;
	justify-content: center;
	align-items: center;
}

.card-img-placeholder {
	background-color: rgba(184, 213, 219, 0.2);
}

.course-right .card-img-wrap {
	height: 216px;
}

.card-img-shim {
	margin: 0;
	padding: 0;
	height: 100%;
	display: inline-block;
	vertical-align: middle;
	display: none;
}

.card-img-wrap img {
	vertical-align: middle;
	width: 100%;
	max-width: 100%;
	margin: 0 auto;
	padding: 0;
}

.card-title a {
	color: inherit;
}

.list .card-img-wrap,
.tile .course-blurb {
	display: none;
}

.list>.col {
	flex: 0 0 100%;
	max-width: 100%;
}

.module-details summary>* {
	display: inline-block;
	vertical-align: middle;
}

.module-details summary {
	position: relative;
}

.module-details summary::-webkit-details-marker {
	display: none;
}

.module-details summary:after {
	content: '';
	border-right: 2px solid;
	border-bottom: 2px solid;
	position: absolute;
	top: 0.5rem;
	right: 0.5rem;
	height: 10px;
	width: 10px;
	transform: rotate(45deg) translatey(-.1em);
}

.module-details[open]>summary:after {
	transform: rotate(-135deg) translatey(-.3em);
}

.card-meta {
	padding: 0 1.25rem 1.25rem 1.25rem;
	color: rgb(99, 99, 99);
	font-size: 0.875rem;
}

/*.full-course {
	transition: all 0.2s;
	box-shadow: 5px -5px 0 -2px #fff, 5px -5px rgb(236, 236, 236),
			10px -10px 0 -2px #fff, 10px -10px rgb(236, 236, 236);
}
.full-course:hover {
	box-shadow: 0 0 0 -2px #fff, 0 0 rgb(236, 236, 236),
			0 0 0 -2px #fff, 0 0 rgb(236, 236, 236);
}*/
.course-image {
	display: block;
	margin: 0;
	padding: 0;
	position: relative;
	top: auto;
	right: auto;
	left: auto;
	width: 100%;
	height: auto;
	max-height: 250px;
	overflow: hidden;
	background: #ccc;
	text-align: center;
}

.course-image>span:after {
	content: "\f19d";
	font-family: "FontAwesome";
	font-size: 7em;
	color: #e1e1e1;
	line-height: 1.6em;
}

.course-block-title {
	font-size: 1.2em;
	font-weight: bold;
}

.course-right {
	padding-top: 2em;
}

.course-right .course-right-content {
	position: sticky;
	top: 6em;
}

.course-right .course-meta th {
	color: #656565;
}

.course-nav {
	border-bottom: 1px solid #ccc;
}

.course-overview {
	margin: -2em 0 0 0;
	padding: 3em 0;
	position: relative;
	clip-path: inset(0 -100vmax);
	background-color: var(--color-pullout-background);
	box-shadow: 0 0 0 100vmax var(--color-pullout-background);
}

.module-new {
	border-style: dashed;
	background-color: #f9f9f9;
	min-height: 20em;
}

.module-new .fa {
	font-size: 1.5em;
}

#reviews .course-rating {
	font-size: 1.5em;
}

.course-rating {
	margin-right: 0.5em;
}

.post-rating {
	margin-right: 1em;
}

#reviews .reviews-total {
	font-size: 85%;
}

.reviews-bar-graph ul {
	list-style: none;
	margin: 0;
	font-size: 85%;
}

.reviews-bar-graph li {
	margin-left: 0;
}

.reviews-bar-graph .progress {
	margin-top: 0.75em;
	height: 6px;
}

.lettered {
	list-style: none;
	margin: 1em 0 0 0;
}

.lettered>li {
	padding: 0.5em;
	position: relative;
	border: 1px solid transparent;
	border-radius: 0.25em;
	margin: 0;
}

.lettered>li:hover {
	border-color: #ddd;
	cursor: pointer;
}

.lettered .counter {
	padding: 0.25em 1em;
	background: #f1f1f1;
	border-radius: 0.25em;
	margin: 0 1em 0 0;
}

.question-number {
	color: #656565;
	font-size: 85%;
	margin-top: 0;
}

.lettered>li.chosen {
	background-color: rgba(92, 192, 215, 0.1);
}

.lettered>li.chosen .counter {
	background-color: blue;
	color: #fff;
}

.incorrect .lettered>li.chosen {
	background-color: rgba(215, 110, 92, 0.1);
}

.incorrect .lettered>li.chosen .counter {
	background-color: red;
}

.correct .lettered>li.chosen {
	background-color: rgba(102, 215, 92, 0.1);
}

.correct .lettered>li.chosen .counter {
	background-color: green;
}

.card.complete {
	border-color: rgb(160, 228, 160);
}

.card-progress .card-title {
	font-weight: bold;
	text-align: center;
}

@keyframes growProgressBar {

	0%,
	33% {
		--pgPercentage: 0;
	}

	100% {
		--pgPercentage: var(--value);
	}
}

@property --pgPercentage {
	syntax: '<number>';
	inherits: false;
	initial-value: 0;
}

div[role="progressbar"] {
	--size: 3.75em;
	--fg: green;
	/*#369;*/
	--bg: #eee;
	--pgPercentage: var(--value);
	animation: growProgressBar 3s 1 forwards;
	width: var(--size);
	height: var(--size);
	margin: 0 auto;
	border-radius: 50%;
	display: grid;
	place-items: center;
	background:
		radial-gradient(closest-side, white 70%, transparent 0 99.9%, white 0),
		conic-gradient(var(--fg) calc(var(--pgPercentage) * 1%), var(--bg) 0);
	font-size: calc(var(--size) / 5);
	color: var(--fg);
}

div[role="progressbar"]::before {
	counter-reset: percentage var(--value);
	content: counter(percentage) '%';
}

.video-container video {
	max-width: 100%;
	max-height: 100%;
}

.transcript-line {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	box-sizing: border-box;
}

.transcript-paragraph {
	display: flex;
	padding-top: 0;
	padding-right: 0;
	padding-bottom: 16px;
	padding-left: 0;
}

.transcript-line .timestamp {
	width: 5em;
	min-width: 5em;
}

.transcript-line .timestamp .btn {
	color: rgb(102, 102, 102);
}

.transcript-phrase {
	opacity: 1;
}

.transcript-phrase:hover {
	cursor: text;
	background-color: rgb(238, 238, 238);
}

.units ol {
	list-style: none;
	margin-left: 0;
	padding-left: 0;
}

.units li {
	margin: 0;
	padding: 0;
}

.units a {
	text-decoration: none;
	color: #555;
}

.asset-name {
	display: block;
	padding: 0.5em 1em;
	border-radius: 0.25em;
}

.asset-name:hover {
	background-color: #f5f5f5;
	text-decoration: none;
}

.units .unit-name {
	padding: 0.75em;
}

.units a:focus,
.units a:hover {
	background-color: #f1f1f1;
	color: #333;
}

.units .unit-asset {
	font-size: 90%;
}

.unit.active,
.unit.active a {
	color: #fff;
	background-color: rgb(40, 40, 40);
	border-color: rgb(40, 40, 40);
}

.unit-asset.active {
	background-color: #f1f1f1;
}

.unit .progress {
	height: 2px;
}

.unit-assets {
	list-style: none;
	margin: 0;
}

.unit-assets li {
	margin: 0;
}

.unit-asset-icon {
	width: 1.75em;
	font-size: 1.25em;
}

.unit-asset-effort {
	font-size: 85%;
}

.progress-container {
	padding: 0.75em 0 0.75em 0.75em;
}

.post {
	padding: 0;
	margin: 0;
	position: relative;
	top: 0;
	border-radius: var(--border-radius);
}

.post {
	padding-left: 60px;
}

.rating {
	display: flex;
	flex-direction: row-reverse;
	justify-content: left;
}

.rating>input {
	display: none;
}

.rating>label {
	position: relative;
	width: 1em;
	font-size: 1.2em;
	cursor: pointer;
}

.rating>label::before {
	content: "\2605";
	position: absolute;
	opacity: 0;
}

.rating>label:hover:before,
.rating>label:hover~label:before {
	opacity: 1 !important;
}

.rating>input:checked~label:before {
	opacity: 1;
}

.rating:hover>input:checked~label:before {
	opacity: 0.4;
}

.post-actions>ul,
.post-header>ul {
	list-style-type: none;
	padding: 0;
	margin: 0;
}

.post-actions>ul>li,
.post-header>ul>li {
	display: inline;
	margin-right: 1em;
}

.post-user {
	margin: 0;
	display: inline;
	font-weight: normal;
	position: relative;
}

.post-user h3 {
	display: inline;
	font-size: 1em;
}

.post .user-avatar-container {
	left: -60px;
	position: absolute;
}

.post-body {
	position: relative;
	overflow: auto;
	overflow-wrap: break-word;
}

.post-meta {
	font-size: 85%;
}

.contentInner .dropdown-menu {
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
}

.post-meta .dropdown-menu {
	width: 400px;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
}

/* Steps */
ul.stepper {
	padding: 0;
	margin: 0 0 1.5em 0;
	overflow-x: hidden;
	overflow-y: auto;
	counter-reset: section
}

ul.stepper li {
	height: -webkit-min-content;
	height: -moz-min-content;
	height: min-content
}

ul.stepper li .step-item {
	padding: 1.5rem;
	text-align: center;
	padding: 0.5rem;
}

ul.stepper li .step-item .circle {
	display: inline-block;
	width: 1.75rem;
	height: 1.75rem;
	margin-right: .5rem;
	line-height: 1.7rem;
	color: #fff;
	text-align: center;
	background: rgba(0, 0, 0, 0.38);
	border-radius: 50%
}

ul.stepper li .step-item .label {
	display: inline-block;
	color: rgba(0, 0, 0, 0.38);
}

ul.stepper li.active .step-item .label,
ul.stepper li.completed .step-item .label {
	font-weight: 600;
	color: rgba(0, 0, 0, 0.87)
}

.stepper-horizontal {
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between
}

.stepper-horizontal li {
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-flex: 1;
	-ms-flex: 1;
	flex: 1;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-transition: .5s;
	transition: .5s
}

.stepper-horizontal li:not(:last-child):after {
	position: relative;
	-webkit-box-flex: 1;
	-ms-flex: 1;
	flex: 1;
	height: 1px;
	margin: .25rem 0 0 0;
	content: "";
	background-color: rgba(0, 0, 0, 0.1)
}

.stepper-horizontal li:not(:first-child):before {
	position: relative;
	-webkit-box-flex: 1;
	-ms-flex: 1;
	flex: 1;
	height: 1px;
	margin: .25rem 0 0 0;
	content: "";
	background-color: rgba(0, 0, 0, 0.1)
}

.stepper-horizontal li:hover {
	background-color: rgba(0, 0, 0, 0.06)
}

@media (max-width: 47.9375rem) {
	.stepper-horizontal {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column
	}

	.stepper-horizontal li {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
		-webkit-box-align: start;
		-ms-flex-align: start;
		align-items: flex-start
	}

	.stepper-horizontal li .step-item .label {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-flow: column nowrap;
		flex-flow: column nowrap;
		-webkit-box-ordinal-group: 3;
		-ms-flex-order: 2;
		order: 2;
		margin-top: .2rem
	}

	.stepper-horizontal li:not(:last-child):after {
		position: absolute;
		top: 3.75rem;
		left: 2.19rem;
		width: 1px;
		height: calc(100% - 40px);
		content: ""
	}
}

.stepper-horizontal>li:not(:last-of-type) {
	margin-bottom: 0 !important
}

.stepper-vertical {
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between
}

.stepper-vertical li {
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-flex: 1;
	-ms-flex: 1;
	flex: 1;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start
}

.stepper-vertical li .step-item {
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-item-align: start;
	align-self: flex-start
}

.stepper-vertical li .step-item .circle {
	-webkit-box-ordinal-group: 2;
	-ms-flex-order: 1;
	order: 1
}

.stepper-vertical li .step-item .label {
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-flow: column nowrap;
	flex-flow: column nowrap;
	-webkit-box-ordinal-group: 3;
	-ms-flex-order: 2;
	order: 2;
	margin-top: .2rem
}

.stepper-vertical li.completed .step-item .label {
	font-weight: 500
}

.stepper-vertical li .step-content {
	display: block;
	padding: .94rem;
	margin-top: 0;
	margin-left: 3.13rem
}

.stepper-vertical li .step-content p {
	font-size: .88rem
}

.stepper-vertical li:not(:last-child):after {
	position: absolute;
	top: 3.44rem;
	left: 2.19rem;
	width: 1px;
	height: calc(100% - 40px);
	content: "";
	background-color: rgba(0, 0, 0, 0.1)
}

ul.stepper li.active .step-item .circle,
ul.stepper li.completed .step-item .circle {
	background-color: #222 !important;
}

.draghandle {
	min-width: 1em;
	color: #656565;
	cursor: move;
}

.draghandle:hover {
	color: blue;
}

.draghandle svg {
	fill: currentColor;
}

.show-more-collpased .show-more-content {
	overflow: hidden;
	height: 10em;
	width: 100%;
	-webkit-mask-image: linear-gradient(#ffffff, #ffffff, rgba(255, 255, 255, 0));
}

.show-more--show-more,
.show-more-collpased .show-more--show-less {
	display: none;
}

.show-more-collpased .show-more--show-more {
	display: inline;
}

.filters fieldset {
	background-color: #f9f9f9;
	padding: 1em;
	border-radius: 0.75rem;
}

.filters legend {
	float: left;
	width: 100%;
	padding: 0;
	margin: 0 0 1em 0;
}

.filters legend:before,
.filters legend:after {
	content: "";
	display: table;
	clear: both;
	visibility: hidden;
	line-height: 0;
	height: 0;
}

.flex-grow-1 {
	min-width: 0;
}

.flex-grow-1 .unit-asset-effort {
	/* white-space: nowrap; */
	overflow: hidden;
	text-overflow: ellipsis;
}

.table-analytics thead th {
	background-color: #f9f9f9;
}

.unit-asset .delete-confirm-dialog {
	position: absolute;
	right: 0;
	bottom: 0;
	background: white;
	z-index: 1;
	border-radius: 5px;
	border: 1px solid lightgray;
	padding: 1em;
}

.unit-asset .correct-choice-check {
	margin-top: 5px;
	min-width: 20px;
}

.unit-asset .questions-container {
	overflow-x: auto;
}

.questions-container .question-box {
	background-color: #f9f9f9;
	padding: .5em 1em;
    margin-bottom: 1em;
    border: .5px solid #c1c1c1;
    border-radius: 10px;
}

.questions-container .question-box .question-input-container {
	margin-bottom: 0;
}

.questions-container .question-box .question-input-container input {
	font-weight: bold;
}

.questions-container .question-box .question-input-container input.form-control {
	font-weight: bold;
	margin-bottom: 1rem;
}


.questions-container .question-box .answers-container .choice-input-container {
	margin-bottom: 0;
}

.questions-container .question-box .answers-container .choice-input-container:has(input):has(.form-control) {
	margin-bottom: 1rem;
}

.question-sets-subset-count-form {
	margin: .5rem 0;
    border-left: .5px solid grey;
    padding: .5rem 1rem 0 1.5rem;
}

.material-modal-body{
	padding: 1rem 2rem;
	max-height: 75vh;
	overflow-y: auto;
}

div.disabled {
    pointer-events: none;
    opacity: 0.4;
}
/** New styling to allow for course/module landing page viewing */
.requires-login {
    position: relative;
}

.requires-login:after {
    content: "\f023";
    font-family: "FontAwesome";
    margin-left: 5px;
    color: #888;
}

/* Carpentries Callout Styles */
/* Base callout styling */
.callout {
    padding: 1rem 1.5rem;
    margin: 1rem 0;
    border-radius: 0.25rem;
    border-left: 4px solid;
}

.callout h3 {
    font-weight: 600;
    margin-bottom: 0.75rem;
    font-size: 1.125rem;
}

.callout ul {
    margin: 0;
    padding-left: 1.5rem;
}

.callout li {
    margin-bottom: 0.5rem;
}

/* Purdue Theme Colors - Callout Variants */
/* Gold: #cfb991, #daaa00, #8e6f3e */
/* Black: #000, #1a1a1a */

.callout-questions {
    background-color: #f5f0e6;
    border-color: #cfb991;
}

.callout-questions h3 {
    color: #8e6f3e;
}

.callout-objectives {
    background-color: #f9f7f3;
    border-color: #daaa00;
}

.callout-objectives h3 {
    color: #8e6f3e;
}

.callout-keypoints {
    background-color: #1a1a1a;
    border-color: #cfb991;
    color: #fff;
}

.callout-keypoints h3 {
    color: #cfb991;
}

.callout-keypoints li {
    color: #e0e0e0;
}

.callout-challenge {
    background-color: #fff8e6;
    border-color: #daaa00;
}

.callout-challenge h3 {
    color: #8e6f3e;
}

.callout-solution {
    background-color: #f5f5f5;
    border-color: #8e6f3e;
}

.callout-solution h3 {
    color: #6d5530;
}

.callout-info {
    background-color: #f9f7f3;
    border-color: #cfb991;
}

.callout-info h3 {
    color: #8e6f3e;
}

/* Spoiler/Collapsible Callout Styling */
.callout-spoiler {
    background-color: #f9f7f3;
    border-color: #cfb991;
    border-left: 4px solid #cfb991;
    padding: 1rem 1.5rem;
    margin: 1rem 0;
    border-radius: 0.25rem;
    cursor: pointer;
}

.callout-spoiler summary {
    list-style: none;
    cursor: pointer;
    user-select: none;
}

.callout-spoiler summary::-webkit-details-marker {
    display: none;
}

.callout-spoiler summary h3 {
    font-weight: 600;
    margin: 0;
    font-size: 1.125rem;
    color: #8e6f3e;
    display: flex;
    align-items: center;
}

.callout-spoiler summary h3::before {
    content: '▶';
    display: inline-block;
    margin-right: 0.75rem;
    transition: transform 0.2s ease;
}

.callout-spoiler[open] summary h3::before {
    transform: rotate(90deg);
}

.spoiler-content {
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid #e0e0e0;
}

.spoiler-content ul {
    margin: 0;
    padding-left: 1.5rem;
}

.spoiler-content li {
    margin-bottom: 0.5rem;
}
