.glide {
	position: relative;
	width: 100%;
	box-sizing: border-box
}

.glide * {
	box-sizing: inherit
}

.glide__track {
	overflow: hidden
}

.glide__slides {
	position: relative;
	width: 100%;
	list-style: none;
	backface-visibility: hidden;
	transform-style: preserve-3d;
	touch-action: pan-Y;
	overflow: hidden;
	margin: 0;
	padding: 0;
	white-space: nowrap;
	display: flex;
	flex-wrap: nowrap;
	will-change: transform
}

.glide__slides--dragging {
	user-select: none
}

.glide__slide {
	width: 100%;
	height: 100%;
	flex-shrink: 0;
	white-space: normal;
	user-select: none;
	-webkit-touch-callout: none;
	-webkit-tap-highlight-color: transparent
}

.glide__slide a {
	user-select: none;
	-webkit-user-drag: none;
	-moz-user-select: none;
	-ms-user-select: none
}

.glide__arrows {
	-webkit-touch-callout: none;
	user-select: none
}

.glide__bullets {
	-webkit-touch-callout: none;
	user-select: none
}

.glide--rtl {
	direction: rtl
}

.glide__lazy__loaded {
	-webkit-animation: fadeInFromNone .5s ease-in 0s forwards;
	animation: fadeInFromNone .5s ease-in 0s forwards
}

@keyframes fadeInFromNone {
	0% {
		visibility: hidden;
		opacity: 0
	}

	1% {
		visibility: visible;
		opacity: 0
	}

	100% {
		visibility: visible;
		opacity: 1
	}
}

.glide__arrow {
	position: absolute;
	display: block;
	top: 50%;
	z-index: 2;
	color: #fff;
	text-transform: uppercase;
	padding: 9px 12px;
	background-color: transparent;
	border: 2px solid rgba(255, 255, 255, 0.5);
	border-radius: 4px;
	box-shadow: 0 0.25em 0.5em 0 rgba(0, 0, 0, 0.1);
	text-shadow: 0 0.25em 0.5em rgba(0, 0, 0, 0.1);
	opacity: 1;
	cursor: pointer;
	transition: opacity 150ms ease, border 300ms ease-in-out;
	transform: translateY(-50%);
	line-height: 1
}

.glide__arrow:focus {
	outline: none
}

.glide__arrow:hover {
	border-color: #fff
}

.glide__arrow--left {
	left: 2em
}

.glide__arrow--right {
	right: 2em
}

.glide__arrow--disabled {
	opacity: .33
}

.glide__bullets {
	position: absolute;
	z-index: 2;
	bottom: 2em;
	left: 50%;
	display: inline-flex;
	list-style: none;
	transform: translateX(-50%)
}

.glide__bullet {
	background-color: var(--sky);
	width: 9px;
	height: 9px;
	padding: 0;
	border-radius: 50%;
	border: 2px solid transparent;
	transition: all 300ms ease-in-out;
	cursor: pointer;
	line-height: 0;
	margin: 0 .25em;
	overflow:hidden;
	text-indent:200%;
}

.glide__bullet:focus {
	outline: none
}

.glide__bullet:hover,
.glide__bullet:focus {
	border: 2px solid #fff;
	background-color: rgba(255, 255, 255, 0.5)
}

.glide__bullet--active {
	background-color: var(--gray)
}

.glide--swipeable {
	cursor: grab;
	cursor: -moz-grab;
	cursor: -webkit-grab
}

.glide--dragging {
	cursor: grabbing;
	cursor: -moz-grabbing;
	cursor: -webkit-grabbing
}

html {
	min-height: 101%
}


main {
	min-height: 80vh
}

/* .container {
	max-width: 996px;
	padding: 0 24px;
	margin: auto
}

.container-narrow {
	max-width: 648px;
	padding: 0 24px;
	margin: auto
} */

.lp-section {
	padding: 24px 0
}

.section-header {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	margin-bottom:24px;
}


