@charset "UTF-8";
/**
 * DO NOT CHANGE THIS FILE!
 * To override any of the settings in this section, add your styling code in the custom directory.
 * Loading first in the style.scss & classic-editor.scss
 */
/**
 * General - https://wordpress.org/documentation/article/css/
 * DO NOT CHANGE THIS FILE
 * to override any of the settings in this section, add your styling code in the custom directory.
 *
 * HOW TO MINIFY (!!!)
 * As we use native nested CSS we need to minify our CSS with https://lightningcss.dev/
 */
.page-content a,
.comments-area a {
    text-decoration: underline;
}

.alignright {
    float: right;
    margin-left: 1rem;
}

.alignleft {
    float: left;
    margin-right: 1rem;
}

.aligncenter {
    clear: both;
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.alignwide {
    margin-left: -80px;
    margin-right: -80px;
}

.alignfull {
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    max-width: 100vw;
    width: 100vw;
}

.alignfull img {
    width: 100vw;
}

.wp-caption {
    margin-block-end: 1.25rem;
    max-width: 100%;
}

.wp-caption.alignleft {
    margin: 5px 20px 20px 0;
}

.wp-caption.alignright {
    margin: 5px 0 20px 20px;
}

.wp-caption img {
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.wp-caption-text {
    margin: 0;
}

.gallery-caption {
    display: block;
    font-size: 0.8125rem;
    line-height: 1.5;
    margin: 0;
    padding: 0.75rem;
}

.sticky {
    position: relative;
    display: block;
}

.bypostauthor {
    font-size: inherit;
}

.hide {
    display: none !important;
}

.post-password-form p {
    width: 100%;
    display: flex;
    align-items: flex-end;
}

.post-password-form [type=submit] {
    margin-inline-start: 3px;
}

/**
 * Utility styles
 */
.screen-reader-text {
    clip: rect(1px, 1px, 1px, 1px);
    height: 1px;
    overflow: hidden;
    position: absolute !important;
    width: 1px;
    word-wrap: normal !important; /* Many screen reader and browser combinations announce broken words as they would appear visually. */
}

.screen-reader-text:focus {
    background-color: #eeeeee;
    clip: auto !important;
    clip-path: none;
    color: #333333;
    display: block;
    font-size: 1rem;
    height: auto;
    left: 5px;
    line-height: normal;
    padding: 15px 23px 14px;
    text-decoration: none;
    top: 5px;
    width: auto;
    z-index: 100000; /* Above WP toolbar. */
}

/**
 * Post item in archive pages
 */
.post .entry-title a {
    text-decoration: none;
}

.post .wp-post-image {
    width: 100%;
    max-height: 500px;
    object-fit: cover;
}

@media (max-width: 991px) {
    .post .wp-post-image {
        max-height: 400px;
    }
}

@media (max-width: 575px) {
    .post .wp-post-image {
        max-height: 300px;
    }
}

/**
 * Comments
 */
section#comments {
    max-width: 1140px;
    margin: 2.5em auto;
}

@media (max-width: 1400px) {
    section#comments {
        max-width: 100%;
    }
}

h3.title-comments {
    margin-bottom: 1em;
}

#comments .comment-list {
    margin: 0;
    padding: 0;
    list-style: none;
    font-size: 0.9em;
}

h3#reply-title small {
    float: right;
}

#comments .comment,
#comments .pingback {
    position: relative;
}

#comments .comment .comment-body,
#comments .pingback .comment-body {
    display: flex;
    flex-direction: row;
    padding: 8px;
    border-block-end: 1px solid #cccccc;
    background-color: white;
    margin-bottom: 3.5em;
    border-radius: 0 0 12px 12px;
}

#comments .comment .comment-body p:last-of-type,
#comments .pingback .comment-body p:last-of-type {
    margin-bottom: 0;
}

#comments .comment .comment-body::before {
    content: '';
    position: absolute;
    bottom: -22px;
    right: 2rem;
    background-color: white;
    padding: 20px;
    border-style: solid;
    border-width: 0 1px 1px 0;
    border-color: #cccccc;
    transform: rotate(45deg);
}

#comments .comment .comment-content {
    padding: 12px;
    flex: 1;
}

#comments .comment .comment-author {
    font-size: 12px;
    font-style: italic;
    margin-top: 8px;
}

#comments .comment .comment-header,
#comments .pingback .comment-header {
    border-top: 1px solid #ddd;
    border-radius: 12px 12px 0 0;
    padding: 8px;
    font-size: 12px;
    background-color: #FBFBFB;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

@media (max-width: 768px) {
    #comments .comment .comment-header,
    #comments .pingback .comment-header {
        flex-direction: column;
        gap: 1em;
    }
}

#comments .comment .comment-actions {
    color: #ddd;
    display: flex;
    align-items: center;
    gap: 4px;
}

#comments .comment .comment-actions a {
    text-transform: uppercase;
    color: #707070;
    text-decoration: none;
    font-size: 10px;
}

html[dir=rtl] #comments .comment .avatar, body.rtl #comments .comment .avatar,
html[dir=rtl] #comments .pingback .avatar,
body.rtl #comments .pingback .avatar {
    left: auto;
    right: 0;
}

#comments .comment-meta {
    display: flex;
    justify-content: space-between;
    gap: 1em;
    align-items: center;
}

#comments .reply,
#comments .comment-metadata {
    font-size: 11px;
    line-height: 1;
}

#comments .children {
    position: relative;
    list-style: none;
    margin: 0;
    padding-inline-start: 30px;
}

#comments .children li:last-child {
    padding-block-end: 0;
}

#comments ol.comment-list .children:before {
    display: inline-block;
    font-size: 1em;
    font-weight: normal;
    line-height: 100%;
    content: "↪";
    position: absolute;
    top: 45px;
    left: 0;
    width: auto;
}

div#respond .sys-button {
    width: 100%;
}

html[dir=rtl] #comments ol.comment-list .children:before, body.rtl #comments ol.comment-list .children:before {
    content: "↩";
    left: auto;
    right: 0;
}

@media (min-width: 768px) {
    #comments .comment-author,
    #comments .comment-metadata {
        line-height: 1;
    }
}

@media (max-width: 767px) {
    #comments .children {
        padding-inline-start: 20px;
    }

    #comments .comment .avatar {
        position: inherit;
        float: left;
    }

    html[dir=rtl] #comments .comment .avatar, body.rtl #comments .comment .avatar {
        float: right;
    }
}

/**
 * Responsive layouts
 */
.site-header .header-inner, .site-header:not(.dynamic-header), .site-footer .footer-inner, .site-footer:not(.dynamic-footer), body:not([class*=elementor-page-]) .site-main, .page-header .entry-title {
    margin-inline-start: auto;
    margin-inline-end: auto;
    width: 100%;
}

@media (min-width: 576px) {
    .site-header .header-inner, .site-header:not(.dynamic-header), .site-footer .footer-inner, .site-footer:not(.dynamic-footer), body:not([class*=elementor-page-]) .site-main, .page-header .entry-title {
        max-width: 500px;
    }

    .site-header.header-full-width .header-inner {
        max-width: 100%;
    }

    .site-footer.footer-full-width .footer-inner {
        max-width: 100%;
    }
}

@media (min-width: 768px) {
    .site-header .header-inner, .site-header:not(.dynamic-header), .site-footer .footer-inner, .site-footer:not(.dynamic-footer), body:not([class*=elementor-page-]) .site-main, .page-header .entry-title {
        max-width: 600px;
    }

    .site-header.header-full-width {
        max-width: 100%;
    }

    .site-footer.footer-full-width {
        max-width: 100%;
    }
}

@media (min-width: 992px) {
    .site-header .header-inner, .site-header:not(.dynamic-header), .site-footer .footer-inner, .site-footer:not(.dynamic-footer), body:not([class*=elementor-page-]) .site-main, .page-header .entry-title {
        max-width: 800px;
    }

    .site-header.header-full-width {
        max-width: 100%;
    }

    .site-footer.footer-full-width {
        max-width: 100%;
    }
}

@media (min-width: 1200px) {
    .site-header .header-inner, .site-header:not(.dynamic-header), .site-footer .footer-inner, .site-footer:not(.dynamic-footer), body:not([class*=elementor-page-]) .site-main, .page-header .entry-title {
        max-width: 1140px;
    }

    .site-header.header-full-width {
        max-width: 100%;
    }

    .site-footer.footer-full-width {
        max-width: 100%;
    }
}

.site-header + .elementor {
    min-height: calc(100vh - 320px);
}

/* Custom added CSS starts here */

/** || Gravatar icon, needs to be important because f***ing elementor overrides this style */
.gravatar, #bbpress-forums img.avatar {
    border-radius: 24px !important;
    padding: 0 !important;
    border: 1px solid #ededed !important;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05) !important;
    margin-right: 0;
}

/** || Gravatar icon */

/** || Course environment: Material tabs*/
.ld-tabs .ld-tabs-content .ld-tab-content {
    padding: 1em 0 0 0 !important;
}

.ld-tabs .ld-tabs-navigation .ld-tab {
    font-family: inherit;
    font-size: inherit;
    text-shadow: inherit;
    box-shadow: inherit;
    border-radius: inherit;
}

.ld-tabs button:active, .ld-tabs button:focus {
    outline: 0;
    border: none;
    -moz-outline-style: none;
}

/** || Course environment: Material tabs */

/** || Course environment: Buttons */
a.ld-button {
    border-radius: var(--default-border-radius) !important;

}

.learndash-wrapper .ld-focus .learndash_mark_complete_button {
    font-family: inherit !important;
    font-size: .75em !important;
    font-weight: 800 !important;
    text-shadow: none !important;
    color: white !important;
    background-color: var(--default-primary-color) !important;
    box-shadow: none !important;
    border-radius: var(--default-border-radius) !important;
}

.learndash-wrapper .ld-focus .learndash_mark_incomplete_button.learndash_mark_complete_button {
    background-color: transparent !important;
    border: 2px solid var(--default-primary-color) !important;
    color: var(--default-primary-color) !important;
}

.learndash-wrapper #sfwd-mark-complete:after, .learndash-wrapper .sfwd-mark-complete:has(.learndash_mark_incomplete_button):after {
    color: var(--default-primary-color) !important;
}

input.wpProQuiz_button {
    max-width: 100% !important;
    width: 100% !important;
}

input.wpProQuiz_button.wpProQuiz_QuestionButton {
    float: none !important;
    margin-top: 12px !important;
}

.learndash-wrapper .quiz_continue_link {
    width: 50%;
}
/** || Course environment: Buttons */

/** || Course environment: Breadcrumbs */
.ld-breadcrumbs .course-breadcrumbs {
    font-size: 0.8em;
}

.ld-breadcrumbs .course-breadcrumbs span a {
    font-weight: 600;
    color: var(--default-primary-color) !important;
    text-decoration: underline;
}

