html {
    -webkit-text-size-adjust: 100%;
    min-height: 101%;

    scroll-behavior: smooth;
}

body {
    -webkit-text-size-adjust: 100%;
    min-height: 101%;
    font-optical-sizing: auto;
}

.text-title-2 {
    letter-spacing: -.032em
}

.text-title-3 {
    letter-spacing: -.024em;
}

ins {
    text-decoration: none;
}

abbr {
    text-decoration: none;
}

.btn-small svg {
    width: 1.8rem;
    height: 1.8rem;
}

.text-small {}

.btn {
    font-weight: 600;
}




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




.ddmenu {
    padding: 4px;
    display: none;
    position: absolute;
    top: 100%;
    right: 0;
    min-width: 180px;
    z-index: 9999;
    margin-top: -6px;
    background: white;
}

.active .ddmenu {
    display: block;
}


/* 
.ddmenu a {
    display: flex;
    align-items: center;
    line-height: 40px;
    padding: 0 16px;
    color: var(--ink);
    border-radius: 6px;
    text-decoration: none !important;
    font-weight: 600;
}

@media(max-width: 768px) {
    .ddmenu {
        padding: 8px;
    }

    .ddmenu a {
        padding: 0 8px;
    }
}

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

.ddmenu .m-show {
    display: none;
}

.dd-search {
    order: 3;
}

.dd .m-hide {
    display: flex;
}

.dd .m-show {
    display: none;
} */

/* .site-footer {
    position:relative;
    background:#f5f5f5;
} */

.site-footer-content {
    padding: 1.6rem 0;
    border-top: solid .1rem var(--border-color);
    color: var(--gray);
}

.site-footer .container {
    max-width: 100%
}


.footer-nav {
    display: flex;
}

.footer-nav div {
    padding-right: 16px;
    border-right: solid 1px var(--sky);
}

.footer-nav a {
    display: block;
    color: inherit;
    margin-left: 16px;
    text-decoration: underline;
}

main {
    min-height: calc(100vh - 18rem);
    padding-bottom: 40px;
}

.headnav {
    display: flex;
    align-items: center;
    justify-content: space-between;

}


.container {
    max-width: 114.4rem;
    margin: auto;
    padding: 0 2.4rem;
}

.container-narrow {
    max-width: 64rem;
}


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

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

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

.grid-side {
    grid-template-columns: auto 300px;
}

.ddname {
    max-width: 100px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}


.sh-ic-btn {
    display: block;
    color: inherit !important;
    text-decoration: none;
    padding: 8px;
    border-radius: 50%;
}

.sh-ic-btn:hover,
.sh-ic-btn:focus {
    background-color: #f9f9f9;
}

.m-show {
    display: none;
}

.content {
    max-width: 722px;
    margin: auto;
    position: relative;
    z-index: 88;
}

.cta-access {
    border: solid 1px var(--border-color);
}

.progress {
    padding: 0;
    margin: 0;
    list-style: none;
    position: relative;
    border-top: solid .1rem var(--border-color);
}


.progress li {
    position: relative;
}

.true .radio__btn input[type=radio]:checked~div,
.fail .true .radio__btn input[type=radio]~div,
.progress li .check {
    background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAAALVBMVEUAAAD///////////////////////////////////////////////////////+hSKubAAAADnRSTlMAChUuM3V3f4CIwNHr7sq7CnQAAABsSURBVHja7NI1GoAwFAPgujf3vy0y4ZKPCWjmP9UnWloeRVvSF0TSA5H08N/wzatkOJ9RDeFlBlD02gdxGIch1RD3nRr3/NS466fGTT81iP8KoyzT+9zcg5oHR/ipwfihMXoqIfQDEqNgFAAACEUJ7ipu+uwAAAAASUVORK5CYII=);
}

.progress li .check {
    position: absolute;
    width: 2.4rem;
    height: 2.4rem;
    border-radius: 50%;
    border: solid .2rem var(--sky);
    left: 1.6rem;
    background-color: white;
    top: 50%;
    transform: translateY(-50%);
    z-index: 88;
    background-size: 1.8rem 1.8rem;
    background-repeat: no-repeat;
    background-position: center;
}


.progress li a {
    display: flex;
    align-items: center;
    line-height: 2.4rem;
    padding: 1.2rem 1.6rem 1.2rem 5.6rem;
    /* color: inherit; */
    text-decoration: none;
    font-weight: 600;
    border-bottom: dotted .1rem var(--border-color);
}

.progress li:last-of-type a {
    border-bottom: none;
}

/* .progress li:first-of-type a {
    border-top: solid 1px var(--border-color);
} */

.progress li a:hover,
.progress li a:focus {
    color: var(--blue);
    background: #f9fafb;
}

/* .progress li a svg {
    fill: var(--gray);
}

.progress li a:hover svg,
.progress li a:focus svg {
    fill: var(--azure);
} */

.progress li a.active .check {
    background-color: var(--green);
    border-color: var(--green);
}

.progress li .check.done {
    background-color: var(--azure);
}

.progress-step:after {
    content: "";
    width: .2rem;
    background-color: var(--sky);
    position: absolute;
    top: 2.4rem;
    bottom: 2.4rem;
    left: 2.7rem;
}