.site-header {
	box-shadow: var(--depth-4);
	position: sticky;
	top: 0;
	z-index: 99999;
	background: white
}

.site-header__inner {
	display: flex;
	align-items: center;
	padding: 0 24px;
	max-width: 996px;
	margin: auto
}

.site-logo {
	flex: 0 0 15%
}

.site-logo a {
	display: block;
	padding: 4px 0
}

.site-logo img {
	display: block;
	height: 40px;
	width: auto;
	object-fit: contain;
	object-position: center
}

.site-nav {
	display: flex;
	align-items: center
}

.site-nav a {
	display: block;
	color: inherit;
	font-weight: 600;
	line-height: 48px;
	padding: 4px 16px;
	position: relative;
	white-space: nowrap;
	text-align:left;
}

.site-nav a:hover,
.site-nav a:focus {
	background: var(--light);
	text-decoration: none
}

.site-nav a.active:before {
	content: "";
	position: absolute;
	bottom: 0;
	left: 8px;
	right: 8px;
	height: 3px;
	background: var(--red)
}

.site-header__btn {
	display: block;
	padding: 12px
}

.site-usernav {
	flex: 0 0 15%;
	justify-content: flex-end
}

.site-usernav>div {
	margin-left: 8px
}

@media (max-width: 480px) {
	.site-header .btn-register {
		display: none
	}
}

.section-nav {
	display: flex;
	margin-top: 16px
}

.section-nav a {
	display: flex;
	align-items: center;
	margin-right: 16px
}

.grid {
	display: grid;
	grid-gap: 24px
}

.grid-2x {
	grid-template-columns: repeat(2, 1fr)
}

.grid-3x {
	grid-template-columns: repeat(3, 1fr)
}

.grid-4x {
	grid-template-columns: repeat(4, 1fr)
}

.grid-5x {
	grid-template-columns: repeat(5, 1fr)
}

.grid-6x {
	grid-template-columns: repeat(6, 1fr)
}

.dd {
	position: relative
}

.ddmenu {
	box-shadow: var(--depth-64);
	position: absolute;
	top: 100%;
	right: 0;
	background: white;
	border-radius: 4px;
	padding: 8px 0;
	display: none;
	margin-top: 8px
}

.ddmenu a {
	display: flex;
	min-width: 180px;
	line-height: 24px;
	padding: 8px 16px;
	align-items: center;
	color: inherit;
	text-decoration: none !important
}

.ddmenu a:hover,
.ddmenu a:focus {
	background: var(--light)
}

.ddmenu .separator {
	margin: 8px 0
}

.dd.open .ddmenu {
	display: block
}

.kb-card {
	box-shadow: var(--depth-4);
	padding: 16px;
	background: white
}

.kb-card h3 {
	margin: 0
}

.kb-card h3 a {
	color: inherit
}

.kb-card h3 a:hover,
.kb-card h3 a:focus {
	text-decoration: underline
}

.kb-card ul {
	margin: 12px 0 0;
	list-style: none;
	padding: 0
}

.kb-card ul li a {
	display: flex;
	padding: 6px 0;
	border-top: dotted 1px var(--border-color);
	text-decoration: none !important
}

.kb-card ul li a .icon {
	margin-top: 1px;
	color: var(--sky)
}

.kb-card ul li a:hover,
.kb-card ul li a:focus {
	color: var(--ink)
}

.kb-card ul li a:hover .icon,
.kb-card ul li a:focus .icon {
	color: var(--orange)
}

.site-footer ul {
	margin: 0;
	padding: 0;
	list-style: none
}

.social-nav {
	background: var(--light)
}

.social-nav nav {
	display: flex;
	align-items: center;
	justify-content: center
}

.social-nav nav a {
	display: flex;
	align-items: center;
	margin: 0 4px;
	line-height: 24px;
	padding: 16px 12px;
	color: inherit;
	font-weight: 600;
	white-space: nowrap;
	font-size: 14px
}