.ld-breadcrumbs .course-breadcrumbs span:not(:last-child):after {
    content: '»';
}

.ld-breadcrumbs .course-breadcrumbs span:last-child a {
    font-weight: bold;
}

.learndash-wrapper .ld-breadcrumbs .ld-status.ld-status-progress {
    margin: 0;
}

@media only screen and (max-width: 1024px) {
    .learndash-wrapper .ld-breadcrumbs .ld-status.ld-status-progress {
        margin-top: 1.5em;
    }
}

/** || Course environment: Breadcrumbs */
body .learndash-wrapper .ld-lesson-item.ld-is-current-lesson .ld-lesson-item-preview-heading,
body .learndash-wrapper .ld-lesson-item.ld-is-current-lesson .ld-lesson-title,
body .learndash-wrapper .ld-course-navigation .ld-lesson-item-preview a.ld-lesson-item-preview-heading,
body .learndash-wrapper .ld-course-navigation .ld-lesson-item-preview .ld-lesson-title {
    font-size: 14px !important;
    font-weight: 500 !important;
    color: white !important;
}

body.ld-in-focus-mode .learndash-wrapper .ld-focus .ld-focus-sidebar .ld-course-navigation-heading {
    padding: 1em 2.5em !important;
    background-color: color-mix(in srgb, var(--default-primary-color), #000 25%) !important;
}

.learndash-wrapper .ld-focus .ld-focus-main .ld-focus-content {
    padding-top: 6em !important;
}

@media only screen and (max-width: 786px) {
    .learndash-wrapper .ld-focus .ld-focus-main .ld-focus-content {
        padding-top: 0 !important;
    }
}

.learndash-wrapper .ld-focus .ld-focus-sidebar {
    padding-top: 80px !important;
    width: 300px !important;
}

.learndash-wrapper .ld-focus .ld-focus-sidebar .ld-course-navigation .ld-lesson-item {
    background-color: var(--default-primary-color) !important;
}

.learndash-wrapper .ld-focus .ld-focus-sidebar .ld-course-navigation .ld-lesson-item .ld-lesson-item-preview,
.learndash-wrapper .ld-focus .ld-focus-sidebar .ld-course-navigation .ld-lesson-item .ld-lesson-item-preview:hover {
    padding: .75em 1.5em !important;
    margin-bottom: 1.25em !important;
    border-radius: var(--default-border-radius) !important;
    color: white !important;
}

.learndash-wrapper .ld-focus .ld-focus-sidebar .ld-course-navigation .ld-lesson-item.ld-is-current-lesson .ld-lesson-item-preview {
    opacity: 1 !important;
    background-color: rgba(255, 255, 255, 0.1) !important;
    -webkit-transition: background-color 100ms linear;
    -ms-transition: background-color 100ms linear;
    transition: background-color 100ms linear;
}

.learndash-wrapper .ld-focus .ld-focus-sidebar .ld-course-navigation .ld-lesson-item-preview:hover,
.learndash-wrapper .ld-focus .ld-focus-sidebar .ld-course-navigation .ld-lesson-item-preview:has(.ld-expanded) {
    opacity: 1 !important;
    background-color: rgba(255, 255, 255, 0.1) !important;
    -webkit-transition: background-color 100ms linear;
    -ms-transition: background-color 100ms linear;
    transition: background-color 100ms linear;
}

.learndash-wrapper .ld-focus a.ld-button:hover {
    color: white;
}

/** || LearnDash Sidebar Scrollbar */
.learndash-wrapper .ld-focus .ld-focus-sidebar .ld-focus-sidebar-wrapper::-webkit-scrollbar {
    width: 10px;
}

.learndash-wrapper .ld-focus .ld-focus-sidebar .ld-focus-sidebar-wrapper::-webkit-scrollbar-track {
    background: #EDEDED;
}

.learndash-wrapper .ld-focus .ld-focus-sidebar .ld-focus-sidebar-wrapper::-webkit-scrollbar-thumb {
    background: color-mix(in srgb, var(--default-primary-color), #000 20%) !important;
}

.learndash-wrapper .ld-focus .ld-focus-sidebar .ld-focus-sidebar-wrapper::-webkit-scrollbar-thumb:hover {
    background: color-mix(in srgb, var(--default-primary-color), #000 25%) !important;
}

/** || LearnDash Sidebar Scrollbar */
.learndash-wrapper .ld-focus .ld-focus-header {
    height: 80px !important;
    z-index: 9999 !important;
}

@media only screen and (min-width: 1024px) {
    .admin-bar .learndash-wrapper .ld-focus-header {
        top: 32px !important;
    }
}

@media only screen and (max-width: 1024px) {
    body.ld-in-focus-mode.admin-bar .learndash-wrapper .ld-focus-sidebar {
        top: 48px !important;
    }
}

.learndash-wrapper .ld-focus .ld-focus-sidebar .ld-course-navigation-heading {
    width: 300px !important;
    font-size: 14px !important;
}

.learndash-wrapper .ld-focus .ld-focus-sidebar .ld-focus-sidebar-wrapper {
    display: flex;
    height: calc(100% - 10px) !important;
    flex-direction: column;
    background-color: var(--default-primary-color) !important;
    padding: 1em !important;
}

.learndash-wrapper .ld-focus .ld-focus-sidebar .ld-course-navigation .ld-lesson-item {
    border-bottom: none !important;
}

.learndash-wrapper .ld-focus .ld-focus-sidebar .ld-course-navigation .ld-topic-list.ld-table-list {
    background-color: inherit !important;
}

.learndash-wrapper .ld-focus .ld-focus-sidebar .ld-course-navigation .ld-topic-list.ld-table-list:before,
.learndash-wrapper .ld-course-navigation .ld-lesson-item-expanded:before {
    display: none !important;
}

.learndash-wrapper .ld-focus .ld-focus-sidebar .ld-course-navigation .ld-topic-list.ld-table-list {
    padding: 0 !important;
}

.learndash-wrapper .ld-course-navigation .ld-lesson-item-preview .ld-expand-button {
    padding-top: 1.5em !important;
}

.learndash-wrapper .ld-focus .ld-focus-sidebar .ld-course-navigation .ld-lesson-item-preview .ld-expand-button.ld-button-alternate .ld-text {
    color: white !important;
}

.learndash-wrapper .ld-course-navigation .ld-table-list.ld-topic-list .ld-table-list-item .ld-table-list-item-preview .ld-topic-title {
    color: white !important;
}

.learndash-wrapper .ld-focus .ld-focus-sidebar .ld-course-navigation-heading h3 {
    padding: 0 !important;
}

#ld-focus-mode-course-heading {
    font-weight: 500 !important;
    font-size: 14px !important;
    align-items: center !important;
    display: flex !important;
    gap: 1.5em !important;
    text-decoration: none !important;
}

body .learndash-wrapper .ld-course-navigation .ld-lesson-item-section-heading .ld-lesson-section-heading {
    color: white;
}
/** || Course environment */
/** || Course notes */
#notes-form textarea, .note-item {
    display: flex;
    flex-direction: column;

    padding: 20px;
    border: 1px solid #ddd;
    position: relative;
    line-height: 20px;
    background: #fefefe linear-gradient(to bottom, #fff 19px, #c7ced9 20px);
    background-size: 100% 20px;
    border-left: 8px solid var(--default-primary-color);
}

#notes-form button {
    margin-block-start: .9rem;
}

.course-notes {
    display: flex;
    flex-direction: column;
    gap: 1em;
}

#notes {
    scroll-margin-top: 100px;
}

.note-step {
    margin-bottom: 20px;
}

/** || Course notes */
/** || Custom course front page */
body.sfwd-courses-template-default main#content {
    min-width: 100%;
}

.ld-enrolled-users {
    margin: auto;
    padding: 0.25em 1em;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 0.75em;
    font-size: .875em;
    font-weight: 600;
}

.ld-enrolled-users .count {
    margin-left: 0.5em;
}

.ld-enrolled-users img {
    box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.1);
    border-radius: 14px;
    border: 1px solid white;
}

.ld-enrolled-users img:not(:first-child) {
    margin-left: -5px;
}

.course-hero-container {
    display: flex;
    padding: 3.5em;
    background-color: var(--course-primary-color);
}

.course-hero-container .course-hero-wrapper {
    width: var(--course-container-width);
    margin: auto;
}

.course-hero-container .course-info {
    display: flex;
    flex-direction: column;
    margin-right: 28em;
}

.course-hero-container .course-info .continue {
    margin-top: auto;
    width: 50%;
}

.course-hero-container .course-info h1,
.course-hero-container .course-info p {
    color: white;
}

.course-hero-container .course-info a {
    font-family: var(--course-text-font-family), Sans-serif;
}

.progress-bar {
    position: relative;
    background-color: #bababa;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
    height: 25px;
    max-width: 100%;
}

.progress-bar.small {
    height: 12px;
}

.progress-bar .progress {
    position: relative;
    background: color-mix(in srgb, var(--default-primary-color), #fff 15%);
    height: 25px;
    width: 0;
    transition: width 0.5s ease-in;
}

.progress-bar.small .progress {
    height: 12px;
}

.progress-bar .progress-text {
    z-index: 10;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: #fff;
    font-size: .8em;
    font-weight: 500;
}

.course-container {
    padding: 0 3.5em;
}

.course-container .course-wrapper {
    max-width: var(--course-container-width);
    display: flex;
    margin: auto;
}

.course-container .course-wrapper .course-content {
    flex: 1;
    padding: 3em 3em 3em 0;
}

@media only screen and (max-width: 1024px) {
    .course-container .course-wrapper .course-content {
        padding: 1em;
    }
}

.course-container .course-wrapper .course-sidebar {
    position: sticky;
    margin-top: -145px;
    margin-bottom: 1.5em;
    align-self: flex-start;
    width: 32%;
    background-color: white;
    top: 150px;
    z-index: 1;
    box-shadow: var(--default-box-shadow);
    border-radius: var(--default-border-radius);
    display: flex;
    flex-direction: column;
}

.course-container .course-wrapper .course-sidebar h2 {
    margin: 0.25em;
    text-align: center;
}

.course-container .course-wrapper .course-sidebar .sidebar-image {
    position: relative;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    height: 225px;
    border-radius: var(--default-border-radius) var(--default-border-radius) 0 0;
}

.course-container .course-wrapper .course-sidebar table.course-meta {
    margin-bottom: 0;
}

.course-container .course-wrapper .course-sidebar table.course-meta tr:not(:last-child) {
    border-bottom: 1px solid #EDEDED;
}

.course-container .course-wrapper .course-sidebar table.course-meta td:first-child {
    font-weight: 500;
}

.course-container .course-wrapper .course-sidebar table.course-meta td:last-child {
    text-align: right;
}

.course-container .course-wrapper .course-sidebar table.course-meta td,
.course-container .course-wrapper .course-sidebar table.course-meta th {
    padding: 10px 14px;
    border: none;
    background: white;
}

.course-container .course-wrapper .course-sidebar .sidebar-content {
    padding: 8px;
}

.course-container .course-wrapper .course-sidebar .sidebar-content .ld-course-actions {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: .5em;
}

@media only screen and (max-width: 1024px) {
    .course-hero-container {
        padding: 1.5em;
    }

    .course-hero-container .course-info {
        margin-right: 0;
        padding: 4%;
    }

    .course-hero-container .course-info h1 {
        font-size: 2em;
    }

    .course-hero-container .course-info .course-meta .meta-wrapper {
        text-align: left;
    }

    .modal-container .modal-wrapper .modal-content {
        flex-direction: column;
    }

    .course-container {
        padding: 1.5em;
    }

    .course-container .course-wrapper {
        flex-direction: column-reverse;
        width: 100%;
    }

    .course-container .course-wrapper .course-content {
        width: 100%;
    }

    .course-container .course-wrapper .course-sidebar {
        position: unset;
        /*margin-left: 1.5em;*/
        /*margin-right: 1.5em;*/
        width: 100%;
        margin-top: -3.5em;
    }

    .course-lessons {
        grid-template-columns: repeat(auto-fill, minmax(100%, 1fr));
        padding: 5%;
    }

    .course-hero-container .course-hero-wrapper {
        width: 100%;
    }
}

.lesson-wrapper {
    display: flex;
    flex-direction: column;
    background-color: white;
    box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.1);
    border-radius: var(--default-border-radius);
}