.h-caption {
    position: absolute;
    bottom: 0;
    left: 0;
    top: 0;
    width: 50%;
    background: white;
    padding-left: 0 !important;
}

.topic-hero {
    padding: 48px 0 24px;
}

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

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

.hero-content {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-gap: 40px;
    align-items: center;
}

/* 
.section {
    padding:24px 0;
}


.section-heading h1 {

    font-weight: 700;
}

.section h2 {
    font-weight: 600;
    display: flex;
    padding-bottom:8px;
}

.section h2 a {
    display: flex;
    color: inherit;
    text-decoration: none;
    padding-right: 40px;
    align-items: center;
}

.section h2 a:hover,
.section h2 a:focus {
    text-decoration: underline;
}

.section h2 a:hover svg,
.section h2 a:focus svg {
    fill: var(--blue)
} */
/* 
.postcard {
    display: block;
    color: inherit;
    text-decoration: none !important;
    border-radius: 0 !important;
    overflow: hidden !important;
    background: white;
    position: relative;
    padding-bottom: 2.2rem;
    border:solid 1px var(--border-dark);
    box-shadow:var(--depth-4);

}

.postcard-event {
    padding-bottom:56px;
}

.postcard:hover .postcard-title,
.postcard:focus .postcard-title {
    text-decoration: underline;
}


.postcard-meta {
    font-size: 1.4rem;
    line-height: 1.8rem;
}

.postcard-caption {
    padding: 12px;
}

.postcard-title {
    font-weight:600;
    color:var(--accent);
}

.postcard-subtitle {
    display: none;
    font-size:1.4rem;
    line-height:1.8rem;
}

.postcard-price {
    padding-left:4rem;
    text-align:right;
}

.postcard-img {
    position:relative;
}

.postcard-img .thumbnail {
    border-radius: 4px 4px 0 0;
    overflow: hidden;
}

.mycourse-scroll>a.postcard-overlay {
    flex: 0 0 240px;
    border: 0;
}

.postcard-list.minicard .postcard-img {
    flex:0 0 16rem;
}

.postcard-overlay {
    padding-bottom: 0;
    border:0;
    background-color:var(--ink);
}

.postcard-overlay .postcard-img .thumbnail {
    border-radius: 4px;
}

.postcard-overlay .postcard-title {
    color: white;
}

.postcard-overlay .postcard-caption {
    border-radius:0 0 4px 4px;
}


.postcard-overlay .postcard-caption {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 40px 12px 12px 12px;
    background: linear-gradient(to bottom, rgba(17, 24, 39, 0) 0%, rgba(17, 24, 39, 0.5) 33%, rgba(17, 24, 39, 1) 100%);
    color: white;
}





.postcard-footer {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 12px;
}


.postcard-list {

    color: inherit;
    text-decoration: none;
    border: 0;
    border-radius: 0;
    border-top:solid 1px var(--border-color);
    display: flex;
    align-items:flex-start;
    margin-bottom: 1.6rem;
    padding-top: 1.6rem;
    text-decoration: none !important;
}

.postcard-list .postcard-img {
    flex:0 0 16rem;
    border-radius:0;
}

.postcard-list .thumbnail  {
    border-radius:0;
}

.postcard-list .postcard-caption {
    padding:0 0 0 1.6rem;
    display:flex;
    flex:1;
}

.postcard-list .postcard-title {
    font-size:1.8rem;
    line-height: 2.4rem;
}


.postcard-list .postcard-subtitle {
    display:block;
}

.postcard-list:hover .postcard-title,
.postcard-list:focus .postcard-title {
text-decoration:underline;
} */

.modal-postcard-meta>div {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    padding-left: 0 !important;
    padding-right: .8rem !important;

}


.cardlist.display-grid {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -.8rem;
}

.cardlist.display-grid>li {
    flex: 0 0 calc(33.33333% - 1.6rem);
    margin: 0 .8rem 1.6rem;

}

.cardlist.display-grid .postcard-list {
    display: block;
    border: solid .1rem var(--border-color);
    height: 100%;
    border-radius: .4rem;
    overflow: hidden;
    padding: 0;
    margin: 0;
}

.cardlist.display-grid .postcard-caption {
    display: block;
    padding: 1.2rem;
}

.cardlist.display-grid .postcard-price {
    padding: 0;
    text-align: left;
}


.topic-hero {}

.topic-hero p {
    font-weight: 400;
}

.topic-hero h1,
.activity-heading h1,
.event-title {
    display: block;
    color: inherit;
    text-decoration: none;
    font-weight: 700;
    font-size: 40px;
    line-height: 1.25;
    letter-spacing: -.04em;
}

/* 
.breadcrumbs {
    display: flex;
    align-items: center;
}

.breadcrumbs a {
    display: flex;
    margin-right: .4rem;
    position: relative;
    padding:0 2rem 0 0;
    font-weight:600;
}

.breadcrumbs a>span {
    display:block;
}

.breadcrumbs a:after {
    content: "";
    border: solid 4px rgba(0,0,0,0);
    border-left-color: var(--gray);
    position: absolute;
    top: 50%;
    margin-top: -4px;
    right: 4px;
    opacity: .64;
}

.breadcrumbs span {
    display: block;
} */

