/* === Ensure Divi Builder Layouts look right === */

/* Set the standard learndash components to the standard Divi content width */
.et_pb_pagebuilder_layout.et_full_width_page #learndash_course_status,
.et_pb_pagebuilder_layout.et_full_width_page #learndash_course_content {
    width: 80%;
    max-width: 1080px;
    margin: 10px auto;
}

/* Convert span tag items (course status, etc) into block elements so width obeyed */
.et_pb_pagebuilder_layout.et_full_width_page .entry-content>.learndash>span {
    display: block;
}

.et_pb_pagebuilder_layout.et_full_width_page .entry-content>.learndash>br {
    display: none;
}

/* Make the Divi Builder content full-width */
.et_pb_pagebuilder_layout.et_full_width_page .entry-content>.learndash>.learndash_content {
    width: 100%;
    max-width: 100%;
}

/* Set row width on sidebar layouts to match page builder on posts format */
.et_pb_pagebuilder_layout.et_right_sidebar .entry-content>.learndash .et_pb_row,
.et_pb_pagebuilder_layout.et_left_sidebar .entry-content>.learndash .et_pb_row,
.et_pb_pagebuilder_layout.et_right_sidebar .sfwd-certificates .et_pb_row,
.et_pb_pagebuilder_layout.et_left_sidebar .sfwd-certificates .et_pb_row {
    width: 100%;
}

.et_pb_pagebuilder_layout.et_right_sidebar .entry-content>.learndash .et_pb_with_background .et_pb_row,
.et_pb_pagebuilder_layout.et_left_sidebar .entry-content>.learndash .et_pb_with_background .et_pb_row,
.et_pb_pagebuilder_layout.et_right_sidebar .sfwd-certificates .et_pb_with_background .et_pb_row,
.et_pb_pagebuilder_layout.et_left_sidebar .sfwd-certificates .et_pb_with_background .et_pb_row {
    width: 80%;
}

/* Hide post title if necessary */
.dlk_hide_post_title .et_post_meta_wrapper:first-of-type {
    display: none;
}

/* === Improve look of LearnDash shortcode output in Divi ==== */

/* Padding after titles */
.et_pb_ld_course_list h3,
.et_pb_ld_lesson_list h3,
.et_pb_ld_profile h3,
.et_pb_ld_topic_list h3,
.et_pb_ld_quiz_list h3,
.et_pb_ld_course_progress h3,
.et_pb_ld_course_info h3,
.et_pb_ld_user_course_points h3,
.et_pb_ld_user_groups h3,
.et_pb_ld_video h3,
.et_pb_ld_payment_buttons h3,
.et_pb_ld_course_expire_status h3,
.et_pb_ld_course_content h3 {
    padding-bottom: 20px;
}

/* et_pb_ld_course_list */
.et_pb_ld_course_list #ld_course_categorydropdown,
.et_pb_ld_lesson_list #ld_lesson_categorydropdown,
.et_pb_ld_quiz_list #ld_quiz_categorydropdown,
.et_pb_ld_topic_list #ld_topic_categorydropdown {
    padding-bottom: 20px;
}

.et_pb_ld_course_list .row .ld-entry-content>img.attachment-post-thumbnail {
    margin-left: 0;
    margin-right: 0;
    margin-bottom: 20px;
}

.et_pb_ld_course_list .row {
    margin-bottom: 40px;
}

/* et_pb_ld_course_info */
.et_pb_ld_course_info h2.ld-entry-title {
    font-size: inherit;
}

/* et_pb_ld_course_content */
.et_pb_ld_course_content #learndash_course_content_title {
    display: none !important;
}

/* et_pb_ld_payment_buttons */
.et_pb_ld_payment_buttons .learndash_checkout_buttons {
    display: inline-block;
}

.et_pb_ld_payment_buttons .ld-text a {
    display: inline-block;
    margin-left: 5px;
    text-decoration: underline;
    font-weight: bold;
}


/* === Overwrite unwanted theme styles when using Divi Builder plugin */
#et_builder_outer_content .et_pb_ld_module a {
    border-bottom: 0 !important;
}

/* === CSS for classes added by module options === */

/* et_pb_ld_course_list - put content on new line */
.et_pb_ld_course_list.dlk_content_on_newline .row .ld-entry-content>img.attachment-post-thumbnail+* {
    clear: both;
}