.breadcrumbs {
	display: flex;
	align-items: center;
	min-width: 0;
	overflow: auto;
	-webkit-overflow-scrolling: touch;
	font-size: 14px
}

.breadcrumbs a,
.breadcrumbs span {
	display: block;
	line-height: 24px;
	padding: 8px 0;
	max-width: 200px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	color: inherit
}

.breadcrumbs .icon {
	margin: 0 4px;
	flex: 0 0 18px
}

.article-main {
	grid-column: 2/4
}

.article-main article {
	max-width: 640px;
	margin: auto
}

.article {
	padding: 40px 0
}

.article .grid {
	grid-template-columns: repeat(4, 1fr)
}

.article-main {
	font-size: 18px;
	line-height: 1.5;
	grid-column: 2/5;
	padding: 24px 0 48px 24px
}

.article-title {
	font-size: 4rem;
	line-height: 4.8rem;
	font-weight: 700;
	margin: 0 0 .8rem;
	letter-spacing: -.024em
}

p.lead {
	margin-bottom: 2.4rem;
	font-size: 2.4rem;
	line-height: 3.2rem
}

.article-main h2 {
	font-size: 2.4rem;
	line-height: 3.2rem;
	font-weight: 600;
	margin: 4rem 0 2.4rem
}

.article-main h3,
.article-main h4,
.article-main h5,
.article-main h6 {
	font-size: 1.8rem;
	line-height: 2.4rem;
	font-weight: 600;
	margin: 2.4rem 0
}

.article-main figure {
	margin: 2.4rem 0
}

.article-sidebar-sticky {
	position: sticky;
	top: 65px;
	font-size: 16px;
	line-height: 22px;
	max-height: calc(100vh - 64px);
	overflow: auto;
	padding-right: 24px
}

.article-sidebar h2 {
	margin: 0;
	font-size: 20px;
	line-height: 28px;
	border-top: solid 3px;
	border-bottom: solid 1px;
	padding: 8px 0;
	margin-bottom: 12px
}

.article-sidebar ul {
	list-style: none;
	padding: 0;
	margin: 0
}

.article-sidebar ul li a {
	display: flex;
	line-height: 24px;
	padding: 8px 0
}

.article-sidebar ul li a.active {
	font-weight: 700;
	color: var(--ink)
}

.article-main p,
.article-main ul,
.article-main ol,
.article-main blockquote {
	margin: 0 0 2.4rem
}

.article-news {
	margin: auto;
	padding-left: 0;
	max-width: 640px
}

.article-news .article-cover {
	margin: 40px -80px
}

.article .grid {
	grid-template-columns: repeat(3, 1fr)
}

.article-main {
	grid-column: 2/4
}

.article-sidebar {
	margin: 0;
	padding-right: 3px;
	padding: 24px 16px 0 0;
	list-style: none;
	border-right: solid 1px var(--border-color)
}

.article-sidebar::-webkit-scrollbar {
	width: 4px
}

.article-sidebar::-webkit-scrollbar-track {
	box-shadow: none
}

.article-sidebar::-webkit-scrollbar-thumb {
	background-color: var(--sky);
	border-radius: 1em;
	outline: none
}

.article-sidebar ul li a {
	line-height: 20px;
	padding-right: 16px;
	text-decoration: none !important
}

.article-sidebar ul li a:hover,
.article-sidebar ul li a:focus {
	background: var(--light)
}

.article-sidebar li a {
	border-bottom: dotted 1px var(--border-color);
	position: relative
}

.article-sidebar .category>li>a {
	padding-left: 12px;
	padding-right: 32px !important
}

.article-sidebar .subcategory>li>a {
	padding-left: 24px
}

.subcategory {
	display: none
}

.category-anchor {
	padding: 12px 0 !important;
	background: none !important
}

.category-anchor:hover,
.category-anchor:focus {
	text-decoration: underline !important
}