.event-title {
    font-size: 32px;
    font-weight: 600;
}

.activity-heading .avatar {
    width: 96px;
    height: 96px;
}

.topic-hero p {
    white-space: pre-line;
}


.activity-description {
    white-space: pre-line;

}

.avatar {
    background-color: white;
}



@media(min-width: 1023px) {
    .grid-3 {
        grid-template-columns: repeat(5, 1fr);
    }

}

@media(min-width: 1440px) {
    .grid-3 {
        grid-template-columns: repeat(5, 1fr);
    }
}

@media(max-width: 768px) {
    .container {
        padding-left: 16px;
        padding-right: 16px;
    }



    .logo a {
        padding: 16px;
    }

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








    .h-caption {
        position: relative;
    }

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

    .gridscroll:before,
    .gridscroll:after {
        content: "";
        padding: 6px;
    }

    .gridscroll>a {
        flex: 0 0 196px;
        margin: 0 4px
    }

    section.section {
        padding-top: 16px !important;
        padding-bottom: 16px !important;
    }

    .hero-content {
        display: block;
    }

    .hero {
        padding: 24px 0 8px;
    }

    .hero-content {
        display: block;
        text-align: center;
    }

    .hero-img {
        margin-bottom: 24px;
        padding: 0 40px;
    }


    .hero {
        padding: 24px 0 8px;
    }

    .hero-content {
        display: block;

        text-align: center;
    }

    .hero-img {
        margin-bottom: 24px;
        padding: 0 40px;
    }

    .topic-hero {
        padding: 24px 0;
    }

    .activity-heading h1,
    .topic-hero h1 {
        font-size: 32px;
        letter-spacing: -.032em;
    }

    .event-title {
        font-size: 24px;
    }

    .activity-heading .avatar {
        width: 64px;
        height: 64px;
    }

    .topic-hero p {
        font-size: 18px;
        line-height: 24px;
    }

    .postcard-list-img {
        flex: 0 0 128px;
    }
}

@media (max-width: 768px) and (min-width:641px) {
    .content .gridscroll {
        display: grid;
        grid-gap: 16px;
        margin: 0;
        padding: 0;
    }

    .content .gridscroll:before,
    .content .gridscroll:after {
        display: none;
    }

    .content .gridscroll>a {
        margin: 0;
    }
}

@media (max-width: 640px) {
    .grid-2 {
        grid-template-columns: 1fr;
        grid-gap: 16px;
    }

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

    .gridscroll>a {
        flex: 0 0 196px;
    }

    .event-list {
        grid-template-columns: 1fr 1fr !important;
        grid-gap: 8px;
    }
}

.overlay.active {
    visibility: visible;
    z-index: 999;
    opacity: 1;
    -webkit-transition: opacity 0.1s;
    -moz-transition: opacity 0.1s;
    transition: opacity 0.1s;
}

.overlay {
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: rgba(255, 255, 255, 0.6);
    z-index: -9;
    visibility: hidden;
    opacity: 0;
}

.loading-overlay {
    position: fixed;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    z-index: 99999;
    background: rgba(255, 255, 255, .88)
}

.loading-overlay:after {
    content: "Processing...";
    font-size: 14px;
    color: var(--gray);
    line-height: 20px;
    width: 200px;
    text-align: center;
    position: absolute;
    top: 50%;
    left: 50%;
    margin: -10px 0 0 -100px
}

.tab {
    display: flex;
    border-bottom: solid 1px var(--border-color);
}

.tab a {
    display: block;
    line-height: 24px;
    padding: 12px 0;
    margin-right: 32px;
    font-weight: 600;
    color: inherit;
    position: relative;
    text-decoration: none !important;
}

.tab a.active {
    color: var(--ink);
}

.tab a.active:after {
    content: "";
    height: 3px;
    background: var(--red);
    border-radius: 4px 4px 0 0;
    position: absolute;
    bottom: -1px;
    left: 0;
    right: 0;
}






.section-event {
    padding: 24px 0 8px;
}

.event-scroll {
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    display: flex;
    margin: 0 -16px;
}

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


.event-scroll>a {
    flex: 0 0 calc(25% - 16px);
    margin: 0 8px 16px;
}



@media (max-width: 1023px) {
    .event-scroll>a {
        flex: 0 0 234px;
        margin: 0 4px 16px;
    }

    .event-scroll:before,
    .event-scroll:after {
        content: "";
        padding: 6px;
    }
}




.event-grid {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -8px;
}


.event-grid>a {
    flex-basis: calc(33.33334% - 16px);
    margin: 0 8px 16px;
}


@media (max-width: 767px) {

    .event-grid {
        margin: 0;
        display: block;
    }

    .event-grid>a {
        flex: auto;
        margin: 0 0 16px;
    }

    .m-show {
        display: block;
    }

    .flex.m-show {
        display: flex;
    }

}


.section-course {
    padding: 24px 0 8px;
}

.section-courselist {
    padding: 24px 0;
}


.page-header {
    padding: 1.6rem 0;
}