.lesson-wrapper .lesson-image {
    position: relative;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    height: 150px;
    border-radius: var(--default-border-radius) var(--default-border-radius) 0 0;
}

.lesson-wrapper .lesson-status {
    position: absolute;
    font-size: 13px;
    border-radius: var(--default-border-radius);
    padding: 4px 8px;
    top: 5px;
    left: 5px;
    z-index: 1;
    background-color: var(--course-accent-color);
    color: white;
}

.lesson-wrapper .lesson-status i {
    margin-right: 5px;
}

.lesson-wrapper .lesson-status.unavailable {
    background-color: grey;
}

.lesson-wrapper .lesson-status:empty {
    display: none;
}

.lesson-wrapper .lesson-title {
    font-family: var(--course-primary-font-family), Sans-serif;
    font-size: var(--course-primary-font-size);
    font-weight: var(--course-primary-font-weight);
    width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.lesson-wrapper .lesson-description,
.lesson-wrapper .lesson-cta,
.lesson-wrapper .lesson-meta,
.lesson-wrapper .topic-list {
    font-family: var(--course-text-font-family), Sans-serif;
    font-weight: var(--course-text-font-weight);
    font-size: var(--course-text-font-size);
}

.lesson-wrapper .lesson-meta {
    font-weight: 500;
}

.lesson-wrapper .topic-list:empty {
    display: none;
}

.lesson-wrapper .lesson-title,
.lesson-wrapper .lesson-description,
.lesson-wrapper .lesson-footer,
.lesson-wrapper .lesson-meta {
    padding: 8px;
    text-align: center;
}

.lesson-wrapper .lesson-footer {
    margin-top: auto;
}

.lesson-wrapper .topic-list {
    list-style-type: none;
    padding: 0;
}

.course-lesson-container {
    background-color: #F4F4F4;
    padding: 3.5em;
}

@media only screen and (max-width: 600px) {
    .course-lesson-container {
        padding: 1.5em;
    }
}

.course-lesson-container .slider-wrapper {
    margin: auto;
    position: relative;
}

.course-lesson-container .slider-wrapper h2 {
    margin-bottom: 1em;
}

@media only screen and (min-width: 1400px) {
    .course-lesson-container .slider-wrapper {
        width: var(--course-container-width);
    }
}

.course-lesson-container .slider-wrapper li {
    list-style: none;
}

.course-lesson-container .slider-wrapper .arrow {
    z-index: 100;
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 25px;
    font-size: 25px;
}

.course-lesson-container .slider-wrapper .arrow #arrow-left {
    left: 0;
    bottom: 0;
}

.course-lesson-container .slider-wrapper .arrow #arrow-right {
    right: 0;
    bottom: 0;
}

.course-lesson-container .slider-wrapper .arrow a {
    color: black;
}

.course-lesson-container .slider-wrapper a:focus {
    outline: none;
}

.course-lesson-container .slider-wrapper .items {
    flex: 1 1 100%;
    padding: 0;
    display: grid;
    grid-auto-flow: column;
    grid-gap: 20px;
    grid-auto-columns: calc((100% - 2 * 20px) / 3);
    overflow: hidden;
    cursor: grab;
}

@media only screen and (max-width: 1024px) {
    .course-lesson-container .slider-wrapper .items {
        grid-auto-columns: 100%;
    }
}

.course-quizzes-container,
.course-materials-container {
    background-color: color-mix(in srgb, var(--default-primary-color), #000 25%);
    padding: 3.5em;
}


@media only screen and (max-width: 600px) {
    .course-quizzes-container,
    .course-materials-container {
        padding: 1.5em;
    }
}

.course-materials-container, .course-materials-container a {
    color: white;
}

.course-quizzes-container h2,
.course-materials-container h2 {
    color: white !important;
    margin-bottom: 1em;
}

.course-quizzes-container .course-quizzes-wrapper,
.course-materials-container .course-materials-wrapper {
    z-index: 1;
    margin: auto;
}

@media only screen and (min-width: 1400px) {
    .course-quizzes-container .course-quizzes-wrapper,
    .course-materials-container .course-materials-wrapper {
        width: var(--course-container-width);
    }
}

.course-quizzes-container .course-quizzes-wrapper .course-quizzes {
    margin-top: 2em;
    display: flex;
    flex-direction: column;
    gap: 1em;
}

.course-quizzes-container .course-quizzes-wrapper .course-quizzes .course-quiz-item {
    background-color: white;
    border-radius: 12px;
    padding: 1em;
    display: flex;
    gap: 0.5em;
    flex-direction: column;
    border: 3px solid var(--course-primary-color);
}

.course-quizzes-container .course-quizzes-wrapper .course-quizzes .course-quiz-item .course-quiz-info {
    display: flex;
    gap: 1em;
    align-items: center;
}

.course-quizzes-container .course-quizzes-wrapper .course-quizzes .course-quiz-item .course-quiz-info .quiz-status {
    margin-left: auto;
    font-size: 13px;
    background-color: grey;
    border-radius: var(--default-border-radius);
    padding: 4px 8px;
    top: 5px;
    left: 5px;
    z-index: 1;
    color: white;
}

.course-quizzes-container .course-quizzes-wrapper .course-quizzes .course-quiz-item .course-quiz-info .quiz-status.passed {
    background-color: var(--course-accent-color);
}

.course-quizzes-container .course-quizzes-wrapper .course-quizzes .course-quiz-item .course-quiz-info .quiz-status.failed {
    background-color: red;
}

.course-quizzes-container .course-quizzes-wrapper .course-quizzes .course-quiz-item .course-quiz-info .quiz-status.unavailable {
    background-color: grey;
}

.course-quizzes-container .course-quizzes-wrapper .course-quizzes .course-quiz-item .course-quiz-info .quiz-status i {
    margin-right: 5px;
}

/** || Custom course front page */

/*a.tax-total {*/
/*    text-align: center;*/
/*    display: inline-block;*/
/*    font-size: 11px;*/
/*    border-radius: 12px;*/
/*    background-color: #d7d7d7;*/
/*    font-weight: bold;*/
/*    text-decoration: none;*/
/*    padding: 0 0.4rem;*/
/*}*/

/** || Checkout hero header */
body.woocommerce-checkout #content.site-main {
    max-width: 100%;
}

.checkout-hero-header {
    text-align: center;
    background-color: var(--default-primary-color);
    padding: 2.5rem 0 5rem 0;
}

.checkout-hero-header img.custom-logo {
    margin-bottom: 3em;
}

@media (max-width: 786px) {
    .checkout-hero-header img.custom-logo {
        max-width: 80%;
    }
}

/** || Checkout hero header */

/*body.woocommerce-checkout #content.site-main {*/
/*    max-width: 100%;*/
/*}*/

form.checkout.woocommerce-checkout ul.woocommerce-error {
    margin-bottom: 0;
    margin-top: 1em;
}

ul.woocommerce-error li {
    margin-bottom: .25em;
}

/** New CSS for checkout */
.woocommerce form .form-row-first, .woocommerce form .form-row-last {
    width: 49.5%;
}

.woocommerce form .form-row {
    margin-bottom: 1em;
}

form.checkout.woocommerce-checkout p#ship-to-different-address {
    border-top: 1px solid #ededed;
    padding-top: .5em;
}

p#order_comments_field {
    border-top: 1px solid #ededed;
}

p#order_comments_field {
    padding-top: 1em;
}

.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select {
    font-size: 14px;
}

.checkout-wrapper {
    padding: 2em;
}

@media (max-width: 768px) {
    .checkout-wrapper {
        padding: .5em;
    }
}

.checkout-wrapper i.fa-sharp.fa-solid.fa-circle-check {
    margin-right: .25em;
    color: green;
}

.woocommerce-billing-fields__field-wrapper, .checkout-summary, div#payment {
    padding-top: 1em;
}

.woocommerce-additional-fields {
    padding-bottom: 1em;
}

/* Stupid WooCommerce tables and their borders removed */
.woocommerce table.shop_table.woocommerce-checkout-review-order-table, .woocommerce table.shop_table.woocommerce-checkout-review-order-table td, .woocommerce table.shop_table tfoot th {
    border: none;
}

table.shop_table.woocommerce-checkout-review-order-table {
    border-spacing: 0;
}

table.shop_table.woocommerce-checkout-review-order-table tfoot th {
    font-weight: normal;
}

table.shop_table tr.order-total {
    background-color: #bfeddd;
    border-radius: 4px !important;
}

.checkout-wrapper table.shop_table tr.order-total {
    font-size: 19px;
}

table.shop_table tr.order-total th,
table.shop_table tr.order-total td {
    padding: .5em 1em;
    font-weight: bold !important;
}

table.shop_table tr.order-total th {
    border-radius: 4px 0 0 4px;
}

table.shop_table tr.order-total td {
    border-radius: 0 4px 4px 0;
}

table.shop_table tr.order-total small {
    display: block;
    font-size: 11px;
    line-height: 2.5;
}

table.shop_table.woocommerce-checkout-review-order-table tr td,
table.shop_table.woocommerce-checkout-review-order-table tr th {
    padding: .8em 1em;
}

table.shop_table.woocommerce-checkout-review-order-table tr.cart_item:last-of-type td {
    border-bottom: 1px solid #ededed;
}

table.shop_table.woocommerce-checkout-review-order-table tr.cart_item .product-total {
    font-weight: bold;
}