.subcategory-anchor {
	display: flex;
	align-items: center;
	padding-right: 0 !important;
	color: inherit
}

.subcategory-anchor span {
	display: block;
	flex: 1
}

.li_subcategory .icon {
	color: var(--gray);
	margin-left: 8px;
	position: absolute;
	top: 50%;
	right: 0;
	margin-top: -12px
}

.li_subcategory.active .subcategory-anchor .icon {
	transform: rotate(90deg)
}

.li_subcategory.active .subcategory {
	display: block
}

.li_subcategory.active>a {
	color: var(--ink) !important;
	font-weight: 600
}

.li_story.active>a {
	color: var(--red)
}

.li_story.active>a:after {
	content: "";
	position: absolute;
	top: 2px;
	bottom: 2px;
	left: 0;
	width: 3px;
	border-radius: 6px;
	background: var(--red)
}

dl {
	position: relative;
	margin: 24px 0;
	font-size: 18px
}

dt {
	font-weight: 700
}

dt a {
	display: flex;
	align-items: center
}

dt a .icon {
	margin-right: 8px;
	flex: 0 0 24px
}

dd {
	margin: 0;
	padding: 0 0 0 32px
}

dd+dt {
	margin-top: 24px
}

.article table {
	width: 100%;
	border-collapse: collapse;
	border: solid 1px var(--border-color);
	margin: 24px auto
}

.article table td {
	padding: 8px 12px;
	border: solid 1px var(--border-color)
}

.article-cover {
	margin: 0 auto 24px
}

.btn-small svg {
	width: 18px;
	height: 18px;
	fill: currentColor
}

.postcard {
	border:solid 1px var(--border-color);
	color: inherit;
	text-decoration: none !important;
	overflow: hidden;
	transition: box-shadow .2s;
	background: white;
	display: flex;
	flex-direction: column
}

/* .postcard:hover,
.postcard:focus {
	box-shadow: var(--depth-16)
} */

.postcard-caption {
	padding: 16px;
	display: flex;
	flex-direction: column;
	height: 100%;
	position: relative
}

.postcard-caption h3 a:after {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0
}

.postcard-footer {
	margin-top: auto;
	padding: 16px 0 0
}

.postcard-cert {
	position: absolute;
	top: 8px;
	left: 8px;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	padding: 4px;
	background: rgba(255, 255, 255, 0.24)
}

a.inherit {
	color: inherit
}

a.inherit:hover,
a.inherit:focus {
	color: var(--blue)
}

.course-list {
	display: grid;
	grid-template-columns: 3fr 5fr;
	grid-gap: 24px;
	padding: 24px 0;
	border-bottom: solid 1px var(--border-color)
}

.course-list-meta {
	margin-top: 16px
}

@media (max-width: 768px) {
	.course-list {
		grid-gap: 16px;
		padding: 16px 0
	}

	.course-list .thumbnail {
		padding-bottom: 100%
	}
}

.page-header nav {
	display: flex;
	align-items: center
}

.page-header nav a {
	display: flex;
	margin-left: 24px
}

.page-header nav a.active {
	color: inherit
}

.page-header .page-title {
	font-weight: 700;
	font-size: 40px;
	line-height: 48px;
	letter-spacing: -.04em;
	margin: 0
}

.page-header .page-title-small {
	font-size: 32px;
	line-height: 40px;
	letter-spacing: -0.032em
}

.course-body {
	margin: 24px auto
}

.course-card {
	border: solid 1px var(--border-color);
	border-radius: 4px;
	overflow: auto;
	margin: 0 0 16px
}

.course-card h3 {
	margin: 0;
	font-size: 18px;
	line-height: 24px;
	padding: 12px 16px;
	background: var(--light);
	border-bottom: solid 1px var(--border-color)
}

.course-card ol {
	list-style: none;
	margin: 0;
	padding: 0
}

.course-card ol li {
	display: flex;
	padding: 16px;
	border-bottom: solid 1px var(--border-color)
}