@media(max-width:768px) {
    /* .page-header h1 {
        font-size:2.4rem;
        line-height:3.2rem;
        letter-spacing: -.032em;
    } */

    .page-header .text-title-3 {
        font-size: 2rem;
        letter-spacing: unset;
        line-height: 2.4rem;
    }

}

.page-header .tab {
    margin-bottom: -24px;
    border: 0;
    margin-top: 16px;
}

.page-header .tab a {
    flex: unset;
    padding: 12px 16px;
    margin: 0;
}

.page-header .tab a:hover,
.page-header .tab a:focus {
    background: var(--light);
}

.page-header .tab a:after {
    left: 8px;
    right: 8px;
    border-radius: 0;
}

.mycourse-grid {
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    display: flex;
    flex-wrap: wrap;
    margin: 0 -8px;
    padding: 0;
    list-style: none;
}




.mycourse-grid>a,
.mycourse-grid>li {
    flex: 0 0 calc(33.33333% - 1.6rem);
    margin: 0 .8rem 1.6rem;
}


.category-grid {
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    display: flex;
    flex-wrap: wrap;
    margin: 0 -8px;
}




.category-grid>a {
    flex: 0 0 calc(25% - 16px);
    margin: 0 8px 16px;
}



@media (max-width: 1023px) {



    .category-grid {
        flex-wrap: nowrap;
        margin: 0 -16px;
    }

    .category-grid:before,
    .category-grid:after {
        content: "";
        padding: 6px;
    }

    .category-grid>a {
        flex: 0 0 238px;
        margin: 0 4px 16px;
    }

}




/*EXPLORE*/

.explore-grid {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -4px;
    padding: 0;
    list-style: none;
}

.explore-grid>a {
    flex: 0 0 calc(50% - 8px);
    margin: 0 4px 8px;
}

.explore-grid>li {
    flex: 0 0 calc(50% - 8px);
    margin: 0 4px 8px;
}

.explore-title {
    font-weight: 700;
    font-size: 2.4rem;
    line-height: 3.2rem;
    letter-spacing: -.024em;
}

@media (max-width: 767px) {
    .explore-grid {
        display: block;
    }

    .explore-grid>a {
        margin: 0 4px 12px;
    }

}

@media (min-width: 768px) {

    .explore-grid>a,
    .explore-grid>li {
        flex: 0 0 calc(33.33333% - 8px);
        margin: 0 4px 8px;
    }
}

@media (min-width: 1024px) {
    .explore-grid {
        margin: 0 -8px;
    }

    .explore-grid>a,
    .explore-grid>li {
        flex: 0 0 calc(25% - 16px);
        margin: 0 8px 16px;
    }
}

.byline-name {
    overflow: hidden;
    margin-top: 4px;
}

.byline-name>div {
    float: left;
    white-space: nowrap;
    padding-right: 16px;
    max-width: 200px;
    overflow: hidden;
    text-overflow: ellipsis;
    position: relative;
}

.byline-name>div:not(:last-child):after {
    content: "·";
    color: var(--gray);
    position: absolute;
    top: 0;
    right: 8px;
}

.qrcode-modal {
    display: none;
    position: fixed;
    top: 50%;
    left: 50%;
    z-index: 99999;
    transform: translate(-50%, -50%);
    width: 288px;
}

.qrcode-modal.active {
    display: block;
}

.qrcode-modal .qr-img {
    display: block;
    width: 240px;
    height: 240px;
    margin: auto;
}

.page-article {
    padding: 24px 0;
}

.page-article h1 {
    font-size: 2.4rem;
    line-height: 3.2rem;
}

.page-article h2 {
    font-size: 1.8rem;
    line-height: 2.4rem;
}



.blink {
    -webkit-animation: blinker 2s linear infinite;
    animation: blinker 2s linear infinite;
}

@keyframes blinker {
    50% {
        opacity: 0;
    }
}







































/*NEW Theme*/

.btn-xlarge {
    font-size: 2.4rem;
    letter-spacing: -.024em;
    padding: 1.6rem 2.4rem !important;
}

.btn-sell {
    background: var(--red);
}

.btn-sell:hover,
.btn-sell:focus {
    background: #991b1b;
}

.sidebar-sticky {
    background: white;
    position: -webkit-sticky;
    position: sticky;
    top: 8rem;
}

.skiplink {
    display: block;
    position: absolute;
    z-index: 99999;
    top: -20rem;
    left: 0;

    padding: .8rem 1.6rem;
}

.skiplink:focus {

    top: 0;
}

main {
    scroll-margin-top: 5.6rem;
}



.navlink {
    display: flex;
    line-height: 2.4rem;
    padding: 1.6rem;
    position: relative;
    align-items: center;
    font-size: 1.6rem;
    color: inherit;
    font-weight: 600;
}


.navlink:hover,
.navlink:focus {
    color: var(--accent);
    background: #f3f6f9;
}

.navlink-icon {
    margin-right: .8rem;
    display: none;
}

/* .navlink-icon .icon {
    width:1.8rem;
    height:1.8rem;
} */




.secnav {
    border-bottom: solid 1px var(--border-color);
    overflow: auto;
    -webkit-overflow-scrolling: touch;
}