table.shop_table.woocommerce-checkout-review-order-table tr.shipping td,
table.shop_table.woocommerce-checkout-review-order-table tr.shipping th {
    border-top: 1px solid #ededed;
}

table.shop_table.woocommerce-checkout-review-order-table tr td:last-child {
    text-align: right;
}

/* || Checkout shipping method selection */
.checkout-shipping:has(h3), .checkout-upsell {
    padding: 1em 0;
}

.upsell-product {
    background-color: #EFEFEF;
    padding: .75em;
    border-radius: var(--default-border-radius);
}

.upsell-product {
    display: flex;
    gap: 1em;
    align-items: center;
}

.upsell-product img {
    border-radius: var(--default-border-radius);
}

.upsell-product .product-info {
    flex: 1;
}

.upsell-product .product-info span.woocommerce-Price-amount.amount {
    color: #858585;
    font-size: .8em;
}

.upsell-product .product-cta .sys-button {
    font-weight: 600;
}

.upsell-product .product-cta .fa-spinner {
    animation: spin 1s linear infinite;
}

@keyframes spin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

.woocommerce .checkout-shipping ul#shipping_method li label {
    display: flex;
}

.woocommerce ul#shipping_method li {
    margin: 0;
}

.checkout-summary, div#payment, .checkout-shipping:has(h3), .checkout-upsell {
    border-top: 1px solid #ededed;
}

.shipping-list {
    list-style: none;
    padding: 0;
    display: flex;
    gap: 10px;
}

@media (max-width: 768px) {
    .shipping-list {
        flex-direction: column;
    }
}

.shipping-list li {
    position: relative;
}


.shipping-list input[type="radio"] {
    display: none;
}

.shipping-list label {
    border-radius: 5px;
    cursor: pointer;
}

.shipping-list input[type="radio"]:checked + label, .shipping-list label:hover {
    background-color: var(--default-primary-color) !important;
    color: white;
}

/* || Checkout shipping method selection */
.checkout-forms {

    @media (max-width: 992px) {
        width: 100% !important;
    }

    & ul.woocommerce-error {
        margin-bottom: 0;
        margin-top: 1em;
    }

    & .select2-container--default .select2-selection--single {
        border: 1px solid #666666;
    }

    & form .form-row-first, & form .form-row-last, & form .form-row-first, & form .form-row-last {
        width: 49.5%;
    }

    & input[type=date], & input[type=email], & input[type=number], & input[type=password], & input[type=search], & input[type=tel], & input[type=text], & input[type=url], & select, & textarea {
        border: 1px solid lightgrey;
        padding: .75em;
    }

    & a.additional-field {
        font-weight: bold;
        text-decoration: none;
        text-align: center;
    }

    & td.product-quantity {
        width: 5%;
    }

    & .woocommerce table.shop_table {
        border: none;
        border-radius: 0;

        & tr td:last-of-type {
            text-align: right;
        }

        & td, & th {
            border: none;
        }

        & tfoot td {
            font-weight: normal;
        }
    }
}

.checkout-container {
    border-radius: var(--default-border-radius);
    border: 1px solid #ededed;
    max-width: 800px;
    background-color: white;
    margin: -5rem auto 3rem auto;
    box-shadow: var(--default-box-shadow);

    @media (max-width: 768px) {
        width: 100%;
    }

    & .woocommerce-checkout {

        & h3 {
            font-size: 20px;
        }
    }
}

.checkout-container .checkout-notices,
.checkout-container .woocommerce-NoticeGroup {
    padding: 1em 2em 0 2em;
}

@media (max-width: 768px) {
    .checkout-container .checkout-notices,
    .checkout-container .woocommerce-NoticeGroup {
        padding: 1em .5em 0 .5em;
    }
}

.checkout-container .checkout-notices .woocommerce-info,
.checkout-container .checkout-notices .woocommerce-error,
.checkout-container .checkout-notices .woocommerce-message {
    margin-bottom: .5em;
}

.checkout-container .checkout-notices .woocommerce-info,
.checkout-container .checkout-notices .woocommerce-error,
.checkout-container .checkout-notices .woocommerce-message {
    margin-bottom: .5em;
}

.woocommerce-info .sys-button,
.woocommerce-error .sys-button,
.woocommerce-message .sys-button  {
    float: right;
}

.checkout-container form.checkout_coupon.woocommerce-form-coupon,
.checkout-container form.woocommerce-form.woocommerce-form-login.login {
    border: 0;
    padding: 0;
    margin-bottom: 0;
}

.first-payment-date {
    font-style: italic;
}

.woocommerce-checkout .woocommerce-message {
    margin: 0;
}

.woocommerce-checkout {

    & h3 {
        font-size: 20px;
    }

    #payment {
        background: transparent;

        & #place_order, .woocommerce-page #payment #place_order {
            width: 100%;
            background-color: var(--default-primary-color);
            border-radius: var(--default-border-radius);
            padding: 1rem;
            font-size: 24px;
            float: none;
        }

        & .secure-payment-notice {
            text-align: center;
            margin-top: .5rem;
            font-size: 12px;
        }

        & div.form-row {
            padding: 1em 0 0 0;
        }

        & .woocommerce-privacy-policy-text, & span.woocommerce-terms-and-conditions-checkbox-text {
            font-size: 12px;
        }

        & .payment-selection {
            border-radius: 12px;
            background: #e9e6ed;
            border-bottom: 1px solid #cfc8d8;

            & .wc_payment_method svg {
                margin: -2px 0 0 .5em;
            }
        }
    }
}

.woocommerce a.woocommerce-remove-coupon {
    color: red;
    display: block;
    font-weight: normal;
    font-size: 11px;
}

.woocommerce table.shop_table td {
    padding: .5em 1em;
}

/** WooCommerce Cart */
.cart-container {
    display: flex;
    gap: 1.25em;
    margin: 1em 0;

    @media (max-width: 768px) {
        flex-direction: column;
        margin: 1em;
    }

    & form.woocommerce-cart-form {
        width: 60%;


        @media (max-width: 768px) {
            width: 100%;
        }

        & .shop_table.shop_table_responsive.cart.woocommerce-cart-form__contents {
            background-color: white;
            border-radius: var(--default-border-radius);
            border: 1px solid #EDEDED;
            box-shadow: var(--default-box-shadow);
            padding: 1em;

            @media (max-width: 768px) {
                width: 100%;
                padding: .5em;
            }
        }
    }

    & .cart-totals-container {
        flex: 1;
        padding: .5em;
        border: 1px solid #E6E6E8;
        box-shadow: var(--default-box-shadow);

        & table.shop_table th {
            font-weight: normal;
            border-top: none !important;
        }

        & table.shop_table td {
            border-top: none !important;
            font-weight: bold !important;
        }

        & table.shop_table td a {
            font-weight: normal;
        }

        & table.shop_table tfoot tr:first-of-type td,
        & table.shop_table tfoot tr:first-of-type th {
            padding-top: 1.5em;
            border-top: 1px solid #D9D9D9 !important;
        }

        & .coupon {
            padding-bottom: 1.5em;
            border-bottom: 1px solid rgba(0, 0, 0, .1);
            display: flex;
            gap: .5em;
            flex-direction: column;
        }

        /*& .order-total {*/
        /*    display: flex;*/
        /*    justify-content: space-between;*/
        /*    margin: .8em 0;*/
        /*    padding: .7em 1em;*/
        /*    border-radius: 4px;*/
        /*    font-size: 19px;*/
        /*    font-weight: bold;*/
        /*    background-color: #BFEDDD;*/
        /*}*/

        & .wc-proceed-to-checkout {
            padding: 0;

            & a.checkout-button.button.alt.wc-forward {
                width: 100%;
                box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.1);
                background-color: var(--default-primary-color);
                border-radius: var(--default-border-radius);
                margin-top: 1.5rem;
                margin: 0;
                color: white;
            }
        }

        & .cart_totals {

            & table.shop_table {
                border: none;
                border-radius: 0;
                margin: 0 0 12px 0;

                & tr td:last-of-type {
                    text-align: right;
                }

                & tfoot td {
                    font-weight: normal;
                }
            }
        }

        & .coupon-text {
            text-align: right;
            padding: 1em .5em;
        }

        & .woocommerce-shipping-calculator-wrapper td {
            padding: 1em 0;

            & a.shipping-calculator-button {
                font-weight: normal;
            }
        }
    }

    & .wc-payment-gateways {
        margin-top: 1.5em;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 0.5em;

        & img {
            width: 32px;
        }
    }
}

.woocommerce-cart-form__cart-item {
    display: flex;
    gap: 1em;
    padding: 1em;
    margin-bottom: 0.75em;
    border-bottom: 1px solid #E6E6E8;

    @media (max-width: 768px) {
        flex-direction: column;
    }

    & .product-thumbnail {
        width: 15%;

        & img {
            border: 1px solid #EDEDED;
            border-radius: var(--default-border-radius);
        }

        @media (max-width: 768px) {
            width: 33%;
            margin: auto;
        }
    }

    & .product-info {
        flex: 1;
        display: flex;
        flex-direction: column;

        & .product-name {
            margin-top: .35em;
            font-weight: bold;

            @media (max-width: 768px) {
                text-align: center;
            }
        }

        & .product-actions {
            display: flex;
            margin-left: 60%;
            margin-top: 1em;
            align-items: center;
            gap: 1em;

            @media (max-width: 768px) {
                justify-content: space-between;
                margin: 0.5rem auto 0 auto;
            }
        }
    }

    & .product-subtotal {
        flex: 1;
        font-weight: bold;
        text-align: right;

        & span.subscription-details {
            display: block;
        }
    }

    & .product-remove {

        & a.remove {
            display: flex;
            justify-content: center;
            align-items: center;

            & i {
                font-size: 0.7em;
            }
        }
    }
}

.product-subtotal {
    font-weight: bold;
}

.shipping li {
    font-weight: normal;

    & input {
        vertical-align: middle !important;
        margin: 0 .4375em 0 0 !important;
    }
}

span.subscription-details {
    font-weight: normal;
    font-size: 0.75rem;
    font-style: italic;
}

.woocommerce .quantity .qty {
    padding: 0.2rem;
}

.wc-payment-note {
    font-size: 0.8em;
    text-align: center;
    line-height: 1.5;
}

.woocommerce form .form-row label, .woocommerce-page form .form-row label {
    display: inline-block !important;
}

.flexbox {
    display: flex;
    justify-content: space-between;
}

/* || WooCommerce Single Product Page */
.product-type-simple .single-product form.cart {
    display: flex;
    align-items: center;
}
.single-product  .product-price, .single-product .woocommerce-variation-price {
    background-color: #bfeddd;
    border-radius: 4px;
    padding: .4em .8em;
    font-weight: bold;
    display: inline-block;
    font-size: 20px;
}
.single-product .woocommerce-variation-price {
    margin-bottom: 1em;
}
.single-product div.product .woocommerce-variation-price span.price {
    color: black;
}
.woocommerce-product-details__short-description {
    margin-bottom: 1em;
}
.woocommerce div.product {
    max-width: 1140px;
    margin: auto;
}
/* || WooCommerce Single Product Page */