/* Module icons - visual builder */
.et-fb-modules-list li.et_fb_ld_course_list:before,
.et-fb-modules-list li.et_fb_ld_lesson_list:before,
.et-fb-modules-list li.et_fb_ld_profile:before,
.et-fb-modules-list li.et_fb_ld_topic_list:before,
.et-fb-modules-list li.et_fb_ld_quiz_list:before,
.et-fb-modules-list li.et_fb_ld_course_progress:before,
.et-fb-modules-list li.et_fb_ld_course_info:before,
.et-fb-modules-list li.et_fb_ld_user_course_points:before,
.et-fb-modules-list li.et_fb_ld_user_groups:before,
.et-fb-modules-list li.et_fb_ld_video:before,
.et-fb-modules-list li.et_fb_ld_payment_buttons:before,
.et-fb-modules-list li.et_fb_ld_course_expire_status:before,
.et-fb-modules-list li.et_fb_ld_course_content:before,
.et-fb-modules-list li.et_fb_ld_course_status:before,
.et-fb-modules-list li.et_fb_learndash_modules:before {
    content: 'h' !important;
    transform: rotate(-90deg);
    clip-path: polygon(41% 0, 45% 0, 56% 100%, 41% 99%);
}

/* === Fix Divi header overlapping standard LearnDash login modal === */
div.learndash-wrapper div.ld-login-modal {
    z-index: 100000;
}

/* === Modify LD tabs margins so doesn't introduce gaps in Divi pages  === */
.et-db .learndash-wrapper .ld-tabs {
    margin-top: 0;
    margin-bottom: 0;
}

.et-db .learndash-wrapper .ld-tabs .ld-tabs-navigation {
    margin-top: 1em;
}

.et-db .learndash-wrapper .ld-tabs .ld-tabs-content .ld-tab-content {
    padding-top: 0;
    padding-bottom: 0;
}


/* === Buddy boss compatibility === */

.et-db #et-boc .et-l .ld-course-list-items .bb-cover-list-item:not(.bb-course-no-content) {
    height: 100%;
    padding-bottom: 15px;
}

.et-db #et-boc .et-l .et_pb_ld_course_list .ld-course-list-items .ld_course_grid .bb-cover-list-item {
    background: var(--bb-content-background-color);
    border: 1px solid var(--bb-content-border-color);
    border-radius: var(--bb-block-radius);
    transition: .2s box-shadow;
    position: relative;
}

.et-db #et-boc .et-l .et_pb_ld_course_list .ld-course-list-items .ld_course_grid .bb-cover-list-item .bb-course-cover a {
    display: block;
    position: relative;
    overflow: hidden;
    border-radius: var(--bb-block-radius) var(--bb-block-radius) 0 0;
    padding-top: 52%;
}

.et-db #et-boc .et-l .et_pb_ld_course_list .bb-card-course-details {
    padding: 16px 20px 10px;
}

.et-db #et-boc .et-l .et_pb_ld_course_list .ld-course-list-items .bb-course-item-wrap {
    margin-bottom: 20px;
}

@media screen and (min-width: 900px) and (max-width: 1200px) {
    .et-db #et-boc .et-l .et_pb_ld_course_list .ld-course-list-items .bb-course-item-wrap {
        min-width: 25%;
    }
}

.et-db #et-boc .et-l .et_pb_ld_course_list .ld-course-list-items .bb-course-item-wrap {
    padding-left: 10px;
    padding-right: 10px;
    min-width: 20%;
}

.et-db #et-boc .et-l .et_pb_ld_course_list .course-lesson-count {
    font-size: 13px;
    color: var(--bb-alternate-text-color);
    line-height: 1;
    margin-bottom: 8px;
    font-weight: 300;
}

.et-db #page #et-boc .et-l .et_pb_ld_course_list .bb-course-title {
    font-size: 22px;
    line-height: 1.24;
    margin: 0 0 10px;
    font-weight: 700;
    color: var(--bb-headings-color);
    padding-bottom: 0;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif !important;
}

.et-db #et-boc .et-l .et_pb_ld_course_list .ld-course-list-items .course-completion-rate {
    font-size: 12px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: -.24px;
    display: block;
    margin-top: 10px;
    color: var(--bb-alternate-text-color);
}

.et-db #et-boc .et-l .et_pb_ld_course_list .ld-course-list-items .ld-progress-stats {
    font-size: 12px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: -.24px;
    display: block;
    margin-top: 10px;
    color: var(--bb-alternate-text-color);
}

.et-db #et-boc .et-l .et_pb_ld_course_list .ld-course-list-items .ld-progress-stats .ld-progress-steps {
    margin-top: 5px;
    display: block;
}