.secnav a {
    display: flex;
    white-space: nowrap;
    align-items: center;
    text-decoration: none;
    padding: 1.2rem 0;
    border-radius: .8rem;
    margin-right: 2.4rem;
    position: relative;
}

.secnav a:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: .3rem;
}


.secnav a:hover:after,
.secnav a:focus:after {
    background: var(--sky);
}

.secnav a.active:after {

    background: var(--red)
}

.secnav a.active {
    color: inherit;
}

@media (max-width: 767px) {


    .navlink {
        margin: 0 0 0 .4rem;
    }

    .navlink.showMenu {
        padding-right: 1.2rem;
        padding-left: 1.2rem;
    }

    .navlink.showMenu .avatar {
        width: 2.4rem;
        height: 2.4rem;
        margin: auto;
    }


    .site-nav {
        justify-content: flex-end;
        margin: 0;
    }

    .secnav a {
        margin-right: 2.4rem !important;
    }



}






.flex>div {
    min-width: 0;
}


.pl-home {
    display: flex;
    min-width: 0;
}

.pl-home-mainbar {
    padding: 1.6rem 1.2rem 1.6rem 0;
    flex: 0 0 68.2%;
    min-width: 0;

}

.pl-home-sidebar {
    padding: 1.6rem 0 1.6rem 1.2rem;
    flex: 31.8%;
    min-width: 0;
}


.pl-explore {
    display: flex;
    min-width: 0;
}

.pl-explore-sidebar {
    padding: 1.6rem 1.6rem 1.6rem 0;
    flex: 0 0 25%;
    align-self: stretch;
}

.pl-explore-mainbar {
    flex: 0 0 75%;
    padding: 1.6rem 0 1.6rem 1.6rem;
    min-width: 0;
}

.pl-explore-sidebar nav a {
    display: flex;
    align-items: center;
    line-height: 2.4rem;
    margin: 0 0 8px;
    color: inherit;
}

.pl-explore-sidebar nav a.active {
    color: var(--red);
    font-weight: 600;
}


.pl-course {
    display: flex;
    min-width: 0;
}

.pl-course-sidebar {
    align-self: stretch;
    order: 2;
    flex: 0 0 38.2%;
    padding: 2.4rem 0 2.4rem 2.4rem;
    border-left: solid .1rem var(--border-color);
    background: white;
    position: relative;
    z-index: 0;
    margin-top: -12rem;
    min-width: 0;
    opacity: 0;
}


.pl-course-sidebar .minicard {
    padding: 1.2rem;
    border-radius: .4rem;
    background: var(--light);
    margin-bottom: .4rem;
}

.pl-course-mainbar {
    flex: 0 0 61.8%;
    padding: 0 2.4rem 2.4rem 0;
}


.course-header {
    max-width: 61.8%;
    padding-right: 2.4rem;
}

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

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

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

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



.minicard {
    padding: .8rem 0;
    /* background:#f8fafc; */
    /* border-radius: .4rem; */
    /* margin-bottom:.8rem; */
    position: relative;
}

.minicard:hover {
    background: #f9fafb;
}

.minicard details summary {
    display: block;
    outline: 0 !important;

}

.minicard details summary:after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    cursor: pointer;
}

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


.minicard details[open] summary .icon {
    transform: rotate(180deg);
}


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

.instructor-card[open] .instructor-name,
.instructor-card[open] .instructor-title {
    white-space: normal;
}


.course-list .postcard {
    display: flex;
    border: 0;
    border-top: solid 1px var(--border-dark);
    border-radius: 0;
    padding-top: 16px;
    padding-bottom: 16px !important;
    box-shadow: none !important;
}

.course-list .postcard-img {
    flex: 0 0 16rem;
    border-radius: 0;
}

.course-list .postcard-img .thumbnail {
    border-radius: 0;
}

.course-list .postcard-caption {
    padding: 0 0 0 1.6rem !important;
    flex: 1;
}

.course-list .postcard-subtitle {
    display: block;
}

@media(max-width: 640px) {



    .footer-nav {
        flex-direction: column;
    }

    .footer-nav div {
        border: 0;
        order: 2;
        margin-top: 12px;
    }

    .footer-nav a {
        margin: 0;
    }
}





@media(max-width: 1023px) {

    .pl-home {
        display: flex;
        min-width: 0;
    }

    .pl-home-mainbar {
        padding: 1.6rem 1.6rem 1.6rem 0;
        flex: 0 0 61.8%;
        border-right: solid 1px var(--border-color);
        min-width: 0;

    }

    .mycourse-grid>a,
    .mycourse-grid>li {
        flex: 0 0 calc(50% - 1.6rem);
        margin: 0 .8rem 1.6rem;
    }

    .pl-home-sidebar {
        padding: 1.6rem 0 1.6rem 1.6rem;
        flex: 0 0 38.2%;
        min-width: 0;
    }
}



.course-list .postcard-event-list {
    /* border:0;
    background:#f9fafb;
    border-radius:.4rem;
    padding:1.6rem;
    margin-bottom:.8rem */
}

.course-list .postcard-event-list .postcard-img {
    /* flex:0 0 20rem; */
}

.card {
    background: white;
}