/* || Pagination */
.pagination-wrapper {
    align-items: center;
    margin-bottom: 1em;
}

ul.pagination li {
    display: inline-block;
    padding: 8px 16px;
    border: 1px solid #ddd; /* Gray */
}

ul.pagination a {
    text-decoration: none;
    color: black;
}

ul.pagination li.active {
    background-color: var(--default-primary-color);
    color: white;
}

ul.pagination li:hover:not(.active) {
    background-color: #ddd;
    transition: background-color .3s;
}

/* || Pagination */
/* || Loading icon */
@keyframes spin {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}

.loading-icon {
    display: none;
    margin: 2.5em auto;
    border: 6px solid #ddd;
    border-top: 6px solid var(--default-primary-color);
    border-radius: 50%;
    width: 125px;
    height: 125px;
    animation: spin 1s linear infinite;
}

/* || Loading icon */
/* || No results found */
.shop-container .no-result {
    display: flex;
    margin: 4em auto;
    flex-direction: column;
    align-items: center;
}

.shop-container .no-result i {
    color: var(--default-primary-color);
    font-size: 5em;
    margin-bottom: .5em;
    text-shadow: var(--default-box-shadow);
}

/* || No results found */
/* || Shop page */
.shop-container {
    display: flex;
    align-items: flex-start;
    gap: 1.5em;
    margin: -2em auto 2em auto;
}

@media (max-width: 669px) {
    .shop-container {
        flex-direction: column;
        margin-left: 1em;
        margin-right: 1em;
    }
}

.shop-container .sidebar {
    background-color: white;
    border: 1px solid #D9D9D9;
    border-radius: var(--default-border-radius);
    box-shadow: var(--default-box-shadow);
    width: 25%;
    display: flex;
    flex-direction: column;
}

@media (max-width: 600px) {
    .shop-container .sidebar {
        width: 100%;
    }
}

.shop-container .sidebar .shop-price-filter,
.shop-container .sidebar div.shop-categories,
.shop-container .sidebar .shop-attribute-filter {
    border-top: 1px solid #d9d9d9;
}

.shop-container .sidebar div.shop-categories ul li {
    margin-bottom: .35em;
}

.shop-container .sidebar div.shop-order-by select {
    background-color: #fafafa;
    border: 1px solid #ccc;
    border-radius: 4px;
    padding: 10px 6px;
    width: 100%;
    cursor: pointer;
    outline: none;
    transition: border-color 0.2s, box-shadow 0.2s;
}

.shop-container .sidebar div.shop-order-by select:hover {
    border-color: var(--default-primary-color);
}

.shop-container .sidebar div.shop-categories,
.shop-container .sidebar div.shop-order-by,
.shop-container .sidebar div.shop-price-filter,
.shop-container .sidebar div.shop-attribute-filter {
    padding: 0.75em;
}

.shop-container .sidebar div.shop-categories span.ui-slider-handle.ui-corner-all.ui-state-default,
.shop-container .sidebar div.shop-price-filter span.ui-slider-handle.ui-corner-all.ui-state-default,
.shop-container .sidebar div.shop-attribute-filter span.ui-slider-handle.ui-corner-all.ui-state-default {
    background-color: var(--default-primary-color);
}

.shop-container .sidebar div.shop-categories div#price-slider,
.shop-container .sidebar div.shop-price-filter div#price-slider,
.shop-container .sidebar div.shop-attribute-filter div#price-slider {
    width: 98%;
    margin: auto;
}

.shop-container .sidebar div.shop-categories #price-range-values,
.shop-container .sidebar div.shop-price-filter #price-range-values,
.shop-container .sidebar div.shop-attribute-filter #price-range-values {
    text-align: center;
}

.shop-container .sidebar div.shop-categories .submit-filters,
.shop-container .sidebar div.shop-price-filter .submit-filters,
.shop-container .sidebar div.shop-attribute-filter .submit-filters {
    text-align: right;
    margin-top: 1em;
    border: none;
    border-radius: var(--default-border-radius);
    background-color: var(--default-primary-color);
    color: white;
    font-size: 12px;
    padding: .5em 1em;
    box-shadow: none;
    float: right;
}

.shop-container .sidebar div.shop-categories .submit-filters i,
.shop-container .sidebar div.shop-price-filter .submit-filters i,
.shop-container .sidebar div.shop-attribute-filter .submit-filters i {
    margin-right: 2px;
}

.shop-container .sidebar ul {
    list-style-type: none;
    padding: 0;
}

.shop-container .sidebar ul li {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.shop-container .sidebar ul li a.active {
    font-weight: bold;
}

.shop-header nav.woocommerce-breadcrumb a {
    color: white;
    font-weight: normal;
}

.shop-header nav.woocommerce-breadcrumb {
    color: white;
    font-weight: bold;
}

.product-template-default .shop-header {
    margin-bottom: 1em;
}

.shop-header {
    padding: 1em 0 2em 0;
    background-color: var(--default-primary-color);
    color: white;
    display: flex;
}

.shop-header .wrapper {
    margin: auto;
    width: 800px;
}

@media only screen and (min-width: 1200px) {
    .shop-header .wrapper {
        width: 1140px;
    }
}

@media only screen and (max-width: 1024px) {
    .shop-header{
        padding: 1rem;
    }
    .products {
        grid-template-columns: repeat(2, minmax(30%, 1fr));
    }
    .shop-container {
        display: inline-grid;
    }
    .shop-container .sidebar {
        width: 100%;
    }

    main#main {
        max-width: 669px;
    }
}

@media only screen and (max-width: 1024px) {
    .shop-header .wrapper {
        max-width: 669px;
    }
}

form.woocommerce-ordering select.orderby {
    font-size: 12px;
}

.shop-search {
    display: flex;
    gap: 1em;
    margin-bottom: 2.5em;
}

.shop-search button.submit-search {
    text-align: right;
    border: none;
    border-radius: var(--default-border-radius);
    background-color: white;
    color: var(--default-primary-color);
    padding: .5em 1em;
    box-shadow: none;
    float: right;
}

.shop-search button.submit-search i {
    margin-right: 2px;
}

.shop-attribute-filter label {
    margin: .75em 0;
}

@media (max-width: 1024px) {
    .shop-pagination {
        margin-left: 1em;
        margin-right: 1em;
    }
}

/* || Shop page */
/* || Multiselect */
.ms-drop ul > li {
    margin-bottom: .5em;
}

.ms-drop input[type="radio"], .ms-drop input[type="checkbox"] {
    margin-top: .1rem !important;
}

.ms-choice > span {
    color: black;
}

.multiple-select button.ms-choice {
    box-shadow: none;
    background-color: white;
    text-shadow: none;
    border-radius: 0;
}

.multiple-select button.ms-choice:hover {
    color: black;
}

/* || Multiselect */
/* || Shop filter (???) */
.shop-filter {
    display: flex;
    align-items: center;
    margin-bottom: 1em;
}

@media (max-width: 600px) {
    .shop-filter {
        flex-direction: column;
        gap: 0.5em;
    }

    .shop-filter .woocommerce-ordering {
        width: 100%;
    }
}

.shop-filter .woocommerce-result-count {
    flex: 1;
}

.shop-filter .woocommerce-result-count,
.shop-filter .woocommerce-ordering {
    margin: 0;
    float: none;
}

/* || Shop filter (???) */
/* || Products grid overview */
.products {
    flex: 1;
    display: grid;
    grid-gap: 1em 2%;
    grid-template-columns: repeat(auto-fill, minmax(30%, 1fr));

    @media only screen and (max-width: 600px) {
        grid-template-columns: repeat(auto-fill, minmax(100%, 1fr));
    }

    & .product-wrapper {
        position: relative;
        box-sizing: border-box;
        padding: 1em;
        display: flex;
        background-color: white;
        border: 1px solid #EDEDED;
        flex-direction: column;
        box-shadow: var(--default-box-shadow);
        border-radius: var(--default-border-radius);

        & .product-image {
            position: relative;
            height: 150px;
            background-position: center;
            background-repeat: no-repeat;
            background-size: contain;
        }

        & .product-description {
            overflow: hidden;
            display: -webkit-box;
            -webkit-line-clamp: 4;
            font-size: .8em;
            line-height: 1.5;
            text-align: center;
            -webkit-box-orient: vertical;
            padding: 0 0.5em;
            margin-bottom: 1em;
            word-break: break-word;
        }

        & .product-title {
            padding: 8px 0;
            font-size: 1em;
            line-height: 1.5;
            text-align: center;
        }

        & .product-price {
            position: absolute;
            background-color: var(--default-primary-color);
            border-radius: var(--default-border-radius);
            text-align: center;
            font-weight: bold;
            color: white;
            margin: auto;
            padding: 0 0.5em;
            bottom: 5px;
            right: 5px;
            z-index: 1;
        }

        & a.button {
            background-color: var(--default-primary-color);
            color: white;
            border-radius: var(--default-border-radius);
            margin-top: auto;
            text-align: center;
        }

        & a.added_to_cart.wc-forward {
            text-align: center;
        }
    }
}

/* || Single product */
/* || Upsells */
.cross-sells {
    margin-top: 2em;
}

.woocommerce .products ul::after, .woocommerce .products ul::before, .woocommerce ul.products::after, .woocommerce ul.products::before {
    content: none !important;
}

/* || Upsells */
/* || Related products */
.related-products {
    clear: both;
    margin-bottom: 1em;
}

/* || Related products */
/* || WooCommerce info bars */
.woocommerce-info {
    border-top-color: var(--default-primary-color);
}

.woocommerce-error::before,
.woocommerce-info::before,
.woocommerce-message::before {
    top: unset;
}

.woocommerce-info::before {
    color: var(--default-primary-color);
}

.woocommerce-error::after,
.woocommerce-info::after,
.woocommerce-message::after {
    content: unset;
}

/* || WooCommerce info bars */
/* || Default elements */
.sys-button,
input[type="button"].sys-button,
body button.sys-button,
p.order-invoice a.button {
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--default-border-radius);
    text-decoration: none;
    font-weight: 500;
    text-shadow: none;
    font-size: 14px;
    padding: .5em 2em;
    border: 1px solid var(--default-primary-color) !important;
    text-decoration: none !important;
    box-shadow: none;
}

@media (max-width: 786px) {
    .sys-button {
        padding: .5em 1em;
        /*font-size: 12px;*/
    }
}

.sys-button.fullwidth {
    width: 100%;
}

.sys-button.icononly {
    padding: .5em;
    height: 30px;
    width: 30px;
}

.sys-button:not(.icononly) i {
    margin-right: 8px;
}

.sys-button.primary, p.order-invoice a.button {
    background-color: var(--default-primary-color);
    color: white;
}