.course-card ol li:last-child {
	border: 0
}

.course-hero {
	border-bottom: solid 1px var(--border-color);
	padding-top: 24px
}

.cal-icon {
	display: block;
	color: inherit;
	text-decoration: none !important;
	border-radius: 4px;
	overflow: hidden;
	box-shadow: var(--depth-4);
	text-align: center;
	width: 48px;
	font-weight: 700
}

.cal-icon-m {
	background: var(--orange);
	color: white;
	line-height: 24px;
	font-size: 14px
}

.cal-icon-d {
	line-height: 32px;
	font-size: 18px
}

.cal-icon.done .cal-icon-m {
	background: var(--light);
	color: var(--ink)
}

.pagination {
	display: flex;
	align-items: center
}

.pagination a {
	display: block;
	line-height: 24px;
	padding: 4px 12px;
	text-align: center;
	border-radius: 4px;
	text-decoration: none !important
}

.pagination a:hover,
.pagination a:focus {
	background: var(--light)
}

.pagination a.active {
	color: inherit;
	font-weight: 600
}

.event-card {
	margin: 0 auto 24px;
	border: solid 1px sky;
	box-shadow: var(--depth-4);
	padding: 24px;
	border-radius: 4px;
	overflow: hidden
}

.event-img {
	margin: -24px -24px 0
}

.slide-content {
	padding: 40px 0
}

.slide-content .flex-1:nth-child(1) {
	padding-right: 24px
}

.slide-content .flex-1:nth-child(2) {
	padding-left: 24px;
}

.slide-content h1 {
	line-height: 1.125;
	font-size: 40px;
	font-weight: 400;
	margin: 0 0 16px
}

.slide-content p {
	margin: 0 0 16px;
	font-size: 18px;
	line-height: 1.375
}

.slide-content .cta {
	padding-top: 16px
}

.m-menu-toggle {
	display: none
}

.glide__bullets {
	bottom: 16px
}

.site-nav-wrapper {
	display: flex;
	align-items: center;
	margin-left: auto
}