.cardlist {
    margin: 0;
    padding: 0;
    list-style: none;
}

.pl-home-sidebar .cardlist li {
    border-bottom: dotted .1rem var(--border-dark);
    padding: .8rem 0;
    position: relative;
}

.pl-home-sidebar .cardlist li:first-child {
    border-top: solid .1rem var(--border-dark);
}

.text-serif.text-bold {
    font-weight: 900
}

.tab-btn {
    display: flex;
    border: solid .1rem var(--blue);
    overflow: hidden;
    border-radius: .4rem;
}

.tab-btn a {
    display: block;
    line-height: 2.4rem;
    color: inherit;
    font-size: 1.4rem;
    padding: .3rem 1.2rem;
    color: var(--blue);
}

.tab-btn a:hover,
.tab-btn a:focus {
    color: var(--blue);
    text-decoration: none;
}

.tab-btn a.active {
    background: var(--blue);
    color: white;
}



.icon {
    background-size: 100%;
    background-position: cover;
    background-repeat: no-repeat;
}

.icon-ribbon-gray {
    background-image: url('../img/icons/ribbon-gray.svg?v=1315');
}

.icon-ribbon-sky {
    background-image: url('../img/icons/ribbon-sky.svg?v=1315');
}

.icon-calendar-gray {
    background-image: url('../img/icons/calendar-gray.svg?v=1315');
}

.icon-alarm-gray {
    background-image: url('../img/icons/alarm-gray.svg?v=1315');
}

.icon-time-gray {
    background-image: url('../img/icons/time-gray.svg?v=1315');
}

.icon-document-lock-gray {
    background-image: url('../img/icons/document-lock-gray.svg?v=1315');
}

.icon-checkmark-gray {
    background-image: url('../img/icons/checkmark-gray.svg?v=1315');
}

.icon-megaphone-gray {
    background-image: url('../img/icons/megaphone-gray.svg?v=1315');
}

.icon-play-circle-gray {
    background-image: url('../img/icons/play-circle-gray.svg?v=1315');
}

.icon-play-circle-white {
    background-image: url('../img/icons/play-circle-white.svg?v=1315');
}

.icon-document-text-gray {
    background-image: url('../img/icons/document-text-gray.svg?v=1315');
}

.icon-book-gray {
    background-image: url('../img/icons/book-gray.svg?v=1315');
}

.icon-location-gray {
    background-image: url('../img/icons/location-gray.svg?v=1315');
}

.icon-list-gray {
    background-image: url('../img/icons/list-gray.svg?v=1315');
}

.icon-grid-gray {
    background-image: url('../img/icons/grid-gray.svg?v=1315');
}



.site-header-login {
    padding-left: 2.4rem;
}




.page-banner {
    overflow: hidden;
    border-radius: .4rem;
    background-color: var(--ink);
    display: block;
    color: white;
    text-decoration: none;
}

.page-banner-bg {
    background-size: cover;
    background-position: center;
    padding-bottom: 25%;
    position: relative;
    overflow: hidden;
}

.page-banner-promo .page-banner-bg {
    padding-bottom: 56.25%;
}

.page-banner-caption {
    padding: 8rem 2.4rem 2.4rem 2.4rem;
    background: linear-gradient(to bottom, rgba(17, 24, 39, 0) 0%, rgba(17, 24, 39, 0.64) 25%, rgba(17, 24, 39, 1) 100%);
    color: white;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
}

.page-banner-title {
    font-size: 4rem;
    line-height: 4.8rem;
    letter-spacing: -0.04em;
    font-weight: 700;
    max-width: 80%;
}

.smalldot:before {
    content: " · ";
}