.sys-button.primary:hover, p.order-invoice a.button:hover {
    color: white;
    background-color: color-mix(in srgb, var(--default-primary-color), #000 25%);
    -webkit-transition: background-color 200ms ease;
    -ms-transition: background-color 200ms ease;
    transition: background-color 200ms ease;
}

.sys-button.secondary {
    background-color: white;
    border: 1px solid var(--default-primary-color) !important;
    color: var(--default-primary-color);
}

.sys-button.secondary:hover {
    background-color: var(--default-primary-color);
    -webkit-transition: background-color 200ms ease;
    -ms-transition: background-color 200ms ease;
    transition: background-color 200ms ease;
    color: white;
}

.sys-button.transparent {
    color: white;
    background-color: transparent;
    border: 1px solid white;
}

.sys-button.transparent:hover {
    background-color: white;
    -webkit-transition: background-color 100ms linear;
    -ms-transition: background-color 100ms linear;
    transition: background-color 100ms linear;
    color: black;
}

.sys-button.disabled {
    background-color: grey;
    border-color: grey !important;
}
.sys-button.disabled:hover {
    background-color: grey;
    border-color: grey !important;
}

/* || Default elements */
/* || My account page main */
.myaccount-content-container {
    background-color: #F9F9F9;
}

.lock-scroll {
    overflow: hidden;
}

.woocommerce-account #content {
    max-width: 100%;
}

.woocommerce-account .myaccount-container {
    width: 100%;
}

.myaccount-header {
    z-index: 50000;
    position: fixed;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    background-color: white;
    box-shadow: var(--default-box-shadow);
    height: 80px;
}

@media (max-width: 1024px) {
    .myaccount-header {
        z-index: 99999;
    }

    .myaccount-header .myaccount-logo img.custom-logo {
        max-width: 120px;
    }

    .myaccount-header .myaccount-logo {
        display: flex;
        align-items: center;
    }

    .myaccount-header .myaccount-logo .custom-logo-wrapper {
        flex: 1;
        text-align: center;
    }
}

.myaccount-header .myaccount-logo {
    flex: 1;
    margin-left: 1.5em;
}

.myaccount-header .myaccount-logo img.custom-logo {
    max-height: 60px;
    width: auto;
}

.myaccount-header .myaccount-logo i {
    font-size: 1.5em;
}

.myaccount-header .myaccount-logo .mobile-menu {
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--default-primary-color);
    color: white;
    padding: 6px 8px;
    border-radius: 150px;
    text-decoration: none;
    width: 36px;
}

.myaccount-header .myaccount-topnav {
    display: flex;
    align-items: center;
    gap: 1.25em;
    margin-right: 1.5em;
}

.myaccount-header .myaccount-topnav a.topnav-action {
    text-decoration: none;
    padding: .0em .5em;
    font-size: 1em;
    display: flex;
    width: 36px;
    height: 36px;
    align-items: center;
    justify-content: center;
    background-color: #ededed;
    color: black;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05) !important;
    border-radius: 24px;
}

.myaccount-header .myaccount-topnav a.topnav-action:hover {
    background-color: var(--default-primary-color);
    color: white;
    -webkit-transition: background-color 200ms ease;
    -ms-transition: background-color 200ms ease;
    transition: background-color 200ms ease;
}

.myaccount-header .myaccount-topnav a.topnav-action:has(.gravatar) {
    padding: 0;
}

.myaccount-header .myaccount-topnav .gravatar {
    width: 36px;
}

.myaccount-header .myaccount-topnav .gravatar:hover {
    border: 1px solid var(--default-primary-color);
}

.myaccount-content-container {
    display: flex;
    flex: 1;
    min-height: calc(100vh - 52px);
    align-items: center;
    flex-direction: column;
    margin-left: 300px;
}

.admin-bar .myaccount-content-container {
    min-height: calc(100vh - 32px);
}

.woocommerce-account .myaccount-content-wrapper {
    margin-top: calc(80px);
    width: 60%;
}

@media (min-width: 1025px) {
    .woocommerce-account .myaccount-content-wrapper {
        margin-top: calc(80px + 2em);
    }
}

@media (max-width: 1400px) {
    .woocommerce-account .myaccount-content-wrapper {
        width: 90%;
    }
}

.myaccount-sidebar {
    background-color: var(--default-primary-color);
    position: fixed;
    top: 80px;
    display: flex;
    flex-direction: column;
    border-right: 2px solid #ededed;
    box-shadow: var(--default-box-shadow);
    height: calc(100% - 80px);
    padding: 1em;
    width: 300px;
    color: white;
    z-index: 99;
}

@media only screen and (min-width: 1025px) {
    .admin-bar .myaccount-sidebar {
        top: 112px;
        height: calc(100vh - 112px);
    }

    .myaccount-header .myaccount-logo #toggle-sidebar {
        display: none;
    }
}

.myaccount-sidebar-settings {
    margin-top: auto;
}

@media only screen and (max-width: 1024px) {
    .myaccount-content-container {
        margin-left: 0;
    }

    .myaccount-sidebar {
        left: -300px;
    }
}

.woocommerce-account .page-description {
    font-size: 14px;
}

/* || My account page main */
/* || My Account Navigation */
.woocommerce-account nav.myaccount-navigation {
    padding-top: 2em;
}

.woocommerce-account nav.myaccount-navigation.settings,
.learndash-wrapper .ld-focus-sidebar-wrapper nav.myaccount-navigation.settings {
    padding-top: .5em;
}

.woocommerce-account nav.myaccount-navigation.settings ul li a,
.learndash-wrapper .ld-focus-sidebar-wrapper nav.myaccount-navigation.settings ul li a {
    margin-bottom: 0;
}

.woocommerce-account nav.myaccount-navigation ul,
.learndash-wrapper .ld-focus-sidebar-wrapper nav.myaccount-navigation ul {
    list-style-type: none;
    padding: 0;
}

.woocommerce-account nav.myaccount-navigation ul li a,
.learndash-wrapper .ld-focus-sidebar-wrapper nav.myaccount-navigation ul li a {
    font-weight: 500;
    color: white;
    opacity: 0.6;
    padding: .75em 1.5em;
    margin-bottom: 1.25em;
    font-size: 14px;
    align-items: center;
    border-radius: var(--default-border-radius);
    display: flex;
    gap: 1.5em;
    text-decoration: none;
}

.woocommerce-account .woocommerce-MyAccount-navigation-link.is-active a,
.woocommerce-account nav.myaccount-navigation ul li a:hover,
.learndash-wrapper .ld-focus-sidebar-wrapper nav.myaccount-navigation ul li a:hover {
    opacity: 1;
    background-color: rgba(255, 255, 255, 0.1);
    -webkit-transition: background-color 100ms linear;
    -ms-transition: background-color 100ms linear;
    transition: background-color 100ms linear;
}

.woocommerce-account .woocommerce-MyAccount-navigation-link a i,
.learndash-wrapper .woocommerce-MyAccount-navigation-link a i {
    width: 1em;
    font-size: 1.5em;
}

/* || My Account Navigation */
/* || My Account page submenu */
.woocommerce-account .account-submenu {
    display: flex;
    gap: 1em;
    margin: 2em 0;
    flex-wrap: wrap;
}

@media only screen and (max-width: 1024px) {
    .woocommerce-account .account-submenu {
        flex-direction: column;
    }
}

/* || My Account page submenu */
/* || Edit account/addresses pages */
.woocommerce-Address {
    background-color: #F6F5F8;
    padding: .4em 1em 1em 1em;
    border-radius: var(--default-border-radius);
}

header.woocommerce-Address-title.title {
    display: flex;
    align-items: center;
}

header.woocommerce-Address-title.title a {
    flex: 1;
    text-align: right;
}

.woocommerce-page:not(.single-product):not(.woocommerce-checkout) form .sys-button {
    margin-top: 1em;
}

.woocommerce-edit-account .woocommerce form .form-row,
.woocommerce-edit-address .woocommerce form .form-row {
    margin: 0 0 1em;
}

.woocommerce-password-strength {
    margin-top: .5em;
}

/* || Edit account/addresses pages */
/* || Login page */
.woocommerce-login {
    flex: 1;
    position: relative;
    justify-content: center;
    align-items: center;
    min-height: 100vh;
    background-color: var(--default-primary-color);
}

body:has(.partner) .woocommerce-login {
    min-height: calc(100vh - 52px);
}

.woocommerce-login .sys-button {
    width: 100%;
}

.woocommerce-login .login-logo {
    text-align: center;
}

.woocommerce .woocommerce-login form.login,
.woocommerce .woocommerce-login form.register,
.woocommerce .woocommerce-login form.woocommerce-ResetPassword {
    position: absolute;
    top: 50%;
    left: 50%;
    padding: 1.5em 3em;
    -ms-transform: translateY(-50%) translateX(-50%);
    transform: translateY(-50%) translateX(-50%);
    background-color: white;
    width: 560px;
    margin: auto;
}

@media only screen and (max-width: 560px) {

    .woocommerce-login {
        padding: 1em;
    }

    .woocommerce .woocommerce-login form.login,
    .woocommerce .woocommerce-login form.register,
    .woocommerce .woocommerce-login form.woocommerce-ResetPassword {
        width: 100%;
        position: revert;
        -ms-transform: none;
        transform: none;
        padding: .5em 1.5em;
    }
}

.woocommerce-login .woocommerce-privacy-policy-text,
.woocommerce-login form.lost_reset_password p.lost-password-message {
    font-size: 12px;
    font-style: italic;
}

form.woocommerce-form.woocommerce-form-register.register {
    display: none;
}

form.woocommerce-form.woocommerce-form-login.login label:not(.woocommerce-form-login__rememberme),
p.woocommerce-form-row.woocommerce-form-row--wide.form-row.form-row-wide label,
p.woocommerce-form-row.woocommerce-form-row--first.form-row.form-row-first,
p.woocommerce-form-row.woocommerce-form-row--last.form-row.form-row-last {
    font-weight: 500;
}

label.woocommerce-form__label.woocommerce-form__label-for-checkbox.woocommerce-form-login__rememberme {
    padding: 3px;
    margin-bottom: 1em;
}

p.woocommerce-login-actions {
    text-align: center;
    margin-top: 1.5em;
}

p.form-row.login-button {
    padding: 0;
}

/* || Login page */
/* || Order downloads */
.woocommerce .woocommerce-downloads {
    background-color: white;
    border-radius: var(--default-border-radius);
    padding: 0 2em 1em 2em;
    margin-bottom: 2em;
}

/* || Orders page */
.woocommerce .myaccount-orders-container,
.woocommerce .myaccount-subscriptions-container,
.myaccount-quizzes-container {
    width: 100%;
    padding: 0 2em 1em 2em;
    background-color: white;
    border-radius: var(--default-border-radius);
    overflow-x: auto;
    font-size: 14px;
    margin-bottom: 2em;
}