.et-db #et-boc .et-l .et_pb_ld_course_list .ld-course-list-items .ld_course_grid .bb-cover-list-item .ld_course_grid_button a {
    border-radius: var(--bb-button-radius);
}

.et-db #et-boc .et-l .et_pb_ld_course_list .ld-course-list-items .ld_course_grid .bb-cover-list-item .ld_course_grid_button a {
    background-color: var(--bb-primary-button-background-regular);
    color: var(--bb-primary-button-text-regular);
    border: 1px solid var(--bb-primary-button-border-regular);
}

.et-db #et-boc .et-l .et_pb_ld_course_list .ld-course-list-items .ld_course_grid .btn {
    display: inline-block;
    padding: 6px 12px;
    margin-bottom: 0;
    font-size: 14px;
    font-weight: normal;
    line-height: 1.428571429;
    text-align: center;
    vertical-align: middle;
    cursor: pointer;
    white-space: nowrap;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    -o-user-select: none;
    user-select: none;
}

.et-db #et-boc .et-l .et_pb_ld_course_list .grid-view .bb-card-course-details .course-progress-wrap:nth-last-child(2) {
    margin: 0 0 10px;
}

.et-db #et-boc .et-l .et_pb_ld_course_list .ld-course-list-items .course-progress-wrap {
    position: relative;
    z-index: 1;
    line-height: 1.7;
}

.et-db #et-boc .et-l .et_pb_ld_course_list .ld-course-list-items .ld_course_grid .bb-cover-list-item:hover {
    box-shadow: 0 4px 32px 0 rgba(18, 43, 70, .1);
    z-index: 1;
}

.et-db #et-boc .et-l .et_pb_ld_course_list .ld-course-list-items .ld_course_grid .bb-cover-list-item .ld_course_grid_button a:hover {
    background-color: var(--bb-primary-button-background-hover);
    color: var(--bb-primary-button-text-hover);
    border-color: var(--bb-primary-button-border-hover);
}

.et-db #page #et-boc .et-l .et_pb_ld_course_list .bb-course-title a:hover {
    color: var(--bb-primary-color) !important;
}

.et-db #et-boc .et-l .et_pb_ld_course_list .bb-courses-directory .grid-filters {
    background: var(--bb-content-background-color);
    border: 1px solid var(--bb-content-border-color);
    border-radius: var(--bb-input-radius);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-item-align: start;
    align-self: flex-start;
    font-size: 21px;
    height: 36px;
}

.et-db #et-boc .et-l .et_pb_ld_course_list .push-right {
    margin-left: auto;
}

.et-db #et-boc .et-l .et_pb_ld_course_list .bb-courses-directory .grid-filters .active {
    opacity: 1;
}

.et-db #et-boc .et-l .et_pb_ld_course_list .bb-courses-directory .grid-filters a {
    color: var(--bb-headings-color);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding-left: 5px;
    padding-right: 5px;
    opacity: .4;
    -webkit-transition: .3s all;
    transition: .3s all;
}

.et-db #et-boc .et-l .et_pb_ld_course_list a.layout-grid-view {
    border-right: 1px solid var(--bb-content-border-color);
}

.et-db #et-boc .et-l .et_pb_ld_course_list a.layout-grid-view {
    padding-top: 0px;
    margin-top: 0px;
    padding-bottom: 0px !important;
}

.et-db #et-boc .et-l .et_pb_ld_course_list a.layout-list-view {
    padding-top: 10px;
}

.et-db #et-boc .et-l .et_pb_ld_course_list .bb-courses-directory .grid-filters .active {
    opacity: 1;
}

.et-db #et-boc .et-l .et_pb_ld_course_list #bb-course-list-grid-filters {
    margin-bottom: 20px;
}

.et-db #et-boc .et-l .et_pb_ld_course_list .ld-course-list-items .course-progress-wrap {
    position: relative;
    z-index: 1;
    margin: 0 0 10px;
    line-height: 1.7;
}

.et-db #et-boc .et-l .et_pb_ld_course_list .ld-course-list-content.list-view .bb-cover-list-item {
    padding-bottom: 0;
}

.et-db #et-boc .et-l .et_pb_ld_course_list .ld-course-list-content.list-view .bb-card-course-details {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    padding-bottom: 16px;
}

.et-db #et-boc .et-l .et_pb_ld_course_list .ld-course-list-content.list-view .bb-cover-list-item:not(.bb-course-no-content) .bb-cover-wrap {
    border-radius: var(--bb-block-radius) 0 0 var(--bb-block-radius);
}