@media (max-width: 768px) {
	.site-header__inner {
		padding: 0 8px
	}

	.site-nav-wrapper {
		display: none
	}

	.site-header.menu-open .site-nav-wrapper {
		display: block;
		position: fixed;
		top: 4px;
		right: 4px;
		z-index: 9;
		background: white;
		width: 280px;
		box-shadow: var(--depth-64);
		max-height: 88vh;
		overflow: auto;
		-webkit-overflow-scrolling: touch;
		padding: 8px 0px;
		border-radius: 8px
	}

	.site-nav {
		display: block;
		margin: 4px 0 8px
	}

	.site-nav a {
		padding: 0 24px;
		font-size: 18px
	}

	.site-nav a.active:before {
		width: 3px;
		top: 4px;
		bottom: 4px;
		left: 0;
		right: auto;
		height: auto
	}

	.dd>a {
		display: none
	}

	.ddmenu {
		border-radius: 0;
		border-top: solid 1px var(--border-color);
		display: block;
		position: relative;
		box-shadow: none;
		margin: 0;
		padding-top: 8px
	}

	.ddmenu a {
		padding: 8px 24px
	}

	.site-usernav {
		display: block !important
	}

	.site-usernav>div {
		margin: 0
	}

	.site-logo {
		flex: 1;
		display: flex;
		justify-content: felx-start;
		padding: 0 8px
	}

	.site-logo a {
		padding: 8px 0
	}

	.site-logo a img {
		height: 40px
	}

	.site-usernav {
		flex: 0 0 96px
	}

	.m-menu-toggle {
		display: flex;
		position: relative;
		z-index: 99
	}

	.grid {
		grid-template-columns: 1fr !important;
		grid-gap: 16px
	}

	.container,
	.container-narrow {
		padding-left: 16px;
		padding-right: 16px
	}

	.grid-scroll {
		margin-left: -16px;
		margin-right: -16px;
		display: flex;
		flex-wrap: nowrap;
		overflow: auto;
		-webkit-overflow-scrolling: touch;
		grid-gap: 0;
		padding-bottom: 16px;
		margin-bottom: -16px
	}

	.grid-scroll>div {
		margin: 0 8px;
		flex: 0 0 220px
	}

	.grid-scroll:before,
	.grid-scroll:after {
		content: "";
		padding: 4px
	}

	.grid-3x.grid-scroll>div {
		flex: 0 0 280px
	}

	.social-nav nav {
		margin: 0 -16px;
		justify-content: flex-start;
		overflow: auto;
		-webkit-overflow-scrolling: touch
	}

	.slidernav.prev {
		display: none !important
	}

	.slidernav.next {
		top: auto;
		bottom: 16px;
		margin: 0;
		padding: 12px;
		width: 48px;
		height: 48px
	}

	.slide-content {
		flex-direction: column-reverse;
		margin: 0 -16px;
		padding: 24px 0;
	}

	.slide-content>div {
		width: 100%
	}

	.slide-content .flex-1:nth-child(1) {
		padding: 16px 16px 24px;
		position: relative;
		z-index: 99;
		margin-top: -80px
	}

	.slide-content .flex-1:nth-child(2) {
		padding: 0
	}

	main {
		overflow: hidden
	}

	.section-header {
		display: block
	}

	.section-nav {
		margin: 8px -16px -8px;
		padding-bottom: 8px;
		overflow: auto;
		-webkit-overflow-scrolling: touch
	}

	.section-nav a {
		margin: 0 4px !important;
		color: inherit;
		font-weight: 600;
		line-height: 22px;
		padding: 4px 12px;
		white-space: nowrap;
		background: white;
		border: solid 1px var(--sky);
		border-radius: 8px;
		font-size: 14px
	}

	.section-nav:before,
	.section-nav:after {
		content: "";
		padding: 6px
	}

	.hero {
		background: #1e3a8a !important;
		margin: 0 !important
	}

	.hero .slide-content h1 {
		font-size: 24px;
		letter-spacing: -.024em
	}

	.hero .slide-content p {
		font-size: 16px
	}

	.hero .slide-content .thumbnail {
		border-radius: 0;
		box-shadow: none;
		padding-bottom: 40%
	}

	.hero .slide-content .thumbnail:after {
		content: "";
		position: absolute;
		bottom: 0;
		left: 0;
		right: 0;
		height: 100%;
		background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, #000 100%)
	}

	.hero .slide-content .btn {
		padding: 12px 24px;
		border-width: 1px
	}

	.hero .glide__bullets {
		display: flex;
		left: 0;
		opacity: .64;
		transform: none;
		right: 0;
		padding: 0 12px;
		bottom: 4px;
		z-index: 999
	}

	.hero .glide__bullets button {
		border: 0;
		height: 2px;
		flex: 1;
		margin: 0 4px;
		border-radius: 2px
	}

	.morelink {
		display: none
	}

	.mycourse {
		flex-direction: row
	}

	.mycourse .postcard-img {
		flex: 0 0 120px
	}

	.mycourse .postcard-img .thumbnail {
		padding-bottom: 100%
	}
}

.hero {
	padding: 0
}


.slide-content {
	display: flex;
	align-items: center
}

.slidernav {
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
	border: 0;
	display: block;
	padding: 8px;
	border-radius: 50%;
	position: absolute;
	top: 50%;
	margin-top: -20px;
	background: rgba(0, 0, 0, 0.12);
	color: rgba(255, 255, 255, 0.8);
	width: 40px;
	height: 40px;
	overflow:hidden;
	text-indent:200%;
}

.slidernav.prev {
	left: 16px
}

.slidernav.next {
	right: 16px
}

.slidernav svg {
	display: block;
	width: 24px;
	height: 24px;
	margin: -12px 0 0 -12px;
	fill: currentColor;
	position:absolute;
	top:50%;
	left:50%;

}