@media only screen and (max-width: 1024px) {
    .woocommerce .myaccount-orders-container,
    .woocommerce .myaccount-subscriptions-container,
    .myaccount-quizzes-container {
        padding: 0 .5em .25em .5em;
    }
}

.woocommerce .myaccount-table {
    width: 100%;
    position: relative;
    border-spacing: 0 .75em;
}

.woocommerce .myaccount-table thead {
    position: relative;
    top: 1em;
    font-size: 14px;
}

.woocommerce .myaccount-table th, .myaccount-table td {
    border-spacing: 0 1em;
    padding: 12px 15px;
    text-align: left;
}

.woocommerce .myaccount-table tbody tr {
    border-radius: var(--default-border-radius);
    background-color: color-mix(in srgb, var(--default-primary-color), #fff 98%);
}

.woocommerce .myaccount-table tbody tr:hover {
    background-color: color-mix(in srgb, var(--default-primary-color), #fff 96%);
}

.woocommerce .myaccount-table th {
    font-weight: bold;
}

.woocommerce .order-status {
    text-align: center;
    width: 125px;
    padding: .25em 1em;
    font-size: 12px;
    border-radius: var(--default-border-radius);
    background-color: #e0e0e0;
}

.woocommerce .order-status.processing {
    background-color: #ffe1ad;
    color: #f69535
}

.woocommerce .order-status.completed,
.woocommerce .order-status.active {
    background-color: #bfeddd;
    color: #308e6d;
}

.woocommerce .order-status.cancelled {
    background-color: #ffc4c4;
    color: #ff3131;
}

.woocommerce .myaccount-table .order-actions {
    text-align: right;
}

@media (max-width: 600px) {

    .woocommerce .myaccount-table thead {
        display: none;
    }

    .woocommerce .myaccount-table,
    .woocommerce .myaccount-table tbody,
    .woocommerce .myaccount-table tr,
    .woocommerce .myaccount-table td {
        display: block;
        width: 100%;
    }

    .woocommerce .myaccount-table tr {
        border: 1px solid #D9D9D9;
        border-radius: var(--default-border-radius);
        margin: 1.75em 0;
    }

    .woocommerce .myaccount-table td {
        text-align: right;
        padding-left: 50%;
        position: relative;
    }

    .woocommerce .myaccount-table td::before {
        content: attr(data-label);
        position: absolute;
        left: 15px;
        text-align: left;
        font-weight: bold;
    }

    .woocommerce .myaccount-table .order-status {
        width: 100%;
    }
}

.myaccount-orders-container .woocommerce-pagination.woocommerce-pagination--without-numbers.woocommerce-Pagination {
    padding-top: 1em;
    display: flex;
    justify-content: flex-end;
}

.myaccount-orders-container .woocommerce-pagination.woocommerce-pagination--without-numbers.woocommerce-Pagination:has(.sys-button.secondary) {
    justify-content: space-between;
}

/* || Orders page */
/* || Order thank you page */
.woocommerce-order-thankyou {
    background-color: #FBFBFB;
}

.woocommerce-order-thankyou-wrapper {
    padding: 2.5em 0;
    width: 40%;
    margin: auto;
}

/* || Order thank you page */
/* || Customer address */
.woocommerce-customer-addresses {
    display: flex;
    gap: 2em;
    margin-bottom: 2em;
}

@media only screen and (max-width: 768px) {
    .woocommerce-customer-addresses {
        flex-direction: column;
    }
}

.woocommerce-customer-addresses .address {
    flex: 1;
    padding: 1em 2em;
    background-color: white;
    border-radius: var(--default-border-radius);
}

.woocommerce-customer-addresses .address-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1em;
}

.woocommerce-customer-addresses .address-header i {
    font-size: .75em;
}

.woocommerce-customer-addresses h6 {
    margin: 0;
}

/* || Customer address */
/* || Order details page */
.woocommerce-order-details .woocommerce-order-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1em;
}

.woocommerce-order-details .woocommerce-order-header h3 {
    margin: 0;
}

.woocommerce-order-details .woocommerce-order-header .back-to-orders {
    flex: 1;
    text-align: right;
}

.woocommerce-order-details .order-date {
    margin-top: .75em;
    margin-bottom: 2.5em;
    font-size: 14px;
}


.woocommerce-order-details .woocommerce-order-wrapper,
.woocommerce .related-orders {
    background-color: white;
    padding: 1em 2em;
    border-radius: var(--default-border-radius);
}

.woocommerce .related-orders {
    margin-bottom: 2em;
}

.woocommerce .related-orders .myaccount-table {
    margin-top: -1em;
}

.woocommerce-order-wrapper table {
    padding: .5em;
    width: 100%;
    border-spacing: 0 .7em;
}

.woocommerce-order-wrapper table td:first-of-type {
    width: 65%;
}

.woocommerce-order-wrapper table td img {
    border: 2px solid #D9D9D9;
    border-radius: var(--default-border-radius);
    height: 50px;
    width: 50px;
}

.woocommerce-order-wrapper table td .single-product-info {
    display: flex;
    align-items: center;
    margin-right: 1em;
    gap: 1em;
}

@media only screen and (max-width: 768px) {
    .woocommerce-order-header {
        flex-direction: column;
    }

    .woocommerce-order-details .order-date {
        text-align: center;
    }

    .woocommerce-order-wrapper table td .single-product-info {
        flex-direction: column;
    }

    .woocommerce-order-wrapper table td .single-product-info {
        text-align: center;
    }
}

.woocommerce-order-wrapper table td {
    width: 50%;
    margin-bottom: 1em;
}

.woocommerce-order-wrapper hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #D9D9D9;
    margin: 0;
    padding: 0;
}

.woocommerce-order-wrapper small.includes_tax {
    font-weight: normal;
    font-style: italic;
    font-size: 12px;
}

.woocommerce-order-wrapper table td:last-of-type {
    font-weight: bold;
}

.woocommerce-order-wrapper table.order-total {
    margin: 1em 0;
    padding: 0 .5em;
    font-size: 19px;
    font-weight: bold;
    background-color: #BFEDDD;
}

.woocommerce-order-wrapper .sys-button, p.order-invoice a.button {
    margin-top: 1em;
    width: 100%;
    padding: 1em;
}

/* || Order details page */
/* || Order pay / form pay page */
@media only screen and (min-width: 992px) {
    form#order_review {
        width: 40%;
        margin: 4em auto;
    }
}

@media only screen and (max-width: 992px) {
    form#order_review {
        margin: 2em;
    }
}

/* || Order pay / form pay page */
/* || My courses page */
.my-courses-list {
    flex-direction: column;
    display: flex;
    gap: 2em;
    margin-bottom: 2em;
}

.my-courses-list .course-item {
    display: flex;
    flex-direction: row;
    box-shadow: var(--default-box-shadow);
    border-radius: var(--default-border-radius);
    min-height: 6em;
    background-color: white;
}

.my-courses-list .course-item .course-image {
    width: 14em;
    position: relative;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    border-radius: var(--default-border-radius) 0 0 var(--default-border-radius);
}

.my-courses-list .course-item .course-info {
    display: flex;
    flex-direction: column;
    flex: 1;
    margin-top: .3em;
}

.my-courses-list .course-item .course-info .course-details {
    display: flex;
    justify-content: space-between;
    margin: .5em 1em .5em 1em;
    align-items: center;
    gap: 1.5em;
}

.my-courses-list .course-item .course-info .course-details .course-access {
    display: inline-block;
    font-size: 12px;
    color: grey;
    font-weight: 500;
    margin-bottom: 1em;
}

.my-courses-list .course-item .course-info .course-details .course-action {
    display: flex;
    justify-content: center;
    flex-direction: column;
    gap: .5em;
    width: 200px;
}

.my-courses-list .course-item .course-info .course-text {
    font-size: .8em;
    width: 60%;
}

.my-courses-list .course-item .course-info .course-text h6 {
    margin: 0 0 .4em;
}

.my-courses-list .course-item .course-info .course-text p {
    margin-bottom: 0;
}

.my-courses-list .course-item .progress-bar {
    margin-top: auto;
}

@media only screen and (max-width: 600px) {

    .my-courses-list .course-item {
        flex-direction: column;
    }

    .my-courses-list .course-item .course-image {
        height: 10em;
        width: 100%;
    }

    .my-courses-list .course-item .course-info {
        margin: 0;
    }

    .my-courses-list .course-item .course-info .course-text {
        width: 100%;
    }

    .my-courses-list .course-item .course-info .course-details {
        flex-direction: column;
        margin-bottom: 1em;
    }

    .my-courses-list .course-item .course-info .course-details .course-action {
        width: 100%;
    }
}

/** Livesearch which is currently removed */
.my-courses-heading .livesearch-wrapper {
    position: relative;
    width: 50%;
}

.my-courses-heading .livesearch-wrapper input#livesearch {
    width: 100%;
    padding-left: 2.5rem;
}

.my-courses-heading .livesearch-wrapper #livesearch-results {
    position: absolute;
    width: 100%;
    z-index: 9999;
    box-shadow: var(--default-box-shadow);
}

.my-courses-heading .livesearch-wrapper .search-item {
    display: block;
    width: 100%;
    background-color: white;
    border: 1px solid grey;
    border-top: none;
    padding: 5px;
    font-weight: 600;
    text-decoration: none;
}

.my-courses-heading .livesearch-wrapper .search-item:hover {
    background-color: #FBFBFB;
}

.my-courses-heading .livesearch-wrapper .search-item-content {
    font-size: 1em;
    display: block;
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
    width: 100%;
    height: 2em;
    color: black;
    font-size: .8em;
    font-style: italic;
    margin-top: .4em;
}

.my-courses-heading .livesearch-wrapper .search-item-label {
    font-size: .8em;
    background-color: var(--default-accent-color);
    border-radius: var(--default-border-radius);
    padding: 4px 8px;
    color: white;
}

.my-courses-heading .livesearch-wrapper .search-item:first-of-type {
    border-top: 1px solid black;
}

.my-courses-heading .livesearch-wrapper .search-item:last-of-type {
    border-bottom: 1px solid black !important;
}

.my-courses-heading .livesearch-wrapper .livesearch-icon {
    position: absolute;
    top: .6em;
    left: .6em;
}

/** Livesearch which is currently removed */

/* || My courses page */
/* || My quizzes page */
@media (min-width: 600px) {
    .myaccount-quizzes-container .myaccount-table .quiz-title {
        width: 150px;
        text-overflow: ellipsis;
        white-space: nowrap;
        overflow: hidden;
    }

    .myaccount-quizzes-container .myaccount-table .quiz-date {
        width: 150px;
        font-size: 12px;
    }

    .myaccount-quizzes-container .myaccount-table .quiz-score {
        font-size: 12px;
    }
}

.myaccount-quizzes-container .myaccount-table .quiz-actions {
    justify-content: flex-end;
    display: flex;
    gap: 1em;
}

.myaccount-quizzes-container #quiz-results table {
    width: 100%;
}