.clamp-2 {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.page-banner-footer {
    font-size: 1.8rem;
    line-height: 2.4rem;
    margin-top: 1.6rem;
}

.pg {
    position: relative;
    height: .4rem;
    width: 100%;
    background: #e4e4e7;
    overflow: hidden;
}

.pg-indicator {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    background: var(--green);
}


.pg-indicator.step {
    display: flex;
    background: white;
    width: 100%;
}

.pg-indicator.step>div {
    flex: 1;
    border-radius: .1rem;
    height: .4rem;
    margin: 0 .1rem;
    background: var(--sky);
}

.pg-indicator.step>div:first-of-type {
    border-radius: .4rem .1rem .1rem .4rem;
}

.pg-indicator.step>div:last-of-type {
    border-radius: .1rem .4rem .4rem .1rem;
}

.pg-indicator.step>div.done {
    background: var(--green);
}

.mycourse-section {
    padding: 1.2rem 0 0;
}

.mycourse-wrapper {
    padding: 1.6rem 0;

}




.mycourse-header {
    margin: 0 0 1.6rem;
}

.mycourse-section-title {
    margin: 0 0 1.2rem;
}


.postcard-step {
    width: 16rem;
}

.toggleLayout .icon-list-gray {
    display: none;
}

.toggleLayout.active .icon-list-gray {
    display: block;
}

.toggleLayout.active .icon-grid-gray {
    display: none;
}

.page-banner .toggleLayout {
    background: rgba(0, 0, 0, .4) !important;
}

.blankslate {
    text-align: center;
}

.blankslate-img {
    max-width: 24rem;
    margin: 0 auto 2.4rem;
}


.cs-bar {
    position: relative;
    bottom: 0;
    z-index: 999;

}

.cs-bar-ctx {
    justify-content: center;
    display: flex;
    align-items: center;
}

.cs-bar-label {
    flex: 1;
}

.cs-bar-txt {
    flex: 1;

    display: flex;
    align-items: center;
}

.cs-bar-label {
    padding-right: 2.4rem;
}

@media(min-width:768px) {
    .no-login .cs-bar {
        position: -webkit-sticky;
        position: sticky;
    }
}

@media (max-width: 1023px) {
    .page-banner-title {
        font-size: 3.2rem;
        line-height: 4rem;
        letter-spacing: -0.032em;
        font-weight: 700;
        max-width: 100%;
    }
}



@media (max-width: 767px) {
    .cs-bar {
        position: relative;
    }

    .cs-bar-txt {
        display: block;
        padding-left: 1.6rem;
    }

    .cs-bar-label {
        margin-bottom: 1.2rem;
    }

    .m-hide {
        display: none !important;
    }

    .pl-home {
        display: block;
    }

    .pl-home-mainbar {
        padding-right: 0;
        padding-bottom: 0;
        border: 0;
    }

    .pl-home-sidebar {
        padding-top: 0;
        padding-left: 0;
    }

    .task-content {
        display: block;
    }

    .pl-explore {
        display: block;
    }

    .pl-explore-sidebar {
        display: none;
    }

    .pl-explore-sidebar.active {
        display: block;
        border-bottom: solid .1rem var(--border-color);
    }

    .pl-explore-sidebar nav {
        display: flex;
        flex-wrap: wrap;
    }

    .pl-explore-sidebar nav a {
        margin-right: .8rem;
        background: #f3f6f9;
        border-radius: 10rem;
        padding: .8rem 1.6rem;
    }

    .pl-explore-mainbar {
        padding: 1.6rem 0 0;
    }

    .pl-course {
        display: block;
    }

    .pl-course-mainbar {
        padding-right: 0;
    }

    .pl-course-sidebar {
        margin-top: 0 !important;
        margin-bottom: 0;
        padding-left: 0;
        padding-top: 0;
        border: 0;

    }

    .course-header {
        max-width: none;
        margin: 0 -1.6rem;
        padding-right: 1.6rem;
        padding-left: 1.6rem;
    }

    .course-header .text-title-1 {
        font-size: 3.2rem;
        line-height: 4rem;
    }

    .course-header .text-title-3 {
        font-size: 1.8rem;
        line-height: 2.4rem;
    }

    .course-description {
        font-size: 1.6rem;
        line-height: 2.2rem;
    }


    .postcard-list .postcard-caption {
        display: block;
        padding-left: 0;
        padding-right: 1.6rem;
    }

    /* .postcard-list .postcard-img .thumbnail {
        padding-bottom:100%;
    } */

    .postcard-list .postcard-img {
        flex: 0 0 38.2%;
        order: 2;
    }

    .page-title {
        font-size: 2.4rem !important;
        line-height: 3.2rem;
    }


    .mycourse-grid {
        flex-wrap: nowrap;
        margin: 0 -16px;
    }

    .mycourse-grid:before,
    .mycourse-grid:after {
        content: "";
        padding: 6px;
    }

    .mycourse-grid>a,
    .mycourse-grid>li {
        flex: 0 0 20rem;
        margin: 0 .4rem 1.6rem;
    }


    .page-banner-caption {
        padding: 6.4rem 1.6rem 1.6rem 1.6rem;
    }

    .page-banner-bg {
        padding-bottom: 50%;
    }

    .page-banner-title {
        font-size: 2.4rem;
        line-height: 3.2rem;
        letter-spacing: -0.024em;
        font-weight: 700;
        max-width: 100%;
    }

    .page-banner-footer {
        font-size: 1.4rem;
        line-height: 1.8rem;
        font-weight: 600;
        margin-top: .8rem;
    }

    .page-banner-subtitle {
        display: none;
    }

    .page-category-banner {
        margin: -1.7rem -1.6rem 0;
        border-radius: 0 !important;
    }

    .page-header {
        padding: 1.2rem 0;
    }

    .postcard-list.minicard .postcard-img {
        flex: 0 0 8.8rem;
    }


    .course-list .postcard-img {
        flex: 0 0 8.8rem;
    }

    .course-list .postcard-img .thumbnail {
        padding-bottom: 100% !important;

    }

    .course-list .postcard {
        padding-top: 1.2rem;
        padding-bottom: 1.2rem;
    }


    .mycourse-section-title {
        margin: 0 0 .8rem;
    }

    .postcard-price {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        margin-top: .4rem;
        padding-left: 0;
    }

    .postcard-price del {
        order: 2;
    }

    .sidebar-sticky {
        position: static;
        top: auto;
    }

    .explore-title {
        font-size: 1.8rem;
        line-height: 2.4rem;
    }

    .cardlist.display-grid {
        display: block;
        margin: 1.6rem 0 0;
    }

    .cardlist.display-grid>li {
        margin: 0 0 1.6rem;

    }



}


@media(max-width:414px) {


    /* .site-header .container {
        padding:0 .8rem;
    } */

    .sf-render {
        position: absolute;
        bottom: 0;
        right: 0;
        font-family: monospace;
    }

    .mycourse-section {
        margin-bottom: .8rem;
    }

    .site-nav {
        flex: 1;
        margin: 0 -.4rem;
    }

    .site-nav>a {
        padding: 1.6rem 1.2rem;
    }

}


@media(max-width:320px) {
    html {
        font-size: 54.6875%;
    }

    .container {
        padding-right: .8rem;
        padding-left: .8rem;
    }

    .site-logo {
        display: none;
    }

    .site-nav {
        flex: 1;
        margin: 0 -.4rem;
    }

    .site-nav>a {
        flex: 1;
        text-align: center;
        justify-content: center;
        margin: 0 .4rem;
        padding: .4rem 0;
    }


    .mycourse-grid {
        display: block;
        margin: 0;
        padding: 0;
    }

    .mycourse-grid:before,
    .mycourse-grid:after {
        display: none;
    }

    .mycourse-grid>li {
        margin: 0;
    }

    .mycourse-grid>li .postcard {
        margin: 0 0 .8rem;

    }


    .mycourse-grid>li .postcard-img {
        display: none;
        ;
    }

    .pl-home-mainbar {
        margin-bottom: 1.2rem;
    }

    .secnav a {
        margin-right: 1.2rem !important;
    }

    .minicard .icon {
        width: 1.8rem;
        height: 1.8rem;
    }

    .page-header {
        padding: .8rem 0;
    }


    .page-banner-title {
        font-size: 1.8rem;
        line-height: 2.4rem;
        letter-spacing: -.018;
    }
}

/* 

.breadcrumbs-wrapper {
    background: var(--light)
}

.breadcrumbs-wrapper .breadcrumbs {
    display: flex;
    align-items: center;
}

.breadcrumbs-wrapper .breadcrumbs a {
    display: block;
    line-height: 24px;
    padding: 12px 0;
    font-weight:400;
    max-width:200px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

.breadcrumbs-wrapper .breadcrumbs a:after {
    display:none;
}

.breadcrumbs-wrapper .breadcrumbs .icon {
    margin: 0 4px;
}


.breadcrumbs-wrapper .breadcrumbs b:after {
    content: "⮞";
    color: var(--sky);
    font-weight: normal;
    display: block;
    padding: 0 8px;

} */


.article {
    padding: 40px 0;
}

.article .grid {
    grid-template-columns: 1fr 3fr
}

/* .article-main {
    max-width: 640px;
    margin: 0 auto;
    width:100%;
} */

.article-body {

    font-size: 18px;
    line-height: 1.5;
}


.article-meta {
    margin-bottom: 24px;
}


.article-meta .grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-gap: 24px;
}