.postcard-news {
	position: relative;
	padding-bottom: 100px;
	background: black;
	color: white;
	border: 0
}

.postcard-news .thumbnail:after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	height: 50%;
	background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, #000 100%)
}

.postcard-news .postcard-caption {
	position: absolute;
	height: auto;
	bottom: 0;
	left: 0;
	right: 0
}

.postcard-news .postcard-footer {
	color: #9ca3af
}

.instructors {
	display: grid;
	grid-gap: 8px
}

.instructor-card {
	padding: 12px;
	background: var(--light);
	border-radius: 4px;
	cursor: pointer
}

.instructor-card summary {
	display: block;
	outline: 0 !important
}

.instructor-card summary div {
	min-width: 0
}

.instructor-card .instructor-name,
.instructor-card .instructor-title {
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis
}

.course-article:after {
	content: "";
	display: block;
	clear: both
}

.course-article-header {
	float: left;
	width: 61.8%;
	border-right: solid 1px var(--border-color);
	padding: 24px;
	padding-left: 0
}

.course-article-sidebar {
	float: right;
	width: 38.2%;
	padding: 24px;
	padding-right: 0
}

.course-article-body {
	padding: 0 24px 24px 0;
	float: left;
	width: 61.8%;
	border-right: solid 1px var(--border-color)
}

.course-article-body .course-list {
	border-bottom: 0;
	border-top: solid 1px var(--border-color)
}

.course-article-title {
	font-size: 4rem;
	letter-spacing: -0.01em;
	font-weight: 700;
	line-height: 4.8rem;
	margin: 0
}

.course-article-excerpt {
	font-size: 2.4rem;
	line-height: 3.3rem;
	letter-spacing: -.01em;
	margin: 0
}

.course-article-h2 {
	font-size: 2.4rem;
	line-height: 3.2rem;
	letter-spacing: -.024em;
	margin: 0;
	padding: 0 0 8px;
	font-weight: 600
}

.course-article-cta {
	padding: 16px 0;
	border-top: solid 1px transparent
}

.cta-sticky .course-article-cta {
	position: sticky;
	top: 56px;
	background: white;
	border-top-color: var(--border-color)
}

.flex>div {
	min-width: 0
}

@media (max-width: 768px) {
	.breadcrumbs .icon {
		margin: 0
	}

	.course-article-title {
		font-size: 3.2rem;
		letter-spacing: -0.01em;
		line-height: 4rem;
		margin: 0
	}

	.course-article-excerpt {
		font-size: 1.8rem;
		line-height: 2.4rem
	}

	.course-article-h2 {
		padding: 0 0 8px
	}

	.course-article {
		padding: 24px 0;
		display: grid;
		grid-gap: 24px
	}

	.course-article-header,
	.course-article-body,
	.course-article-sidebar {
		float: none;
		width: auto;
		padding: 0;
		border: 0
	}
}

.myclass-page {
	padding: 24px 0
}

.myclass-page-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 16px;
	position: relative
}

.myclass-page-title {
	font-size: 2.4rem;
	letter-spacing: -.024em;
	line-height: 3.2rem;
	margin: 0
}

.myclass-page-nav {
	margin-left: auto
}

.myclass-page-nav nav {
	display: flex
}

.myclass-page-nav nav a {
	display: block;
	margin-left: 24px
}

.myclass-page-mainbar {
	grid-column: 1/3;
	padding-right: 24px;
	border-right: solid 1px var(--border-color)
}

.myclass-page-mainbar .course-list-meta {
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-size: 1.4rem;
	line-height: 1.8rem;
	color: var(--gray)
}

.myclass-page-sidebar {
	grid-column: 3/4
}

.card-list {
	list-style: none;
	margin: 0 0 24px;
	padding: 0;
	border-top: solid 1px var(--border-color)
}

.card-list li {
	display: flex;
	padding: 16px 0;
	border-bottom: dotted 1px var(--border-color)
}