.myaccount-quizzes-container #quiz-results hr {
    border-top: 1px solid #EEEEEE;
}

.myaccount-quizzes-container #quiz-results .red {
    color: #F3401F;
    background-color: white;
}

.myaccount-quizzes-container #quiz-results .succes {
    color: green;
}

.myaccount-quizzes-container #quiz-results span.dashicons {
    line-height: 1.5rem;
}

.myaccount-quizzes-container #quiz-results .float-right {
    float: right;
}

.myaccount-quizzes-container #quiz-results td {
    padding: 1em;
}

.myaccount-quizzes-container #quiz-results td.sort-answer {
    width: 50%;
}

.myaccount-quizzes-container #quiz-results td.correct {
    border: 3px solid green;
}

.myaccount-quizzes-container #quiz-results td.incorrect {
    border: 3px solid red;
}
/* || My quizzes page */
/* || Community */
.bbp-form select {
    height: inherit !important;
}

#bbpress-forums ul.bbp-forums,
#bbpress-forums ul.bbp-lead-topic,
#bbpress-forums ul.bbp-replies,
#bbpress-forums ul.bbp-search-results,
#bbpress-forums ul.bbp-topics {
    border: none;
}

span.bbp-author-name {
    font-style: italic;
}

/* || Community */
/* || Community custom topic list */
#bbpress-forums .bbp-topic-archive {
    flex-direction: column;
    display: flex;
    gap: 3em;
    width: 100%;
}

#bbpress-forums .bbp-topic-archive .topic-wrapper {
    display: flex;
    flex-direction: column;
    gap: 1.25em;
    background-color: white;
    border-radius: 12px;
    border-block-end: 1px solid #cccccc;
    padding: 12px 8px;
}

#bbpress-forums .bbp-topic-archive .topic-wrapper .topic-header {
    display: flex;
    align-items: center;
    gap: .75em;
}

#bbpress-forums .bbp-topic-archive .topic-wrapper .topic-header .dot,
.sys-dot {
    height: 5px;
    width: 5px;
    background-color: #7B7B7B;
    border-radius: 50%;
    display: inline-block;
}

#bbpress-forums .bbp-topic-archive .topic-wrapper .topic-parent {
    display: flex;
    align-items: center;
    gap: .25em;
}

#bbpress-forums .bbp-topic-archive .topic-wrapper .topic-author-info,
#bbpress-forums .bbp-user-meta .topic-author-info {
    display: flex;
    align-items: center;
    gap: .5em;
}

#bbpress-forums .bbp-topic-archive .topic-wrapper .topic-last-reply {
    flex: 1;
    text-align: right;
}

#bbpress-forums .bbp-topic-archive .topic-wrapper .topic-title a {
    margin-top: .25em;
    font-size: 1.5em;
    font-weight: 600;
    color: #242D3B;
}

#bbpress-forums .bbp-topic-archive .topic-wrapper .topic-content p {
    margin: 0;
}

#bbpress-forums .bbp-topic-archive .topic-wrapper .topic-content .topic-media,
#bbpress-forums .bbp-topic-archive .topic-content iframe {
    background-color: #4C4D4D;
    width: 100%;
    text-align: center;
    border-radius: var(--default-border-radius);
}

div#bbp-uploader-img-container {
    background-color: #ededed;
    border-radius: 24px;
    width: 100%;
}

#bbp-uploader-img-container:has(.bbp-img-wrap),
#bbp-uploader-img-container:has(.bbp-files-queue:not(:empty)) {
    padding: 8px 16px;
}

#bbpress-forums .bbp-topic-archive .topic-content iframe {
    display: block;
    padding: 1em;
}

@media only screen and (max-width: 786px) {
    #bbpress-forums .bbp-topic-archive .topic-content iframe {
        height: 200px;
    }
}

#bbpress-forums .bbp-topic-archive .topic-wrapper .topic-actions {
    margin-left: auto;
    display: flex;
    gap: 2em;
    width: 100%;
    padding: 1em 0;
    border-top: 1px solid #ededed;
    border-bottom: 1px solid #ededed;
}

#bbpress-forums .bbp-topic-archive .topic-wrapper .topic-actions .topic-action {
    border-bottom: 1px solid white;
    font-size: 1.5em;
    flex: 1;
    border-radius: var(--default-border-radius);
    padding: .33em .75em;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .5em;
}

#bbpress-forums .bbp-topic-archive .topic-wrapper .topic-actions .topic-action.comment {
    color: #242D3B;
}

#bbpress-forums .bbp-topic-archive .topic-wrapper .topic-actions .topic-action:hover {
    background-color: #fcfcfc;
    border-bottom: 1px solid #efefef;
}

#bbpress-forums .bbp-small-reply {
    border-radius: 12px;
    background-color: #fcfcfc;
    border-bottom: 1px solid #efefef;
    padding: 8px 12px;
}

#bbpress-forums .bbp-small-reply .bbp-small-reply-content {
    margin-top: 1em;
}

/* || Community custom topic list */

/* || Community new topic form */
#bbpress-forums .bbp-topic-form {
    background-color: white;
    border-radius: 12px;
    border-block-end: 1px solid #cccccc;
    z-index: 9999;
    padding: 12px 8px;
    margin-bottom: 3em;
}

#bbpress-forums select#bbp_forum_id {
    margin-top: 8px;
    width: 100%;
    float: right;
    margin: 0;
}

#bbpress-forums .bbp-topic-submit-wrapper {
    display: flex;
    align-items: center;
    gap: 1em;
    float: right;
    margin-top: 4px;
}

#bbpress-forums .bbp-topic-submit-wrapper .bbp-submit-wrapper {
    margin-top: 0;
    float: none;
    clear: initial;
}

#bbpress-forums fieldset.bbp-form input[type=text],
#bbpress-forums fieldset.bbp-form select {
    height: initial;
}
/* || Community new topic form */

/* || Community new reply form */
#bbpress-forums .bbp-new-post-container {
    display: flex;
    align-items: center;
    gap: 1em;
    padding: 12px 8px;
    margin: 0 0 3.5em 0;
    background-color: white;
    border-radius: 12px;
    border-block-end: 1px solid #cccccc;
    position: relative;
    z-index: 9999;
}

#bbpress-forums .bbp-new-post-container div.bbp-submit-wrapper {
    margin-top: 0;
    position: relative;
}

#bbpress-forums .bbp-replies .bbp-reply-form {
    margin: 0;
}

#bbpress-forums div.bbp-the-content-wrapper {
    margin: 0;
    flex: 1;
    position: relative;
}

#bbpress-forums div.bbp-the-content-wrapper textarea,
#bbpress-forums fieldset.bbp-form input[type=text],
#bbpress-forums select#bbp_forum_id {
    border-radius: 24px;
    font-size: 12px;
    padding: 8px 16px;
    background-color: #F0F2F5;
    border: 1px solid #F0F2F5;
}

#bbpress-forums fieldset.bbp-form {
    padding: 0;
    clear: none;
    padding: 0;
    margin: 0;
    border: none;
}

/* || Community new post form */
/* || Community topic list */
#bbpress-forums .bbp-author-name,
#bbpress-forums .topic-header .topic-parent {
    max-width: 20vw;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* || Community topic list */
/* || Community topic */
#bbpress-forums ul.bbp-forums, #bbpress-forums ul.bbp-lead-topic, #bbpress-forums ul.bbp-replies, #bbpress-forums ul.bbp-search-results, #bbpress-forums ul.bbp-topics {
    margin-bottom: 0;
}

#bbpress-forums .bbp-meta {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

#bbpress-forums .bbp-user-meta {
    display: flex;
    align-items: center;
    gap: .75em;
}

#bbpress-forums .bbp-user {
    display: flex;
    align-items: center;
}

#bbpress-forums div.bbp-reply-content {
    margin-left: 0;
    padding: 12px;
    z-index: 9999;
}

#bbpress-forums div.bbp-reply-content p {
    margin-bottom: 0;
}

#bbpress-forums .bbp-replies .reply.type-reply,
#bbpress-forums .bbp-replies .topic.type-topic {
    background-color: white;
    margin-bottom: 3.5em;
    position: relative;
    border-radius: 0 0 12px 12px;
    border-block-end: 1px solid #cccccc;
}

#bbpress-forums .bbp-replies .reply.type-reply::before,
#bbpress-forums .bbp-replies .topic.type-topic::before,
#bbpress-forums .bbp-new-post-container::before {
    content: '';
    position: absolute;
    bottom: -22px;
    right: 2rem;
    background-color: white;
    padding: 20px;
    border-style: solid;
    border-width: 0 1px 1px 0;
    border-color: #cccccc;
    transform: rotate(45deg);
}

#bbpress-forums div.bbp-reply-header,
#bbpress-forums div.bbp-topic-header {
    border-radius: 12px 12px 0 0;
    background-color: #FBFBFB;
}

li.bbp-body div.hentry {
    overflow: visible;
}

#bbpress-forums a.bbp-like {
    color: #0866FF;
    position: relative;
}

#bbpress-forums a.bbp-favorite {
    color: orange;
    position: relative;
}

#bbpress-forums blockquote {
    margin: 0 0 1em 0;
    padding: .75em;
    border: 1px solid grey;
    border-color: #CDCDCD #CDCDCD #CDCDCD #c4c4c4;
    border-width: 1px 1px 1px 10px;
}

#bbpress-forums blockquote p {
    margin-bottom: .25em;
}

/* || Community topic */
/* || Commmunity upload media button */
#bbpress-forums fieldset.bbp-form p.drag-drop-buttons {
    margin: 0;
}
/* || Commmunity upload media button */
/* || My Account Affiliate area */
.myaccount-content-wrapper .statscontainer {
    display: flex;
    gap: 1em;
    margin: 3em 0;
}

.statscontainer .statsbox {
    position: relative;
    text-decoration: none;
}

.statscontainer .statsbox:hover {
    text-decoration: none;
    color: white;
}

.animated {
    transition: 0.3s;
}

.animated:hover {
    transform: translate(0, -6px);
}

.statscontainer .statsbox i {
    position: absolute;
    top: .5em;
    right: .5em;
    font-size: 2em;
}

@media (max-width:1024px) {
    .myaccount-content-wrapper .statscontainer {
        flex-direction: column;
    }
}

.myaccount-content-wrapper .statsbox {
    background-color: var(--default-primary-color);
    color: white;
    padding: 1em;
    max-width: calc(50% - 1em);
    flex: 1;
    box-shadow: var(--default-box-shadow);
    border-radius: var(--default-border-radius);
}

.myaccount-content-wrapper .statsbox h4 {
    color: white;
}
/* || My Account Affiliate area */
/* || Password protected post */
form.protected-post-form .sys-button {
    margin-top: .75em;
}

.page-content:has(.protected-post-form) {
    max-width: 500px;
    margin: 125px auto;
}
/* || Password protected post */