/* .article-main h1 {
    font-size: 40px;
    line-height: 48px;
    font-weight: 700;
    margin: 0 0 24px;
}

.article-main h2 {
    font-size: 24px;
    line-height: 32px;
    font-weight: 700;
    margin: 0px 0 18px;
} */

.article-menu {
    position: sticky;
    top: 80px;
}

.article-sidebar h3 {
    margin: 0 0 16px;
    font-size: 20px;
    font-weight: 600;
    line-height: 28px;
}

.article-sidebar h3 a {
    color: inherit;
    position: relative;
    display: block;
}


.article-sidebar h3 a .icon {
    position: absolute;
    top: 50%;
    right: 100%;
    margin-top: -12px;
    opacity: 0;
}


.article-sidebar h3 a:hover .icon,
.article-sidebar h3 a:focus .icon {
    opacity: 1;
}

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


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

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

/* .article-main p,
.article-main ul,
.article-main ol,
.article-main blockquote {
    margin: 0 0 24px;
} */

.article-menu-toggle {
    display: none;
}


@media(max-width:640px) {

    /* .article {
        padding: 24px 0;
    }

    .article-main {
        margin-top: 24px;
    } */

    .article-menu {
        display: none;
        padding: 16px 16px 8px;
        background: var(--light);
        border-radius: 0 8px 8px 8px;
        position: relative;
        top: auto;
    }

    .article-menu h3 {
        padding-top: 0;
        margin-bottom: 8px;
    }

    .article-sidebar.menu-open .article-menu {
        display: block
    }

    .article-menu-toggle {
        display: flex;
        align-items: center;
        line-height: 24px;
        padding: 7px 12px 7px 16px;
        border-radius: 4px;
        border: solid 1px var(--border-color);
        text-decoration: none !important;
        color: var(--ink);

    }

    .article-menu-toggle:hover,
    .article-menu-toggle:focus {
        background: var(--light)
    }

    .article-sidebar.menu-open .article-menu-toggle {
        background: var(--light);
        border-radius: 4px 4px 0 0;
        border-color: transparent;
    }

    .article-sidebar.menu-open .article-menu-toggle .icon {
        transform: rotate(-180deg)
    }

    .article .grid {
        display: block;
    }

    .article-sidebar h3 a .icon {
        display: none;
    }
}