.card-list li a {
	display: block;
	font-weight: 600
}

@media (max-width: 768px) {
	.myclass-page {
		padding: 16px 0
	}

	.myclass-page-header {
		display: block
	}

	.myclass-page-nav {
		margin: 8px 0 0
	}

	.myclass-page-nav nav a {
		margin-left: 0;
		margin-right: 24px
	}

	.myclass-page-mainbar {
		grid-column: 1;
		border: 0;
		padding-right: 0
	}

	.myclass-page-mainbar .course-list-meta {
		display: block
	}

	.myclass-page-sidebar {
		grid-column: 1
	}
}

.explore-page-body {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	grid-gap: 24px
}

.explore-page-nav {
	position: sticky;
	top: 56px;
	max-height: 80vh;
	overflow: auto;
	-webkit-overflow-scrolling: touch;
	padding: 24px 0
}

.explore-page-nav .xoxo {
	margin: 0;
	padding: 0;
	list-style: none
}

.explore-page-nav .xoxo li a {
	display: flex;
	line-height: 24px;
	padding: 8px 16px;
	text-decoration: none !important;
	color: inherit;
	align-items: center;
	position: relative
}

.explore-page-nav .xoxo li a:hover,
.explore-page-nav .xoxo li a:focus {
	background: var(--light)
}

.explore-page-nav .xoxo li a.active {
	background: var(--light)
}

.explore-page-nav .xoxo li a.active:after {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	width: 3px;
	background: var(--red)
}

.explore-sidebar {
	border-right: solid 1px var(--border-color)
}

.explore-mainbar {
	grid-column: 2/5;
	padding: 24px 0
}

.course-article {
	border-top: solid 1px var(--border-color)
}

.course-article-cover {
	overflow: hidden;
	position: relative
}

.course-article-cover a {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 888
}

.course-article-cover a:hover,
.course-article-cover a:focus {
	background: rgba(0, 0, 0, 0.12)
}

.course-article-cover a .icon {
	width: 6.4rem;
	height: 6.4rem;
	position: absolute;
	bottom: .4rem;
	left: .4rem
}

.myclass-page-m-menu {
	display: none
}

.skiplink {
	position:absolute;
	top:0;
	z-index:99999999;
	transform:translateY(-100%);
	transition:.2s;
	display:block;
	padding:8px 16px;
	line-height:24px;
	background:white;
	box-shadow:var(--depth-16);
	opacity:0;
}

.skiplink:focus {
	transform:translateY(0);
	opacity:1;
}

@media (max-width: 768px) {
	.explore-page-body {
		grid-template-columns: 1fr;
		grid-gap: 0
	}

	.explore-mainbar {
		grid-column: 1;
		padding: 16px 0
	}

	.explore-sidebar {
		border-right: 0;
		border-bottom: solid 1px var(--border-color);
		display: none
	}

	.explore-sidebar.open {
		display: block
	}

	.explore-page-nav {
		padding: 16px 0 8px;
		border: 0
	}

	.explore-page-nav .xoxo {
		overflow: hidden
	}

	.explore-page-nav .xoxo li {
		float: left
	}

	.explore-page-nav .xoxo li a {
		border-radius: 10em;
		background: var(--light);
		margin: 0 8px 8px 0
	}

	.explore-page-nav .xoxo li a:after {
		display: none !important
	}

	.explore-page-nav .xoxo li a.active {
		font-weight: 600
	}

	.myclass-page-m-menu {
		display: flex;
		align-items: center;
		position: absolute;
		right: 0;
		top: 50%;
		transform: translateY(-50%);
		text-decoration: none !important
	}

	.myclass-page-m-menu.open .icon {
		transform: rotate(180deg)
	}

	.article-title {
		font-size:3.2rem;
		line-height:4rem;
	}

	p.lead {
		font-size:1.8rem;
		line-height:2.4rem;
		margin:1em 0
	}

	.course-hero {
		padding-top:16px;
	}
}