Version Description
(2022-12-xx) - View detail = ~ Fixed: compatibility with WordPress PHP 8.1. ~ Not implements ArrayAccess, Iterator, Countable of PHP on classes: LP_Datetime, LP_Session_Handler, LP_User_Item_Course, LP_User_Item, LP_Quiz_Results, LP_Course_Item, LP_Quiz, LP_Array_Access, LP_Profile_Tabs. ~ Except class LP_Query_List_Table we still keep implements ArrayAccess (will notice the warning, but don't worry, you only need to disable WP_DEBUG mode), because addons: learnpress-h5p(version 4.0.1 and lower), learnpress-assignment(version 4.0.7 and lower) require it. So you need to update to the higher version of these plugins to make sure. ~ Modified: LP_Datetime, deprecated method: toLocal, toRFC822, toUnix, setGMT, getSqlNullDate, addDuration, getPeriod. ~ Deprecated: get_time_remaining, get_time of the class LP_User_Item, get_finishing_type of the class LP_User_Item_Course. ~ Deprecated: get_course_remaining_time on the class LP_Abstract_User. ~ Modified: get_expiration_time, deprecated param $format (17502a0). ~ Modified: class LP_Question_True_Or_False, LP_Question_Single_Choice, LP_Question_Multi_Choice, LP_Question_Fill_In_Blanks (3af1d1c). ~ Modified: class LP_Question, deprecated method: get_default_answers, filter_meta_box_meta, update_answer_orders (3af1d1c) ~ Modified: method 'get_answers' of class LP_Question (3af1d1c) ~ Deprecated: 'learn_press_course_question_permalink_friendly' function. ~ Added: 'LP_Question_Cache', LP_Session_Filter class. ~ Commented: 'learn_press_mark_user_just_logged_in' function. ~ Not store key 'order_awaiting_payment' in session, you need update 'learnpress-certificate' addon to version 4.0.4 or higher. ~ Not call: 'learn_press_clear_cart_after_payment' on hook 'get_header'. ~ Not call: 'learn_press_custom_checkout_cart' on hook 'learn_press_checkout_cart'. ~ Deprecated: 'learnpress_add_order' function. ~ Deprecated: learn_press_generate_transaction_object function. ~ Modified: LP_Shortcode_Checkout class. ~ Fixed: shortcode [learn_press_checkout] working right. ~ Deprecated: 'LP_Request_Handler' class, your need to update addons 'Course Review' (version 4.0.4 or higher), 'Wishlist' (version 4.0.4 or higher). ~ Not call 'learn_press_set_user_cookie_for_guest' function on hook 'wp'. ~ Commented: 'set_cookie' method on class LP_Request. c12c4b54 ~ Modified: 'LP_Session_Handler' class (c12c4b54). ~ Optimized: handle session. ~ Only set the cookie when the user does not log in. ~ When a user login is successful, the previous session of the guest user is deleted. ~ When a user logs out, expired sessions are deleted. ~ Modified: 'savedata' method of class LP_Session_Handler (c12c4b5). ~ Modified: 'get_cart_from_session', 'get_session_data', 'save_data' methods on class LP_Session_Handler. ~ Change name 'get_session' method to 'get_session_by_customer_id'. ~ Modified: 'update_session_timestamp', 'delete_session' methods on class LP_Session_Handler. ~ Modified: 'LP_Cart', optimize how to set session for cart, get cart items when called, instance of set on hook 'wp_loaded' always call, not call 'set_cart_cookies' when 'add_to_cart' method called. ~ Modified: 'calculate_totals' on class LP_Cart. ~ Deprecated: method 'get_cart_for_session' on class LP_Cart. ~ Modified: 'LP_Profile_Tabs' class. ~ Replace all access via array to fields and methods of classes LP_Query_List_Table, LP_Profile, LP_Profile_Tab. ~ Deprecated: 'offsetExists', 'offsetGet', 'get_current_question', 'get_question_position', 'check_question', 'get_question_link' methods LP_Quiz class. ~ Modified: 'create_order' method on class 'LP_Checkout'. ~ Deprecated: 'instructions' method on 'LP_Gateway_Offline_Payment' class.
Release Info
Developer | ThimPress |
Plugin | LearnPress – WordPress LMS Plugin |
Version | 4.2.0 |
Comparing to | |
See all releases |
Code changes from version 4.1.7.3.2 to 4.2.0
- assets/css/learnpress-rtl.css +1 -1
- assets/css/learnpress-rtl.min.css +1 -1
- assets/css/learnpress.css +1 -1
- assets/css/learnpress.min.css +1 -1
- assets/js/admin/learnpress.min.js +1 -1
- assets/js/dist/frontend/profile.js +35 -15
- assets/js/dist/frontend/profile.min.js +1 -1
- assets/src/js/admin/learnpress.js +0 -4
- inc/Helper/Singleton.php +22 -0
- inc/Helper/Template.php +159 -0
- inc/abstracts/abstract-addon.php +31 -38
- inc/abstracts/abstract-array-access.php +1 -1
- inc/abstracts/abstract-object-data.php +0 -1
- inc/abstracts/abstract-singleton.php +0 -57
- inc/admin/class-lp-admin-assets.php +1 -2
- inc/admin/class-lp-admin-dashboard.php +6 -7
- inc/admin/lp-admin-functions.php +3 -3
- inc/admin/sub-menus/abstract-submenu.php +1 -1
- inc/admin/views/admin-notices/beta-version.php +6 -1
- inc/admin/views/admin-notices/wrong-name-plugin.php +0 -27
- inc/admin/views/meta-boxes/course/settings.php +4 -1
- inc/admin/views/meta-boxes/fields/class-lp-meta-box-fields.php +1 -0
- inc/admin/views/meta-boxes/fields/duration.php +1 -1
- inc/admin/views/meta-boxes/lesson/settings.php +4 -1
- inc/admin/views/meta-boxes/order/content-tab-preview-exports-invoice.php +16 -11
- inc/admin/views/meta-boxes/order/details.php +4 -4
- inc/admin/views/meta-boxes/question/settings.php +4 -1
- inc/admin/views/meta-boxes/quiz/settings.php +4 -1
- inc/admin/views/updates/html-updated-latest-message.php +1 -1
- inc/background-process/class-lp-background-query-items.php +2 -2
- inc/cache/class-lp-question-cache.php +38 -0
- inc/cart/class-lp-cart.php +78 -104
- inc/cart/lp-cart-functions.php +13 -7
- inc/class-lp-checkout.php +53 -58
- inc/class-lp-datetime.php +68 -47
- inc/class-lp-page-controller.php +5 -1
- inc/class-lp-query-list-table.php +9 -0
- inc/class-lp-query.php +2 -2
- inc/class-lp-request-handler.php +6 -3
- inc/class-lp-session-handler.php +361 -192
- inc/course/abstract-course.php +4 -4
- inc/course/class-lp-course-item.php +1 -1
- inc/course/class-lp-course.php +1 -0
- inc/course/lp-course-functions.php +2 -3
- inc/curds/class-lp-order-curd.php +5 -2
- inc/custom-post-types/order.php +1 -1
- inc/databases/class-lp-question-answers-db.php +3 -3
- inc/databases/class-lp-sessions-db.php +45 -7
- inc/filters/class-lp-filter.php +4 -0
- inc/filters/class-lp-session-filter.php +40 -0
- inc/gateways/offline-payment/class-lp-gateway-offline-payment.php +4 -3
- inc/jwt/rest-api/version1/class-lp-rest-courses-v1-controller.php +3 -3
- inc/jwt/rest-api/version1/class-lp-rest-users-v1-controller.php +13 -6
- inc/lp-constants.php +0 -3
- inc/lp-core-functions.php +22 -10
- inc/lp-deprecated.php +4 -0
- inc/lp-template-functions.php +9 -7
- inc/order/class-lp-order.php +20 -11
- inc/order/lp-order-functions.php +11 -4
- inc/question/class-lp-question-answers.php +14 -4
- inc/question/class-lp-question-fill-in-blanks.php +4 -62
- inc/question/class-lp-question-multi-choice.php +4 -4
- inc/question/class-lp-question-single-choice.php +2 -1
- inc/question/class-lp-question-true-or-false.php +13 -9
- inc/question/class-lp-question.php +54 -41
- inc/quiz/class-lp-quiz.php +34 -44
- inc/rest-api/v1/frontend/class-lp-rest-courses-controller.php +20 -19
- inc/rest-api/v1/frontend/class-lp-rest-lazy-load-controller.php +21 -13
- inc/rest-api/v1/frontend/class-lp-rest-profile-controller.php +1 -1
- inc/shortcodes/class-lp-shortcode-checkout.php +14 -10
- inc/templates/class-lp-template-checkout.php +1 -1
- inc/user-item/class-lp-quiz-results.php +1 -1
- inc/user-item/class-lp-user-item-course.php +7 -3
- inc/user-item/class-lp-user-item-quiz.php +6 -10
- inc/user-item/class-lp-user-item.php +35 -24
- inc/user/abstract-lp-user.php +4 -2
- inc/user/class-lp-profile-tabs.php +27 -21
- inc/user/class-lp-profile.php +5 -3
- inc/user/class-lp-user-factory.php +1 -1
- inc/user/lp-user-functions.php +19 -42
- languages/learnpress.pot +266 -260
- learnpress.php +6 -1
- readme.txt +43 -1
- templates/checkout/empty-cart.php +1 -1
- templates/checkout/order-received.php +2 -2
- templates/checkout/review-order.php +3 -0
- templates/profile/content.php +8 -5
- templates/profile/tabs.php +4 -4
- templates/profile/tabs/orders/list.php +3 -4
- templates/profile/tabs/quizzes.php +7 -8
- templates/profile/tabs/sections.php +3 -3
- templates/single-course/sidebar/user-time.php +6 -1
@@ -634,7 +634,7 @@
|
|
634 |
margin-bottom: 10px;
|
635 |
font-size: 16px;
|
636 |
}
|
637 |
-
.lp-checkout-form .lp-form-fields input {
|
638 |
height: 44px;
|
639 |
line-height: normal;
|
640 |
width: 100%;
|
634 |
margin-bottom: 10px;
|
635 |
font-size: 16px;
|
636 |
}
|
637 |
+
.lp-checkout-form .lp-form-fields input:not([type=checkbox]) {
|
638 |
height: 44px;
|
639 |
line-height: normal;
|
640 |
width: 100%;
|
@@ -1 +1 @@
|
|
1 |
-
@charset "UTF-8";@-webkit-keyframes rotating4{from{-webkit-transform:rotate(0);-o-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(-360deg);-o-transform:rotate(-360deg);transform:rotate(-360deg)}}@keyframes rotating4{from{-ms-transform:rotate(0);-moz-transform:rotate(0);-webkit-transform:rotate(0);-o-transform:rotate(0);transform:rotate(0)}to{-ms-transform:rotate(-360deg);-moz-transform:rotate(-360deg);-webkit-transform:rotate(-360deg);-o-transform:rotate(-360deg);transform:rotate(-360deg)}}@-webkit-keyframes animation4{from{right:-40%;width:40%}to{right:100%;width:10%}}@keyframes animation4{from{right:-40%;width:40%}to{right:100%;width:10%}}.learn-press-message{position:relative;margin:0 0 20px 0;padding:10px 15px 10px 50px;border-top:5px solid #00adff;border-radius:0 0 5px 5px;background:#f5f5f5;width:100%}.learn-press-message.icon{padding-right:45px}.learn-press-message.icon::before{background:#00adff}.learn-press-message.icon::after{position:absolute;top:50%;right:15px;width:10px;height:10px;margin-top:-13px;margin-left:10px;border-radius:50%;color:#fff;background:#00adff;font-family:"Font Awesome 5 Free";font-size:20px;line-height:26px;text-align:center;vertical-align:baseline;content:"\f129"}.learn-press-message::before,.learn-press-message::after{position:absolute;top:0;content:""}.learn-press-message::before{left:20px;width:20px;height:30px;background:#00adff}.learn-press-message::after{top:10px;left:20px;width:0;height:0;border:10px solid transparent;border-bottom-color:#f5f5f5}.learn-press-message.error{border-color:#d85554}.learn-press-message.error::before{background:#d85554}.learn-press-message.error.icon::before,.learn-press-message.error.icon::after{background:#d85554}.learn-press-message.error.icon::after{content:"\f00d"}.learn-press-message.warning{border-color:#ffc107}.learn-press-message.warning::before{background:#ffc107}.learn-press-message.warning.icon::before,.learn-press-message.warning.icon::after{background:#ffc107}.learn-press-message.warning.icon::after{content:"\f00d"}.learn-press-message.success{border-color:#059601}.learn-press-message.success::before{background:#059601}.learn-press-message.success.icon::before,.learn-press-message.success.icon::after{background:#059601}.learn-press-message.success.icon::after{content:"\f129"}.learn-press-message a{text-decoration:underline}@keyframes lp-rotating{from{-webkit-transform:rotate(0);-moz-transform:rotate(0);-ms-transform:rotate(0);-o-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(-360deg);-moz-transform:rotate(-360deg);-ms-transform:rotate(-360deg);-o-transform:rotate(-360deg);transform:rotate(-360deg)}}@-webkit-keyframes lp-rotating{from{-webkit-transform:rotate(0);-moz-transform:rotate(0);-ms-transform:rotate(0);-o-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(-360deg);-moz-transform:rotate(-360deg);-ms-transform:rotate(-360deg);-o-transform:rotate(-360deg);transform:rotate(-360deg)}}.ajaxload{display:inline-block;position:relative;width:30px;height:30px;background:#7b7b7b;content:"";-webkit-border-radius:50%;-moz-border-radius:50%;border-radius:50%;-webkit-animation:lp-rotating 1s linear infinite;-moz-animation:lp-rotating 1s linear infinite;animation:lp-rotating 1s linear infinite}.ajaxload::after{-webkit-border-radius:50%;-moz-border-radius:50%;border-radius:50%;display:inline-block;position:absolute;top:2px;right:50%;width:6px;height:6px;margin-right:-3px;background:#dedede;content:""}.lp-ajaxload-style-1{display:inline-block;position:relative;width:32px;height:32px}.lp-ajaxload-style-1::before,.lp-ajaxload-style-1::after{position:absolute;top:0;right:0;width:100%;height:100%;border:3px solid #ddd;content:""}.lp-ajaxload-style-1::after{clip:rect(0,32px,16px,16px);border-color:#2fa7ff;-webkit-border-radius:50%;-moz-border-radius:50%;border-radius:50%;-webkit-animation:lp-rotating 1s linear infinite;-moz-animation:lp-rotating 1s linear infinite;animation:lp-rotating 1s linear infinite}.learn-press-tabs{margin-bottom:34px;background:#f1f2f8}.learn-press-tabs .learn-press-tabs__checker{display:none}.learn-press-tabs .learn-press-tabs__checker:nth-child(1):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(1){border-bottom:0;background:#fff}.learn-press-tabs .learn-press-tabs__checker:nth-child(1):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(1) label{color:#ffb606}.learn-press-tabs .learn-press-tabs__checker:nth-child(1):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(1) label a{color:#ffb606}.learn-press-tabs .learn-press-tabs__checker:nth-child(1):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(1)::before{background:#ffb606}.learn-press-tabs .learn-press-tabs__checker:nth-child(1):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(1)::after{background:#fff}.learn-press-tabs .learn-press-tabs__checker:nth-child(2):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(2){border-bottom:0;background:#fff}.learn-press-tabs .learn-press-tabs__checker:nth-child(2):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(2) label{color:#ffb606}.learn-press-tabs .learn-press-tabs__checker:nth-child(2):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(2) label a{color:#ffb606}.learn-press-tabs .learn-press-tabs__checker:nth-child(2):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(2)::before{background:#ffb606}.learn-press-tabs .learn-press-tabs__checker:nth-child(2):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(2)::after{background:#fff}.learn-press-tabs .learn-press-tabs__checker:nth-child(3):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(3){border-bottom:0;background:#fff}.learn-press-tabs .learn-press-tabs__checker:nth-child(3):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(3) label{color:#ffb606}.learn-press-tabs .learn-press-tabs__checker:nth-child(3):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(3) label a{color:#ffb606}.learn-press-tabs .learn-press-tabs__checker:nth-child(3):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(3)::before{background:#ffb606}.learn-press-tabs .learn-press-tabs__checker:nth-child(3):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(3)::after{background:#fff}.learn-press-tabs .learn-press-tabs__checker:nth-child(4):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(4){border-bottom:0;background:#fff}.learn-press-tabs .learn-press-tabs__checker:nth-child(4):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(4) label{color:#ffb606}.learn-press-tabs .learn-press-tabs__checker:nth-child(4):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(4) label a{color:#ffb606}.learn-press-tabs .learn-press-tabs__checker:nth-child(4):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(4)::before{background:#ffb606}.learn-press-tabs .learn-press-tabs__checker:nth-child(4):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(4)::after{background:#fff}.learn-press-tabs .learn-press-tabs__checker:nth-child(5):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(5){border-bottom:0;background:#fff}.learn-press-tabs .learn-press-tabs__checker:nth-child(5):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(5) label{color:#ffb606}.learn-press-tabs .learn-press-tabs__checker:nth-child(5):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(5) label a{color:#ffb606}.learn-press-tabs .learn-press-tabs__checker:nth-child(5):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(5)::before{background:#ffb606}.learn-press-tabs .learn-press-tabs__checker:nth-child(5):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(5)::after{background:#fff}.learn-press-tabs .learn-press-tabs__checker:nth-child(6):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(6){border-bottom:0;background:#fff}.learn-press-tabs .learn-press-tabs__checker:nth-child(6):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(6) label{color:#ffb606}.learn-press-tabs .learn-press-tabs__checker:nth-child(6):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(6) label a{color:#ffb606}.learn-press-tabs .learn-press-tabs__checker:nth-child(6):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(6)::before{background:#ffb606}.learn-press-tabs .learn-press-tabs__checker:nth-child(6):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(6)::after{background:#fff}.learn-press-tabs .learn-press-tabs__checker:nth-child(7):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(7){border-bottom:0;background:#fff}.learn-press-tabs .learn-press-tabs__checker:nth-child(7):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(7) label{color:#ffb606}.learn-press-tabs .learn-press-tabs__checker:nth-child(7):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(7) label a{color:#ffb606}.learn-press-tabs .learn-press-tabs__checker:nth-child(7):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(7)::before{background:#ffb606}.learn-press-tabs .learn-press-tabs__checker:nth-child(7):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(7)::after{background:#fff}.learn-press-tabs .learn-press-tabs__checker:nth-child(8):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(8){border-bottom:0;background:#fff}.learn-press-tabs .learn-press-tabs__checker:nth-child(8):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(8) label{color:#ffb606}.learn-press-tabs .learn-press-tabs__checker:nth-child(8):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(8) label a{color:#ffb606}.learn-press-tabs .learn-press-tabs__checker:nth-child(8):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(8)::before{background:#ffb606}.learn-press-tabs .learn-press-tabs__checker:nth-child(8):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(8)::after{background:#fff}.learn-press-tabs .learn-press-tabs__checker:nth-child(9):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(9){border-bottom:0;background:#fff}.learn-press-tabs .learn-press-tabs__checker:nth-child(9):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(9) label{color:#ffb606}.learn-press-tabs .learn-press-tabs__checker:nth-child(9):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(9) label a{color:#ffb606}.learn-press-tabs .learn-press-tabs__checker:nth-child(9):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(9)::before{background:#ffb606}.learn-press-tabs .learn-press-tabs__checker:nth-child(9):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(9)::after{background:#fff}.learn-press-tabs .learn-press-tabs__checker:nth-child(10):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(10){border-bottom:0;background:#fff}.learn-press-tabs .learn-press-tabs__checker:nth-child(10):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(10) label{color:#ffb606}.learn-press-tabs .learn-press-tabs__checker:nth-child(10):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(10) label a{color:#ffb606}.learn-press-tabs .learn-press-tabs__checker:nth-child(10):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(10)::before{background:#ffb606}.learn-press-tabs .learn-press-tabs__checker:nth-child(10):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(10)::after{background:#fff}.learn-press-tabs .learn-press-tabs__nav{display:flex;margin:0;padding:0;border:1px solid #e5e7f2;list-style:none}.learn-press-tabs .learn-press-tabs__tab{position:relative;margin:0;border-left:1px solid #e5e7f2;background:#f1f2f8;list-style:none}.learn-press-tabs .learn-press-tabs__tab:last-child{border-left:0}.learn-press-tabs .learn-press-tabs__tab>label{display:block;margin:0;padding:18px 65px;font-size:18px;line-height:1;font-weight:600;text-align:center;text-transform:capitalize;cursor:pointer}.learn-press-tabs .learn-press-tabs__tab>label a{color:#333}.learn-press-tabs .learn-press-tabs__tab>label a:focus{outline:0;text-decoration:none}@media(max-width:767px){.learn-press-tabs .learn-press-tabs__tab>label{padding:20px 50px 14px 50px}}.learn-press-tabs .learn-press-tabs__tab::before{position:absolute;top:-1px;right:0;width:100%;height:4px;background:transparent;content:""}.learn-press-tabs .learn-press-tabs__tab::after{position:absolute;bottom:-1px;right:0;width:100%;height:4px;background:transparent;content:""}.learn-press-tabs .learn-press-tabs__tab:first-child.active label{position:relative}.learn-press-tabs .learn-press-tabs__tab:first-child.active label::before{position:absolute;top:0;right:-1px;width:1px;height:100%;background:#fff;content:""}.learn-press-tabs.stretch .learn-press-tabs__tab{flex:1}.learn-press-tabs.stretch .learn-press-tabs__tab>label{padding:18px 10px}.learn-press-filters{display:flex;margin-bottom:30px;margin-right:0;list-style:none}.learn-press-filters>li{margin:0;font-size:16px;line-height:24px}@media(max-width:767px){.learn-press-filters>li{margin-left:30px;margin-right:0}.learn-press-filters>li:last-child{margin-left:0}}.learn-press-filters>li>a,.learn-press-filters>li>span{display:inline-block;font-weight:600}.learn-press-filters>li>span.count{font-weight:400}.learn-press-filters>li>span.count::before,.learn-press-filters>li>span.count::after{display:inline-block}.learn-press-filters>li>span.count::before{content:"("}.learn-press-filters>li>span.count::after{content:")"}.learn-press-filters>li span{color:#ffb606}.learn-press-filters>li span+span{color:#ffb606}.learn-press-filters>li span+span::before,.learn-press-filters>li span+span::after{color:#ffb606}.learn-press-filters>li a{color:#333;cursor:pointer}.learn-press-filters>li a+span{color:#333}.learn-press-filters>li a+span::before,.learn-press-filters>li a+span::after{color:#333}.learn-press-filters>li::after{margin:0 35px;color:#ccc;content:"|"}@media(max-width:767px){.learn-press-filters>li::after{display:none}}.learn-press-filters>li:last-child::after{display:none}.lp-checkout-form__before,.lp-checkout-form__after{width:45%;width:-webkit-calc(50% - 30px);width:-moz-calc(50% - 30px);width:calc(50% - 30px);margin:0 15px 40px 15px}.lp-checkout-form__before .lp-checkout-block h4,.lp-checkout-form__after .lp-checkout-block h4{margin-top:0;margin-bottom:18px;color:#333;font-size:24px;font-weight:600;line-height:1;font-family:var(--wp--preset--font-family--system-font)}@media(max-width:815px){.lp-checkout-form__before,.lp-checkout-form__after{width:100%;margin:0 0 40px 0}}.lp-checkout-form__before{float:left}.lp-checkout-form__before #checkout-order{width:100%}.lp-checkout-form .lp-checkout-form__after{float:right}.lp-checkout-form .lp-checkout-remember{letter-spacing:0;margin-top:0}.lp-checkout-form .lp-checkout-remember label{width:auto;color:#666;font-size:16px;font-weight:300;line-height:26px}.lp-checkout-form .lp-checkout-remember label input[type=checkbox]{position:relative;top:3px;width:19px;height:19px;margin:0 0 0 4px;border:1px solid #ccc;cursor:pointer;-webkit-appearance:none}.lp-checkout-form .lp-checkout-remember label input[type=checkbox]:focus{outline:0}.lp-checkout-form .lp-checkout-remember label input[type=checkbox]:checked::after{position:absolute;top:2px;right:2px;color:#41abec;font-family:"Font Awesome 5 Free";font-size:14px;font-weight:900;line-height:1;content:"\f00c"}.lp-checkout-form .lp-checkout-remember a{color:#666;font-size:16px;font-weight:300;line-height:26px;text-decoration:underline;text-decoration-color:#ccc}.lp-checkout-form .lp-checkout-remember a:hover{color:var(--lp-primary-color);text-decoration-color:var(--lp-primary-color)}.lp-checkout-form .lp-form-fields{padding:0 0 14px 0}.lp-checkout-form .lp-form-fields label{display:block;margin-bottom:10px;font-size:16px}.lp-checkout-form .lp-form-fields input{height:44px;line-height:normal;width:100%;padding:0 15px;border:1px solid #ccc}.lp-checkout-form .rwmb-input input:not([type=checkbox]){width:100%;height:43px;padding:0 22px;border:1px solid #ccc;border-radius:3px;background-color:#fff;font-size:14px;font-weight:300;font-style:italic;line-height:43px}.lp-checkout-form .rwmb-input input:not([type=checkbox]):focus{border-color:var(--lp-primary-color);outline:0;color:#222}.lp-checkout-form .rwmb-input ::placeholder{opacity:1;color:#999}.lp-checkout-form .rwmb-input :-ms-input-placeholder{color:#999}.lp-checkout-form .rwmb-input ::-ms-input-placeholder{color:#999}.lp-checkout-form .rwmb-input input:-webkit-autofill,.lp-checkout-form .rwmb-input input:-webkit-autofill:hover,.lp-checkout-form .rwmb-input input:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 1000px #fff inset;-webkit-text-fill-color:#999 !important}.lp-checkout-form{margin:0 -15px;margin-top:50px}@media(max-width:815px){.lp-checkout-form{display:flex;flex-direction:column-reverse;margin:0}}.lp-checkout-form #btn-checkout-account-switch-to-guest{margin-bottom:60px}.lp-checkout-form .description{float:right}.lp-checkout-form a{color:#41abec}.lp-checkout-form a label{display:inline-block;color:inherit;font-weight:normal;cursor:pointer}.lp-checkout-form a:hover{color:#ffb606}.lp-checkout-form #checkout-account-guest{width:100%;margin-bottom:35px;padding-bottom:19px;border-bottom:1px solid rgba(204,204,204,0.3)}.lp-checkout-form #checkout-account-guest .lp-form-fields,.lp-checkout-form #checkout-account-guest .form-field{margin-bottom:0;padding-bottom:0}.lp-checkout-form div.lp-guest-checkout-output{margin-top:10px;padding:8px 20px;border:2px solid #41abec;border-radius:4px;font-size:16px;transition:all .2s ease}.lp-checkout-form label.lp-guest-checkout-output{margin-top:10px;cursor:pointer;user-select:none}.lp-checkout-form .lp-guest-checkout-notice{margin:30px 0 0 0}.lp-checkout-form .lp-guest-switch-login{margin-top:1em;color:#666;font-size:16px;font-weight:400}.lp-checkout-form .lp-guest-switch-login a{display:inline-block}.lp-checkout-form input[name=checkout-account-switch-form]{display:none}.lp-checkout-form input[name=checkout-account-switch-form]:not(:checked)+.lp-checkout-block{display:none;overflow:hidden;height:0;margin:0;padding:0;border:0;opacity:0}.lp-checkout-form input[name=checkout-account-switch-form]:not(:checked)+.lp-checkout-block>*{overflow:hidden;height:0}.lp-checkout-form input[name=checkout-account-switch-form]:checked+.lp-checkout-block{display:block;overflow:auto;height:auto}.lp-checkout-form input[name=checkout-account-switch-form][value=guest]:checked ~ #btn-checkout-account-switch-to-guest{display:none}.lp-checkout-form::after{display:block;clear:both;content:""}.lp-checkout-form:focus{outline:0}#checkout-order .lp-checkout-order__inner{padding:0 20px;border:1px solid #ccc;border-radius:4px}#checkout-order table{width:100%;margin:0;border:0}#checkout-order td,#checkout-order th{box-sizing:content-box;border:1px solid rgba(204,204,204,0.3);border-top:0;border-left:0;border-right:0;background:unset;line-height:1;text-align:right;vertical-align:inherit}#checkout-order td:last-child,#checkout-order th:last-child{padding-left:0}#checkout-order .course-name{font-size:16px;font-weight:600;line-height:26px}#checkout-order .course-name a{display:-webkit-box;overflow:hidden;color:#000;-webkit-line-clamp:1;-webkit-box-orient:vertical}#checkout-order .course-name a:hover{color:var(--lp-primary-color)}#checkout-order .col-number{min-width:50px;color:#666;font-size:16px;font-weight:600;line-height:26px;text-align:left}#checkout-order .order-total>th{padding:24px 0 24px 20px}#checkout-order .order-total .col-number{color:#333;font-size:26px}#checkout-order tfoot .cart-subtotal{color:#666;font-size:16px;font-weight:600;line-height:26px}#checkout-order tfoot .cart-subtotal>th{padding:20px 0 17px 20px}#checkout-order tfoot .order-total th{color:#333;font-size:16px;font-weight:600;line-height:26px}#checkout-order tfoot tr:last-child{border-width:0}#checkout-order tfoot tr:last-child td,#checkout-order tfoot tr:last-child th{border-width:0}#checkout-order .course-thumbnail{width:80px;padding:20px 0 18px 13px}#checkout-order .course-thumbnail>img{width:100px;max-width:100% !important;height:auto !important}#checkout-account-register,#checkout-account-login{width:100%;margin-bottom:35px;padding-bottom:19px;border-bottom:1px solid rgba(204,204,204,0.3)}#checkout-account-register .form-field .rwmb-label,#checkout-account-register .form-field .rwmb-input .description,#checkout-account-login .form-field .rwmb-label,#checkout-account-login .form-field .rwmb-input .description{display:none}#checkout-account-register .lp-checkout-remember label,#checkout-account-login .lp-checkout-remember label{display:inline-block}#checkout-account-register .lp-checkout-remember a,#checkout-account-login .lp-checkout-remember a{float:left}#checkout-account-register .lp-checkout-sign-in-link,#checkout-account-register .lp-checkout-sign-up-link,#checkout-account-login .lp-checkout-sign-in-link,#checkout-account-login .lp-checkout-sign-up-link{display:flex;margin:0;color:#666;font-size:16px;font-weight:400}#checkout-account-register .lp-checkout-sign-in-link a,#checkout-account-register .lp-checkout-sign-up-link a,#checkout-account-login .lp-checkout-sign-in-link a,#checkout-account-login .lp-checkout-sign-up-link a{margin-right:5px;color:#41abec;cursor:pointer}#checkout-account-register .lp-checkout-sign-in-link a:hover,#checkout-account-register .lp-checkout-sign-up-link a:hover,#checkout-account-login .lp-checkout-sign-in-link a:hover,#checkout-account-login .lp-checkout-sign-up-link a:hover{color:var(--lp-primary-color)}#checkout-account-register .lp-checkout-sign-in-link a label,#checkout-account-register .lp-checkout-sign-up-link a label,#checkout-account-login .lp-checkout-sign-in-link a label,#checkout-account-login .lp-checkout-sign-up-link a label{display:inline-block;float:left;color:inherit;font-weight:normal;cursor:pointer}#checkout-payment{width:100%;margin-bottom:25px}#checkout-payment h4{margin-bottom:24px}#checkout-payment .secure-connection{float:left;margin-top:5px;color:#999;font-size:12px;font-weight:normal}#checkout-payment .secure-connection i{margin-left:5px;color:#ccc;font-size:18px}@media(max-width:767px){#checkout-payment .secure-connection{margin-top:0}}#checkout-payment .payment-methods{margin:0 0 24px 0;padding:0;list-style:none}#checkout-payment .lp-payment-method{position:relative;margin:0}#checkout-payment .lp-payment-method>label{display:flex;align-items:center}#checkout-payment .lp-payment-method .gateway-input,#checkout-payment .lp-payment-method .gateway-icon{vertical-align:middle}#checkout-payment .lp-payment-method .gateway-icon{max-height:32px}#checkout-payment .lp-payment-method .gateway-input{position:relative;width:20px;height:20px;margin:0 0 0 8px;border:1px solid #ccc;background:#fff;-webkit-appearance:none;-webkit-border-radius:50%;-moz-border-radius:50%;border-radius:50%}#checkout-payment .lp-payment-method .gateway-input::before{position:absolute;top:50%;right:50%;width:6px;height:6px;background:#41abec;transform:translate(50%,-50%);-webkit-border-radius:50%;-moz-border-radius:50%;border-radius:50%}#checkout-payment .lp-payment-method .gateway-input:checked::before{content:""}#checkout-payment .lp-payment-method .gateway-input:focus{outline:0}#checkout-payment #checkout-order-action button{width:100%;border-color:var(--lp-primary-color);color:#fff;background:var(--lp-primary-color);font-weight:500}#checkout-payment #checkout-order-action button:hover{border-color:var(--lp-primary-color);opacity:.5;background:var(--lp-primary-color)}#checkout-payment #checkout-order-action button.loading::before{display:inline-block;font-family:"Font Awesome 5 Free";font-weight:900;content:"\f110";-webkit-animation:lp-rotating 1s linear infinite;-moz-animation:lp-rotating 1s linear infinite;animation:lp-rotating 1s linear infinite}.lp-terms-and-conditions{color:#666;font-size:16px;font-weight:300;line-height:26px}.lp-terms-and-conditions a{color:#41abec}.lp-terms-and-conditions a:hover{color:var(--lp-primary-color)}.learn-press-checkout.guest-checkout{display:none}.button-continue-guest-checkout{clear:both}#learn-press-checkout .payment-methods{margin:0;padding:0;list-style:none}#learn-press-checkout .payment-methods .lp-payment-method{margin-bottom:20px}#learn-press-checkout .payment-methods .lp-payment-method>label{display:flex;flex-flow:row nowrap;padding:10px 20px;background:#f5f5f5;line-height:40px;cursor:pointer}#learn-press-checkout .payment-methods .lp-payment-method>label img{vertical-align:middle}#learn-press-checkout .payment-methods .lp-payment-method.selected>label{background:#d4d4d4}#learn-press-checkout .payment-methods .payment-method-form{display:none;padding:15px 20px;border-top:1px solid #ddd;background:#f9f9f9}#learn-press-checkout-login,#learn-press-checkout-register{margin-bottom:1.5em;padding:20px 20px 0 20px;border:1px solid #ddd;background:#fff}#learn-press-order-review,.learn-press-checkout-comment{margin-bottom:20px}#checkout-form-login,#checkout-form-register{_display:none}#checkout-form-login .learn-press-form-register,#checkout-form-login .learn-press-form-login,#checkout-form-register .learn-press-form-register,#checkout-form-register .learn-press-form-login{display:none}#checkout-guest-email{margin:0 0 20px 0}#checkout-guest-email .form-heading{margin:0}#checkout-guest-email #checkout-guest-options{margin:0;list-style:none}#checkout-guest-email #checkout-existing-account,#checkout-guest-email #checkout-new-account{display:none;margin:0}#checkout-guest-email.email-exists #checkout-existing-account{display:block}#checkout-guest-email.email-exists #checkout-new-account{display:none}.lp-list-table{width:100%;margin-bottom:20px}.lp-list-table th,.lp-list-table td{padding:20px;border:0 solid rgba(204,204,204,0.3);border-bottom-width:1px;background:#fff;font-size:16px;line-height:1;text-align:right}@media(max-width:767px){.lp-list-table th,.lp-list-table td{padding:15px}}.lp-list-table thead{box-sizing:border-box;border:1px solid #e5e7f2}.lp-list-table thead tr th{height:60px;border-bottom:0;color:#333;background:#f1f2f8;font-size:18px}.lp-list-table tbody,.lp-list-table tfoot{box-sizing:border-box;border:1px solid rgba(204,204,204,0.3);border-top:0}.lp-list-table tbody tr td,.lp-list-table tbody tr th,.lp-list-table tfoot tr td,.lp-list-table tfoot tr th{height:62px;color:#666;background:#fff;font-size:16px;font-weight:300}.lp-list-table tbody tr td a,.lp-list-table tbody tr th a,.lp-list-table tfoot tr td a,.lp-list-table tfoot tr th a{border-bottom:0;color:#666;text-decoration:none}.lp-list-table tbody tr td a:hover,.lp-list-table tbody tr th a:hover,.lp-list-table tfoot tr td a:hover,.lp-list-table tfoot tr th a:hover{color:var(--lp-primary-color)}.lp-list-table tbody tr .column-status .result-percent,.lp-list-table tfoot tr .column-status .result-percent{font-weight:500}.lp-list-table tbody tr .column-status .lp-label,.lp-list-table tfoot tr .column-status .lp-label{font-weight:600}.lp-list-table tbody tr:nth-child(odd),.lp-list-table tfoot tr:nth-child(odd){background:#f5f5f5}.lp-list-table .list-table-nav td{font-size:14px}.lp-list-table .list-table-nav td.nav-text{text-align:right}.lp-list-table .list-table-nav td.nav-pages{text-align:left}.lp-list-table .list-table-nav td.nav-pages .learn-press-pagination{text-align:left}.lp-list-table .list-table-nav td.nav-pages .page-numbers{margin-bottom:0}.lp-label{display:inline-block;color:#666;font-size:16px;font-weight:300;line-height:1}.learn-press-form .form-fields{margin:0;padding:0;list-style:none}.learn-press-form .form-fields .form-field{margin:0 0 20px 0}.learn-press-form .form-fields .form-field label{display:block;margin:0 0 10px 0}.learn-press-form .form-fields .form-field input[type=text],.learn-press-form .form-fields .form-field input[type=email],.learn-press-form .form-fields .form-field input[type=number],.learn-press-form .form-fields .form-field input[type=password],.learn-press-form .form-fields .form-field textarea{width:100%;padding:8px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.learn-press-form .form-fields .form-field .description{margin-top:10px;font-size:14px;font-style:italic;line-height:1.4}.learn-press-form .form-fields .form-field .asterisk{color:red}.learn-press-form-login,.learn-press-form-register{max-width:600px;margin-left:auto;margin-bottom:60px;margin-right:auto;padding:40px;border:1px solid #eee;border-radius:6px;box-shadow:0 4px 6px -1px rgba(0,0,0,0.1),0 2px 4px -1px rgba(0,0,0,0.06) !important}.learn-press-form-login h3,.learn-press-form-register h3{margin-bottom:20px;font-size:28px;line-height:1.4}.learn-press-form-login .form-fields .form-field label,.learn-press-form-register .form-fields .form-field label{font-size:16px;font-weight:400;user-select:none}.learn-press-form-login .form-fields .form-field input[type=text],.learn-press-form-login .form-fields .form-field input[type=password],.learn-press-form-login .form-fields .form-field input[type=tel],.learn-press-form-login .form-fields .form-field input[type=url],.learn-press-form-login .form-fields .form-field input[type=number],.learn-press-form-register .form-fields .form-field input[type=text],.learn-press-form-register .form-fields .form-field input[type=password],.learn-press-form-register .form-fields .form-field input[type=tel],.learn-press-form-register .form-fields .form-field input[type=url],.learn-press-form-register .form-fields .form-field input[type=number]{height:42px;border:1px solid #bbb;border-radius:4px;line-height:42px}.learn-press-form-login .form-fields .form-field input[type=text]:focus,.learn-press-form-login .form-fields .form-field input[type=password]:focus,.learn-press-form-login .form-fields .form-field input[type=tel]:focus,.learn-press-form-login .form-fields .form-field input[type=url]:focus,.learn-press-form-login .form-fields .form-field input[type=number]:focus,.learn-press-form-register .form-fields .form-field input[type=text]:focus,.learn-press-form-register .form-fields .form-field input[type=password]:focus,.learn-press-form-register .form-fields .form-field input[type=tel]:focus,.learn-press-form-register .form-fields .form-field input[type=url]:focus,.learn-press-form-register .form-fields .form-field input[type=number]:focus{border:0;outline:2px solid transparent !important;outline-offset:2px;box-shadow:0 0 0 2px #666 !important}.learn-press-form-login .form-fields .form-field.required label::after,.learn-press-form-register .form-fields .form-field.required label::after{content:" *";display:inline}.learn-press-form-login form[name=learn-press-login]>p>label,.learn-press-form-register form[name=learn-press-login]>p>label{color:#666;font-size:16px;cursor:pointer;user-select:none}.learn-press-form-login form[name=learn-press-login]>p>a,.learn-press-form-register form[name=learn-press-login]>p>a{color:#666;font-size:16px;line-height:1}.learn-press-form-login form[name=learn-press-login]>p:last-child,.learn-press-form-register form[name=learn-press-login]>p:last-child{margin-bottom:0}.learn-press-form-login button[type=submit],.learn-press-form-register button[type=submit]{width:100%;height:50px;border-radius:3px;outline:0;color:#fff;background:var(--lp-primary-color);box-shadow:none;font-size:16px;line-height:1;vertical-align:middle;text-decoration:none}.required label{font-weight:bold}.required label:after{content:" *";display:inline}.lp-password-input{display:flex;flex-direction:column;justify-content:center;position:relative}.lp-password-input input[type=password]{padding-left:2.5rem}.lp-password-input input::-ms-reveal{display:none}.lp-password-input .lp-show-password-input{position:absolute;top:8px;left:10px;cursor:pointer}.lp-password-input .lp-show-password-input::after{font-family:"Font Awesome 5 Free";font-weight:900;content:"\f06e"}.lp-password-input .lp-show-password-input.display-password::after{color:#585858;content:"\f070"}.form-desc{font-size:smaller;font-style:italic}.become-teacher-form{width:90%;max-width:500px;margin:0 auto}.become-teacher-form .form-field input[type=text],.become-teacher-form .form-field input[type=email],.become-teacher-form .form-field input[type=number],.become-teacher-form .form-field input[type=password]{width:100%}body div.entry-content>div.learnpress{--responsive--aligndefault-width:100%;max-width:var(--lp-content-width,100%)}.lp-user-profile{position:relative;background:#fff}.lp-user-profile .lp-user-profile-avatar img{position:relative;width:100%;height:auto;border-radius:unset;display:block}.lp-user-profile .lp-user-profile-avatar+.lp-user-profile-socials{margin-top:10px;margin-bottom:5px}.lp-user-profile .lp-user-profile-socials{display:flex;position:relative;z-index:1;justify-content:center;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.lp-user-profile .lp-user-profile-socials a{display:inline-flex;align-items:center;justify-content:center;width:35px;height:35px;margin:0 7px;border:1px solid #cfcfcf;color:#666;background:#fff;font-size:14px;line-height:35px;text-align:center;-webkit-border-radius:50%;-moz-border-radius:50%;border-radius:50%}.lp-user-profile .lp-user-profile-socials a:hover{border-color:var(--lp-primary-color);color:#fff;background:var(--lp-primary-color)}.lp-user-profile .wrapper-profile-header{color:#fff;background:var(--lp-secondary-color);position:relative}@media(max-width:990px){.lp-user-profile .wrapper-profile-header .lp-profile-content-area{min-height:inherit;padding:50px 15px}.lp-user-profile .wrapper-profile-header .lp-profile-left{float:right;position:static}.lp-user-profile .wrapper-profile-header .lp-profile-right{float:left;width:calc(100% - 270px);margin-right:0}}@media(max-width:768px){.lp-user-profile .wrapper-profile-header .lp-profile-left{width:220px}.lp-user-profile .wrapper-profile-header .lp-profile-right{width:calc(100% - 220px)}.lp-user-profile .wrapper-profile-header .lp-user-profile-socials{margin-left:-5px;margin-right:-5px}.lp-user-profile .wrapper-profile-header .lp-user-profile-socials a{width:36px;height:36px;margin:0 5px;line-height:36px}}@media(max-width:500px){.lp-user-profile .wrapper-profile-header .lp-profile-left{float:none;margin:0 auto}.lp-user-profile .wrapper-profile-header .lp-profile-right{width:100%;padding-top:30px;text-align:center}}.lp-user-profile .wrapper-profile-header::before{left:100%;right:auto}.lp-user-profile .wrapper-profile-header::after{right:100%;left:auto}.lp-user-profile .lp-profile-content-area{position:relative;padding-top:50px;padding-bottom:50px;display:flex;align-items:center}@media(max-width:650px){.lp-user-profile .lp-profile-content-area{flex-direction:column}.lp-user-profile .lp-profile-content-area .lp-profile-right{text-align:center;width:100%;padding:50px 15px 0}}.lp-user-profile .lp-profile-left{min-width:270px;max-width:270px;padding:5px;border:2px solid #eaeaea;border-radius:3px}.lp-user-profile .lp-profile-right{padding-left:15px;padding-right:35px}.lp-user-profile .lp-profile-username{padding-bottom:10px;font-size:18px;font-weight:500;text-transform:capitalize}.lp-user-profile .lp-profile-username::before,.lp-user-profile .lp-profile-username::after{content:"";width:30px;height:1px;background-color:white;display:inline-block;vertical-align:middle;margin:0}.lp-user-profile .lp-profile-username::before{margin-left:5px}.lp-user-profile .lp-profile-username::after{margin-right:5px}.lp-user-profile .lp-profile-user-bio{font-size:16px;font-weight:300;line-height:26px}.lp-user-profile #profile-sidebar{float:right;width:270px;margin-top:0;border:1px solid rgba(0,0,0,0.1);border-top:0;background:#fff;margin-top:58px}@media(max-width:990px){.lp-user-profile #profile-sidebar{width:100%}.lp-user-profile #profile-sidebar .lp-user-profile-avatar{max-width:150px}}.lp-user-profile #profile-nav .lp-profile-nav-tabs{margin:0;padding:0;list-style:none}.lp-user-profile #profile-nav .lp-profile-nav-tabs>li{position:relative;margin:0;border-top:1px solid rgba(204,204,204,0.3)}.lp-user-profile #profile-nav .lp-profile-nav-tabs>li a{display:block;padding:0 20px;color:#333;font-size:16px;font-weight:500;line-height:50px}.lp-user-profile #profile-nav .lp-profile-nav-tabs>li>a{padding:0 52px 0 20px}.lp-user-profile #profile-nav .lp-profile-nav-tabs>li>a>i{display:inline-block;position:absolute;right:24px;width:28px;color:var(--lp-primary-color);font-size:12px;line-height:53px;text-align:right}.lp-user-profile #profile-nav .lp-profile-nav-tabs>li>a::after{float:left;margin-left:4px;color:#999;font-family:"Font Awesome 5 Free";font-size:10px;font-weight:900;content:"\f054"}.lp-user-profile #profile-nav .lp-profile-nav-tabs>li ul li{margin:0}.lp-user-profile #profile-nav .lp-profile-nav-tabs>li ul li a{border-bottom:1px solid #f9f9f9}.lp-user-profile #profile-nav .lp-profile-nav-tabs>li ul li a:hover{color:var(--lp-primary-color);background:#fff}.lp-user-profile #profile-nav .lp-profile-nav-tabs>li ul li:hover>a i{color:var(--lp-primary-color);background:#fff}.lp-user-profile #profile-nav .lp-profile-nav-tabs>li.active,.lp-user-profile #profile-nav .lp-profile-nav-tabs>li:hover{background:var(--lp-primary-color)}.lp-user-profile #profile-nav .lp-profile-nav-tabs>li.active>a::after,.lp-user-profile #profile-nav .lp-profile-nav-tabs>li:hover>a::after{content:"\f053"}.lp-user-profile #profile-nav .lp-profile-nav-tabs>li.active a{padding-right:52px}.lp-user-profile #profile-nav .lp-profile-nav-tabs>li:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px}.lp-user-profile #profile-nav .lp-profile-nav-tabs>li.wishlist>a::before{position:absolute;right:25px;color:var(--lp-primary-color);font-family:"Font Awesome 5 Free";font-size:12px;font-weight:900;content:"\f004"}.lp-user-profile #profile-nav .lp-profile-nav-tabs>li.wishlist:hover a::before{color:#fff}.lp-user-profile #profile-nav .lp-profile-nav-tabs>li.logout>a::after{display:none}.lp-user-profile #profile-nav .lp-profile-nav-tabs li>a{box-sizing:border-box;height:50px}.lp-user-profile #profile-nav .lp-profile-nav-tabs li>ul{display:none;position:absolute;z-index:1000;top:0;right:100%;min-width:150px;margin:0;padding:0;background:#fff;box-shadow:0 15px 20px 0 rgba(0,0,0,0.05);list-style:none}.lp-user-profile #profile-nav .lp-profile-nav-tabs li.active>a,.lp-user-profile #profile-nav .lp-profile-nav-tabs li:hover>a{color:#fff}.lp-user-profile #profile-nav .lp-profile-nav-tabs li.active>a i,.lp-user-profile #profile-nav .lp-profile-nav-tabs li.active>a::after,.lp-user-profile #profile-nav .lp-profile-nav-tabs li:hover>a i,.lp-user-profile #profile-nav .lp-profile-nav-tabs li:hover>a::after{color:#fff}.lp-user-profile #profile-nav .lp-profile-nav-tabs li.active>ul,.lp-user-profile #profile-nav .lp-profile-nav-tabs li:hover>ul{display:block}.lp-user-profile #profile-nav .lp-profile-nav-tabs li.active>ul{position:relative;right:0}.lp-user-profile #profile-nav .lp-profile-nav-tabs li.active>ul .active{background:#fff}.lp-user-profile #profile-nav .lp-profile-nav-tabs li.active>ul .active>a{color:#ffb606}.lp-user-profile #profile-nav .lp-profile-nav-tabs li.active>ul .active>a i{color:#ffb606}@media(max-width:990px){.lp-user-profile #profile-nav{overflow-x:scroll;border-top:1px solid rgba(204,204,204,0.3)}.lp-user-profile #profile-nav .lp-profile-nav-tabs{width:max-content}.lp-user-profile #profile-nav .lp-profile-nav-tabs::after{display:table;clear:both;content:""}.lp-user-profile #profile-nav .lp-profile-nav-tabs>li{float:right;border:0;border-left:1px solid rgba(204,204,204,0.3)}.lp-user-profile #profile-nav .lp-profile-nav-tabs>li>a{height:auto;padding:0 45px 0 20px}.lp-user-profile #profile-nav .lp-profile-nav-tabs>li>a::after{margin-right:10px}.lp-user-profile #profile-nav .lp-profile-nav-tabs>li.has-child a::after{content:"\f077"}.lp-user-profile #profile-nav .lp-profile-nav-tabs>li.active a{padding-right:45px}.lp-user-profile #profile-nav .lp-profile-nav-tabs>li.active a::after{content:"\f078"}.lp-user-profile #profile-nav .lp-profile-nav-tabs>li.active.has-child ul{display:none;width:max-content;transform:translateX(20%)}.lp-user-profile #profile-nav .lp-profile-nav-tabs>li.active.has-child ul::after{display:table;clear:both;box-shadow:0 0;content:""}.lp-user-profile #profile-nav .lp-profile-nav-tabs>li.active.has-child ul li{float:right;border-left:1px solid rgba(204,204,204,0.3)}.lp-user-profile #profile-nav .lp-profile-nav-tabs>li.active.has-child ul li:last-child{border-left:0}.lp-user-profile #profile-nav .lp-profile-nav-tabs>li.active.has-child ul li a{padding:0 10px}.lp-user-profile #profile-nav .lp-profile-nav-tabs li:hover ul{display:none !important}.lp-user-profile #profile-nav .lp-profile-nav-tabs li:not(.has-child)>a::after{display:none}}@media(max-width:560px){.lp-user-profile #profile-nav .lp-profile-nav-tabs>li{max-width:80px}.lp-user-profile #profile-nav .lp-profile-nav-tabs>li>a{font-size:0}.lp-user-profile #profile-nav .lp-profile-nav-tabs>li>a::after{margin-right:0}}.lp-user-profile .lp-profile-content{float:left;width:calc(100% - 300px);margin-bottom:60px;padding-top:58px}@media(max-width:990px){.lp-user-profile .lp-profile-content{width:100%}}@media(max-width:767px){.lp-user-profile .lp-profile-content .learn-press-tabs__nav{display:block;width:100%;border:0}.lp-user-profile .lp-profile-content .learn-press-tabs__nav::after{display:table;clear:both;content:""}.lp-user-profile .lp-profile-content .learn-press-tabs__tab{float:right;border-left:0}.lp-user-profile .lp-profile-content .learn-press-tabs__tab label{padding-left:25px;padding-right:25px}.lp-user-profile .lp-profile-content .profile-orders{overflow-x:scroll}}.lp-user-profile .lp-profile-content .course-categories,.lp-user-profile .lp-profile-content .course-instructor{margin-bottom:14px}.lp-user-profile .lp-profile-content .course-categories{padding:0}.lp-user-profile .lp-profile-content .lp-button{display:block;margin:0 auto 52px auto;padding:13px 34px;border-color:var(--lp-secondary-color);font-size:14px;font-weight:500;-webkit-border-radius:9px;-moz-border-radius:9px;border-radius:9px}.lp-user-profile .lp-profile-content .lp-button:hover{border-color:var(--lp-primary-color)}.lp-user-profile ul.learn-press-courses .course{margin:0 0 40px 0}.lp-user-profile .profile-orders .profile-heading{display:none}.lp-user-profile .profile-orders table{margin-top:0}.lp-user-profile .profile-orders .column-order-actions a{margin-left:6px;color:black;text-decoration:underline;font-weight:500}.lp-user-profile .profile-orders .column-order-actions a:hover,.lp-user-profile .profile-orders .column-order-actions a:focus{color:var(--lp-primary-color)}.lp-user-profile #dashboard-general-statistic{margin-bottom:55px;padding-bottom:20px;border-bottom:1px solid #ddd}.lp-user-profile .dashboard-general-statistic__row{display:flex;margin:0 -15px;justify-content:center;flex-wrap:wrap}.lp-user-profile .dashboard-general-statistic__row .statistic-box{min-width:200px;max-width:270px;margin:0 15px 40px 15px;padding:15px 20px;border:1px solid #ccc;border-radius:4px;background:#f9fafc;text-align:center}@media(max-width:990px){.lp-user-profile .dashboard-general-statistic__row .statistic-box{width:45%}}@media(max-width:767px){.lp-user-profile .dashboard-general-statistic__row .statistic-box{width:100%;margin:0 15px 15px}}.lp-user-profile .dashboard-general-statistic__row .statistic-box:hover{background:#eaeaea}.lp-user-profile .dashboard-general-statistic__row[data-col="2"] .statistic-box{width:50%}.lp-user-profile .dashboard-general-statistic__row[data-col="4"] .statistic-box{width:25%}.lp-user-profile .dashboard-general-statistic__row[data-col="5"] .statistic-box{width:20%}.lp-user-profile .statistic-box .statistic-box__text{margin:0 0 7px 0;padding:0;color:#666;font-size:18px;font-weight:400;line-height:1}.lp-user-profile .statistic-box .statistic-box__number{color:#333;font-size:18px;font-weight:500;line-height:1}.lp-user-profile .profile-courses>h3{margin-top:0;margin-bottom:36px;color:#333;font-size:30px;font-weight:600;line-height:1;text-transform:capitalize}.lp-profile-content table.lp-list-table{border-spacing:0;border-top:1px solid #ccc;border-right:1px solid #ccc;margin-bottom:40px}.lp-profile-content table.lp-list-table tr th,.lp-profile-content table.lp-list-table tr td{border-left:1px solid #ccc;border-bottom:1px solid #ccc;text-align:center}.lp-profile-content table.lp-list-table tr td a{color:var(--wp--preset--color--foreground);font-weight:400}.lp-profile-content table.lp-list-table tr td a:hover{color:var(--lp-primary-color)}.lp-profile-content #profile-content-order-details h3{margin-top:0;font-size:30px;line-height:1.5;font-weight:500;margin-bottom:15px;font-family:var(--wp--preset--font-family--system-font)}.profile-basic-information .form-field,form[name=profile-change-password] .form-field{margin:0 10px 24px 10px}.profile-basic-information .form-field>label,form[name=profile-change-password] .form-field>label{margin:0 0 12px 0;color:#333;font-size:16px;font-weight:500;font-style:italic}.profile-basic-information .form-field .form-field-input input,form[name=profile-change-password] .form-field .form-field-input input{height:43px;padding:8px 20px;font-weight:400}.profile-basic-information .form-field .form-field-input input[type=password],form[name=profile-change-password] .form-field .form-field-input input[type=password]{padding:8px 20px}.profile-basic-information .form-field .form-field-input textarea,form[name=profile-change-password] .form-field .form-field-input textarea{padding:9px 20px 16px 20px;font-weight:300;line-height:24px}.profile-basic-information .form-field .form-field-input input,.profile-basic-information .form-field .form-field-input textarea,form[name=profile-change-password] .form-field .form-field-input input,form[name=profile-change-password] .form-field .form-field-input textarea{border:1px solid #ccc;color:#999;font-size:14px;font-style:italic}.profile-basic-information .form-field .form-field-input input:focus,.profile-basic-information .form-field .form-field-input textarea:focus,form[name=profile-change-password] .form-field .form-field-input input:focus,form[name=profile-change-password] .form-field .form-field-input textarea:focus{border-color:var(--lp-primary-color);outline:0;color:#222}.profile-basic-information .form-field .form-field-input ::placeholder,form[name=profile-change-password] .form-field .form-field-input ::placeholder{opacity:1;color:#999}.profile-basic-information .form-field .form-field-input :-ms-input-placeholder,form[name=profile-change-password] .form-field .form-field-input :-ms-input-placeholder{color:#999}.profile-basic-information .form-field .form-field-input ::-ms-input-placeholder,form[name=profile-change-password] .form-field .form-field-input ::-ms-input-placeholder{color:#999}.profile-basic-information .form-field .form-field-input .description,form[name=profile-change-password] .form-field .form-field-input .description{margin-top:15px}@media(max-width:767px){.profile-basic-information .form-field,form[name=profile-change-password] .form-field{margin:0 0 24px 0}}.profile-basic-information .form-field__50,form[name=profile-change-password] .form-field__50{float:right;width:calc(50% - 20px);margin-left:10px}@media(max-width:767px){.profile-basic-information .form-field__50,form[name=profile-change-password] .form-field__50{float:unset;width:100%;margin:0 0 24px 0}}.profile-basic-information .form-field__clear,form[name=profile-change-password] .form-field__clear{clear:both}.profile-basic-information button,form[name=profile-change-password] button{padding:16px 24px;border:0;border-radius:3px;color:#fff;background:var(--lp-primary-color);font-size:16px;font-weight:400;line-height:1}.profile-basic-information button:hover,form[name=profile-change-password] button:hover{opacity:.5;background:var(--lp-primary-color)}.profile-basic-information p,form[name=profile-change-password] p{margin:0}#learn-press-profile-basic-information .form-fields::after{display:block;clear:both;content:""}@media(max-width:767px){#learn-press-profile-basic-information .form-fields{margin:0}}#learn-press-profile-basic-information button[type=submit]{padding:0 15px;height:40px;line-height:40px;border:0;display:inline-flex;align-items:center;justify-content:center;background-color:var(--lp-primary-color);color:white;font-size:16px;font-weight:400;-webkit-transition:.3s;-moz-transition:.3s;-ms-transition:.3s;-o-transition:.3s;transition:.3s;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}#learn-press-profile-basic-information button[type=submit]:hover{opacity:.5;background-color:var(--lp-primary-color)}.recover-order__title{margin-bottom:5px}.recover-order__description{margin-bottom:20px;color:#999;font-size:.8em;font-style:italic}div.order-recover{display:flex}div.order-recover>.button-recover-order{margin:0;margin-right:20px;flex:0 0 auto}div.order-recover>.button-recover-order.loading::before{display:inline-block;margin-left:5px;font-family:"Font Awesome 5 Free";font-weight:900;content:"\f110";animation:lp-rotating 1s linear infinite}div.order-recover input[type=text]{width:100%;height:43px;margin-left:10px;padding:0 22px;border:1px solid #ccc;border-radius:3px;background-color:#fff;font-size:14px;font-weight:300;font-style:italic;line-height:43px;flex:1 1 auto}.learn-press-profile-course__progress .lp_profile_course_progress{border:1px solid #eee;border-top:0;overflow-x:auto}.learn-press-profile-course__progress .lp_profile_course_progress__item{display:grid;align-items:center;padding:15px;border-top:1px solid #eee;grid-template-columns:90px 1fr 80px 190px 140px;column-gap:20px}.learn-press-profile-course__progress .lp_profile_course_progress__item div img{max-width:60px;height:auto}@media(max-width:575px){.learn-press-profile-course__progress .lp_profile_course_progress__item div img{max-width:100%}}@media(max-width:575px){.learn-press-profile-course__progress .lp_profile_course_progress__item{display:block}}.learn-press-profile-course__progress .lp_profile_course_progress__header{background-color:#eee}@media(max-width:575px){.learn-press-profile-course__progress .lp_profile_course_progress__header{display:flex;overflow-x:auto;white-space:nowrap;justify-content:flex-end}}.lp_profile_course_progress__nav button.loading::before{display:inline-block;margin-left:5px;font-family:"Font Awesome 5 Free";font-weight:900;content:"\f110";-webkit-animation:lp-rotating 1s linear infinite;-moz-animation:lp-rotating 1s linear infinite;animation:lp-rotating 1s linear infinite}.entry-content ul.learn-press-profile-course__tab__inner{padding:0}.content ul.learn-press-courses{margin-right:-15px;margin-left:-15px}.content ul.learn-press-courses[data-layout=list]{margin:0}.learn-press-profile-course__tab__inner{display:flex;margin:40px 0 0 0 !important;padding:0 !important;background:#eee;list-style:none !important}.learn-press-profile-course__tab__inner>li{list-style:none;margin:0 !important}.learn-press-profile-course__tab__inner>li:hover{cursor:pointer}.learn-press-profile-course__tab__inner a{display:inline-block;padding:15px 30px;font-weight:600;position:relative}.learn-press-profile-course__tab__inner a.active{color:var(--lp-primary-color);background:#fff}.learn-press-profile-course__tab__inner a.active::before{content:"";height:3px;width:100%;background-color:var(--lp-primary-color);position:absolute;top:0;right:0;left:auto}.learn-press-course-tab-filters .learn-press-filters{margin-top:20px;margin-right:0;padding:0;list-style:none}.learn-press-course-tab-filters .learn-press-filters a.active{color:var(--lp-primary-color)}.lp-profile-content ul{list-style:none !important;padding:0 !important}.learnpress_avatar__form label{display:inline-block}.learnpress_avatar__form input[type=file]{display:none}.learnpress_avatar__form__upload{display:flex;width:200px;height:200px;border:1px dashed #ccc;border-radius:3px;background-color:#fafafa;font-size:14px;font-weight:300;font-style:italic;line-height:43px;text-align:center;cursor:pointer;align-items:center;justify-content:center}.learnpress_avatar__form__upload div{line-height:1.4}.learnpress_avatar__button--loading::before{display:inline-block;margin-left:5px;font-family:"Font Awesome 5 Free";font-weight:900;content:"\f110";-webkit-animation:lp-rotating 1s linear infinite;-moz-animation:lp-rotating 1s linear infinite;animation:lp-rotating 1s linear infinite}button.learnpress_avatar__button{height:40px;padding:0 15px;border:0;background:var(--lp-primary-color);color:white;margin-top:15px;border-radius:3px}button.learnpress_avatar__button+button{margin-right:15px;margin-left:0}#primary .learn-press-courses[data-size="3"] .course{width:50%}body.learnpress .learn-press-tabs .learn-press-tabs__tab,body.learnpress .attachment-recent-works-thumbnail{border-radius:0}#learn-press-course-tabs.show-all .course-tab-panel{margin-bottom:40px}#learn-press-course-tabs input[name=learn-press-course-tab-radio]:nth-child(1):checked ~ .course-tab-panels .course-tab-panel:nth-child(1){display:block}#learn-press-course-tabs input[name=learn-press-course-tab-radio]:nth-child(1):checked ~ .learn-press-nav-tabs .course-nav:nth-child(1){border-bottom:0}#learn-press-course-tabs input[name=learn-press-course-tab-radio]:nth-child(1):checked ~ .learn-press-nav-tabs .course-nav:nth-child(1) label{color:var(--lp-primary-color);background:#fff}#learn-press-course-tabs input[name=learn-press-course-tab-radio]:nth-child(2):checked ~ .course-tab-panels .course-tab-panel:nth-child(2){display:block}#learn-press-course-tabs input[name=learn-press-course-tab-radio]:nth-child(2):checked ~ .learn-press-nav-tabs .course-nav:nth-child(2){border-bottom:0}#learn-press-course-tabs input[name=learn-press-course-tab-radio]:nth-child(2):checked ~ .learn-press-nav-tabs .course-nav:nth-child(2) label{color:var(--lp-primary-color);background:#fff}#learn-press-course-tabs input[name=learn-press-course-tab-radio]:nth-child(3):checked ~ .course-tab-panels .course-tab-panel:nth-child(3){display:block}#learn-press-course-tabs input[name=learn-press-course-tab-radio]:nth-child(3):checked ~ .learn-press-nav-tabs .course-nav:nth-child(3){border-bottom:0}#learn-press-course-tabs input[name=learn-press-course-tab-radio]:nth-child(3):checked ~ .learn-press-nav-tabs .course-nav:nth-child(3) label{color:var(--lp-primary-color);background:#fff}#learn-press-course-tabs input[name=learn-press-course-tab-radio]:nth-child(4):checked ~ .course-tab-panels .course-tab-panel:nth-child(4){display:block}#learn-press-course-tabs input[name=learn-press-course-tab-radio]:nth-child(4):checked ~ .learn-press-nav-tabs .course-nav:nth-child(4){border-bottom:0}#learn-press-course-tabs input[name=learn-press-course-tab-radio]:nth-child(4):checked ~ .learn-press-nav-tabs .course-nav:nth-child(4) label{color:var(--lp-primary-color);background:#fff}#learn-press-course-tabs input[name=learn-press-course-tab-radio]:nth-child(5):checked ~ .course-tab-panels .course-tab-panel:nth-child(5){display:block}#learn-press-course-tabs input[name=learn-press-course-tab-radio]:nth-child(5):checked ~ .learn-press-nav-tabs .course-nav:nth-child(5){border-bottom:0}#learn-press-course-tabs input[name=learn-press-course-tab-radio]:nth-child(5):checked ~ .learn-press-nav-tabs .course-nav:nth-child(5) label{color:var(--lp-primary-color);background:#fff}#learn-press-course-tabs input[name=learn-press-course-tab-radio]:nth-child(6):checked ~ .course-tab-panels .course-tab-panel:nth-child(6){display:block}#learn-press-course-tabs input[name=learn-press-course-tab-radio]:nth-child(6):checked ~ .learn-press-nav-tabs .course-nav:nth-child(6){border-bottom:0}#learn-press-course-tabs input[name=learn-press-course-tab-radio]:nth-child(6):checked ~ .learn-press-nav-tabs .course-nav:nth-child(6) label{color:var(--lp-primary-color);background:#fff}#learn-press-course-tabs input[name=learn-press-course-tab-radio]:nth-child(7):checked ~ .course-tab-panels .course-tab-panel:nth-child(7){display:block}#learn-press-course-tabs input[name=learn-press-course-tab-radio]:nth-child(7):checked ~ .learn-press-nav-tabs .course-nav:nth-child(7){border-bottom:0}#learn-press-course-tabs input[name=learn-press-course-tab-radio]:nth-child(7):checked ~ .learn-press-nav-tabs .course-nav:nth-child(7) label{color:var(--lp-primary-color);background:#fff}#learn-press-course-tabs input[name=learn-press-course-tab-radio]:nth-child(8):checked ~ .course-tab-panels .course-tab-panel:nth-child(8){display:block}#learn-press-course-tabs input[name=learn-press-course-tab-radio]:nth-child(8):checked ~ .learn-press-nav-tabs .course-nav:nth-child(8){border-bottom:0}#learn-press-course-tabs input[name=learn-press-course-tab-radio]:nth-child(8):checked ~ .learn-press-nav-tabs .course-nav:nth-child(8) label{color:var(--lp-primary-color);background:#fff}#learn-press-course-tabs input[name=learn-press-course-tab-radio]:nth-child(9):checked ~ .course-tab-panels .course-tab-panel:nth-child(9){display:block}#learn-press-course-tabs input[name=learn-press-course-tab-radio]:nth-child(9):checked ~ .learn-press-nav-tabs .course-nav:nth-child(9){border-bottom:0}#learn-press-course-tabs input[name=learn-press-course-tab-radio]:nth-child(9):checked ~ .learn-press-nav-tabs .course-nav:nth-child(9) label{color:var(--lp-primary-color);background:#fff}.course-tab-panels .course-tab-panel{padding-top:30px}.course-tab-panel{display:none}.course-tab-panel.active{display:block}.course-tab-panel .course-description{color:#666;font-size:16px;font-weight:300;line-height:26px}.course-tab-panel .course-description h4{margin-top:0;margin-bottom:1.125rem;color:#333;font-size:18px;font-weight:500}.course-tab-panel .course-description p{line-height:inherit}.course-tab-panel .course-description img{max-width:100%;height:auto;vertical-align:middle}.course-tab-panel .lp-course-author{display:flex;margin-bottom:40px}@media(max-width:767px){.course-tab-panel .lp-course-author{flex-direction:column}}.course-tab-panel .lp-course-author .course-author__pull-left{margin-left:30px;text-align:center;align-items:center}@media(max-width:767px){.course-tab-panel .lp-course-author .course-author__pull-left{margin-left:0;margin-bottom:30px}}.course-tab-panel .lp-course-author img{width:50px;height:50px;margin-bottom:20px;border-radius:50%;object-fit:cover;object-position:center}.course-tab-panel .lp-course-author .course-author__pull-right{flex:1}@media(max-width:767px){.course-tab-panel .lp-course-author .course-author__pull-right{width:100%;text-align:center}}.course-tab-panel .lp-course-author .author-title{margin-bottom:18px}.course-tab-panel .lp-course-author .author-title a{color:#333;box-shadow:none;font-size:18px;font-weight:500;text-transform:capitalize}.course-tab-panel .lp-course-author .author-title a:hover{color:var(--lp-primary-color)}.course-tab-panel .lp-course-author .author-description{color:#666;font-size:16px;font-weight:300;line-height:26px}.course-tab-panel .lp-course-author .author-socials{display:grid;grid-template-columns:repeat(4,33px);gap:10px;justify-content:center}.course-tab-panel .lp-course-author .author-socials>a{display:inline-block;width:33px;height:33px;margin:0;border:1px solid #ededed;border-radius:50%;color:#878787;box-shadow:none;font-size:14px;line-height:33px;text-align:center;vertical-align:middle;transition:all .3s}.course-tab-panel .lp-course-author .author-socials>a:hover{border-color:var(--lp-primary-color);color:#fff;background:var(--lp-primary-color)}.course-tab-panel .lp-course-author .author-socials .fa-googleplus::before{content:"\f0d5"}.course-summary div.lp-list-co-instructor{display:grid;grid-template-columns:repeat(2,1fr);gap:40px}.course-summary div.lp-list-co-instructor__item{display:flex;column-gap:30px}@media(max-width:767px){.course-summary div.lp-list-co-instructor__item{align-items:center;flex-direction:column;padding:0 15px;column-gap:0;row-gap:10px}}.course-summary div.lp-list-co-instructor__avatar>img{width:100%;max-width:96px;border-radius:999px}.course-summary div.lp-list-co-instructor__bio{flex:1}.course-summary div.lp-list-co-instructor__bio__top>a{font-size:18px;font-weight:600}.course-summary div.lp-list-co-instructor__bio__description{font-size:1rem}.course-summary .course-price{margin-bottom:10px}.course-summary .course-price .origin-price,.course-summary .course-price .price{vertical-align:middle}.course-summary .course-price .origin-price{margin-left:10px;font-size:18px;font-style:italic;text-decoration:line-through}.course-summary .course-price .price{font-size:24px}.course-summary .course-summary-sidebar .lp-course-buttons{margin-bottom:20px}.course-summary .course-featured-review .featured-review__title{margin-top:0;margin-bottom:6px;font-size:1.2rem;font-weight:500}.course-summary .course-featured-review .featured-review__stars{padding-bottom:12px;color:var(--lp-primary-color);font-size:16px}.course-summary .course-featured-review .featured-review__content{position:relative;color:#666;font-size:1rem;font-style:italic;line-height:24px}.course-summary .course-featured-review .featured-review__content::after{position:absolute;top:-42px;left:-15px;color:rgba(102,102,102,0.1);font-family:Arial;font-size:180px;font-weight:700;font-style:normal;content:"‘‘";transform:rotate(-180deg)}.course-summary .course-tags a{display:inline-block;padding:3px 5px;border-radius:4px;color:#fff;background:#9aa5ab;font-size:12px;line-height:1}.edit-content{margin-right:5px}ul.learn-press-nav-tabs{display:flex;margin:0;padding:0;border-bottom:0;background:#f1f2f8;list-style:none}ul.learn-press-nav-tabs .course-nav{float:right;position:relative;margin:0;list-style:none}ul.learn-press-nav-tabs .course-nav:first-child.active::after{position:absolute;top:-1px;right:-1px;width:1px;height:100%;background:#fff;content:""}ul.learn-press-nav-tabs .course-nav:last-child{border-left:0}ul.learn-press-nav-tabs .course-nav:last-child.active::after{position:absolute;top:-1px;left:-2px;width:2px;height:100%;background:#fff;content:""}ul.learn-press-nav-tabs .course-nav.active{border-bottom:0}ul.learn-press-nav-tabs .course-nav.active::before{position:absolute;top:-1px;right:0;width:100%;height:3px;background:var(--lp-primary-color);content:""}ul.learn-press-nav-tabs .course-nav.active label{color:var(--lp-primary-color);background-color:white}ul.learn-press-nav-tabs .course-nav a{display:inline-block;padding:10px 20px;border-bottom:0;outline:0;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}ul.learn-press-nav-tabs .course-nav a:focus{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}ul.learn-press-nav-tabs[data-tabs] .course-nav{flex:1}ul.learn-press-nav-tabs[data-tabs] .course-nav a{width:100%;text-align:center}ul.learn-press-nav-tabs::after{display:block;clear:both;content:""}@media(max-width:767px){ul.learn-press-nav-tabs{display:grid;grid-template-columns:repeat(2,1fr);max-height:none}}.course-item-popup #tab-curriculum{display:block}.course-curriculum ul.curriculum-sections{position:relative;z-index:499;margin:0;padding:0;list-style:none}.course-curriculum ul.curriculum-sections .closed .section-item__loadmore{display:none}.course-curriculum ul.curriculum-sections .section{margin:0;padding:0;flex-wrap:wrap}.course-curriculum ul.curriculum-sections .section:last-child{padding:0}.course-curriculum ul.curriculum-sections .section.section-empty .section-header{margin-bottom:20px}.course-curriculum ul.curriculum-sections .section.section-empty .learn-press-message{margin-left:15px;margin-right:15px}.course-curriculum ul.curriculum-sections .section-title.c+.section-desc{display:block}.course-curriculum ul.curriculum-sections .section-title.c span.show-desc::before{-webkit-transform:rotate(-180deg);-moz-transform:rotate(-180deg);-ms-transform:rotate(-180deg);-o-transform:rotate(-180deg);transform:rotate(-180deg);top:0}.course-curriculum ul.curriculum-sections .item-meta.duration{background:#d9e0f1}.course-curriculum .section-item__loadmore{display:flex;justify-content:center;align-items:center}.course-curriculum .section-item__loadmore button{display:inline-flex;margin-top:10px;margin-left:auto;margin-right:auto;padding:10px 20px;border:1px solid #ccc;border-radius:4px;outline:0;color:#222;background:#f7f7f7;box-shadow:none;font-weight:500;justify-content:center;align-items:center;cursor:pointer;font-size:1rem;font-family:sans-serif}.course-curriculum .section-item__loadmore.loading button::before{display:inline-block;margin-left:5px;font-family:"Font Awesome 5 Free";font-weight:900;content:"\f110";-webkit-animation:lp-rotating 1s linear infinite;-moz-animation:lp-rotating 1s linear infinite;animation:lp-rotating 1s linear infinite}.course-curriculum .section-header{display:table;width:100%;padding:0 0 26px 0;border-bottom:0;border-bottom:1px solid #d9e0f1;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.course-curriculum .section-header .section-title,.course-curriculum .section-header .section-desc{margin:0}.course-curriculum .section-header span.show-desc{display:inline-block;position:absolute;top:50%;left:30px;width:20px;height:20px;transform:translate(0,-50%)}.course-curriculum .section-header span.show-desc::before{font-family:"Font Awesome 5 Free";font-size:18px;font-weight:900;content:"\f107"}.course-curriculum .section-header span.show-desc:hover::before{border-top-color:#ccc}.course-curriculum .section-header .section-desc{margin:0;margin-top:10px;font-size:14px;line-height:21px;color:#999;font-style:italic}.course-curriculum .section-header .section-meta{display:block;padding-top:17px;padding-bottom:15px;font-size:14px;text-align:left;vertical-align:middle;white-space:nowrap}.course-curriculum .section-item{width:100%}.course-curriculum .section-content{margin:0 0 15px 0;padding:0;list-style:none}.course-curriculum .section-content .course-item-meta{display:table-cell;padding:10px 0;text-align:left;vertical-align:middle;white-space:nowrap}.course-curriculum .section-content .course-item-meta .item-meta{display:inline-block;margin-right:14px;border-radius:3px;color:#fff;font-size:14px;line-height:23px;text-align:center;vertical-align:middle;padding:0 8px}.course-curriculum .section-content .course-item-meta .item-meta.final-quiz{background:#14c4ff}.course-curriculum .section-content .course-item-meta .item-meta.trans{padding:0}.course-curriculum .section-content .course-item-meta .count-questions{background:#9672cf}.course-curriculum .section-content .course-item-meta .duration{background:silver}.course-curriculum .section-content .course-item-meta .course-item-status{padding:0;color:#999;-webkit-border-radius:50%;-moz-border-radius:50%;border-radius:50%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.course-curriculum .section-content .course-item-meta .course-item-status::before{font-family:"Font Awesome 5 Free";font-size:14px;font-weight:900;vertical-align:middle;text-transform:lowercase;content:"\f00c"}.course-curriculum .section-content .course-item-preview{font-style:normal;padding:0}.course-curriculum .section-content .course-item-preview::before{color:#fff;padding:0 8px;background:#00adff;display:inline-flex;align-items:center;justify-content:center;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;vertical-align:baseline;content:attr(data-preview)}.course-curriculum .course-item{display:flex;position:relative;margin:0 0 2px 0;padding:0 30px 0 15px;background:rgba(241,242,248,0.4);font-size:14px;transition:padding-right linear .15s}@media(max-width:767px){.course-curriculum .course-item{padding:0 15px 0 0}}.course-curriculum .course-item>span{display:flex;width:28px;color:#666;font-size:16px;font-weight:300;align-items:center}.course-curriculum .course-item .section-item-link{display:table;padding-left:15px;padding-right:0;border-bottom:0;outline:0;box-shadow:none;line-height:1.5;color:#777;text-decoration:none}.course-curriculum .course-item .section-item-link:hover .item-name{color:var(--lp-primary-color)}.course-curriculum .course-item .section-item-link::before{display:table-cell;display:table-cell;right:0;width:20px;padding:15px 0;color:var(--lp-primary-color);font-family:"Font Awesome 5 Free";font-size:18px;font-weight:400;vertical-align:middle;transition:right linear .15s}.course-curriculum .course-item .item-icon,.course-curriculum .course-item .item-name{display:table-cell;padding:17px 16px;color:#333;font-size:16px;font-weight:600;vertical-align:middle}.course-curriculum .course-item .item-icon::before{font-size:18px}.course-curriculum .course-item .item-icon.icon-lock{float:left;margin-top:15px}.course-curriculum .course-item.course-item-lp_quiz .section-item-link::before{content:"\f059"}.course-curriculum .course-item.course-item-lp_lesson .section-item-link::before{content:"\f15b"}.course-curriculum .course-item.course-item-lp_lesson.course-item-type-video .section-item-link::before{content:"\f03d"}.course-curriculum .course-item.course-item-lp_lesson.course-item-type-audio .section-item-link::before{content:"\f028"}.course-curriculum .course-item.item-locked .course-item-status::before{color:var(--lp-secondary-color);content:"\f023"}.course-curriculum .course-item.has-status{padding-top:1px}.course-curriculum .course-item.has-status.status-completed .course-item-status::before,.course-curriculum .course-item.has-status.status-evaluated .course-item-status::before{color:#3bb54a}.course-curriculum .course-item.has-status.item-failed .course-item-status::before,.course-curriculum .course-item.has-status.failed .course-item-status::before{border-color:#f02425;color:#f02425;content:"\f00d"}.course-curriculum .course-item::before{position:absolute;top:50%;right:0;width:3px;height:0;background:#00adff;content:"";transition:height linear .15s,top linear .15s}.course-curriculum .course-item.current{padding-right:10px;background:#f9f9f9}.course-curriculum .course-item.current a::before{right:10px}.course-curriculum .course-item.current::before{top:0;height:100%}.course-curriculum .section-left{vertical-align:top}.course-curriculum .section-left .section-title{padding:0;color:#666;font-size:1.4rem;letter-spacing:0;text-transform:capitalize;display:block}.course-curriculum .curriculum-more__button{display:flex;width:100%;margin-top:20px;margin-bottom:20px;padding:10px 0;border:0;outline:0;color:#fff;background:#333;box-shadow:none;justify-content:center;align-items:center;cursor:pointer;font-size:1rem;font-family:sans-serif}.course-curriculum .curriculum-more__button.loading::before{display:inline-block;margin-left:5px;font-family:"Font Awesome 5 Free";font-weight:900;content:"\f110";-webkit-animation:lp-rotating 1s linear infinite;-moz-animation:lp-rotating 1s linear infinite;animation:lp-rotating 1s linear infinite}body.course-item-popupx{overflow:hidden;_opacity:0}body.course-item-popupx #learn-press-course-curriculum{overflow:auto;position:fixed;z-index:9999;top:32px;bottom:0;right:0;width:400px;border-left:1px solid #ddd;background:#fff}body.course-item-popupx #learn-press-course-curriculum .section-header{padding:0 15px}body.course-item-popupx #learn-press-course-curriculum .section-header .section-desc{margin:-10px 0 5px}body.course-item-popupx #learn-press-course-curriculum .course-item{padding-left:15px;padding-right:15px}body.course-item-popupx #learn-press-course-curriculum .course-item a::before{right:15px}body.course-item-popupx #learn-press-content-item{overflow:hidden;position:fixed;z-index:9999;top:32px;left:0;bottom:0;right:400px;background:#fff}body.course-item-popupx #learn-press-content-item .content-item-wrap{max-width:900px;margin:10px auto}body.course-item-popupx #learn-press-content-item .course-item-title{font-size:1.4rem}body.course-item-popupx #learn-press-content-item .content-question-summary .review-heading{text-align:center}body.course-item-popupx #learn-press-content-item .content-question-summary .question-title{margin-bottom:10px;font-size:1.2rem}body.course-item-popupx #content-item-nav{position:fixed;z-index:99999;left:0;bottom:0;right:400px;height:60px;border-top:1px solid #ddd;background:#f5f5f5}body.course-item-popupx #content-item-nav .content-item-nav-wrap{max-width:900px;margin:10px auto}body.course-item-popupx #content-item-nav button{height:40px;padding:0 20px;line-height:40px}body.course-item-popupx .comment-form-textarea{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}body.course-item-popupx.wpadminbar #learn-press-course-curriculum,body.course-item-popupx.wpadminbar #learn-press-content-item{top:92px}body.course-item-popupx.wpadminbar .content-item-description{margin-bottom:20px}body.course-item-popupx .content-item-summary{margin-bottom:50px}body.course-item-popupx .content-item-summary>h3{margin-bottom:20px}body.course-item-popupx .content-item-summary.content-item-video .entry-video{position:absolute;top:0;right:0;width:100%;background:#000;line-height:1}body.course-item-popupx .content-item-summary.content-item-video .entry-video iframe{width:100%;max-width:900px;margin-bottom:0;vertical-align:top}body.course-item-popupx .learn-press-content-protected-message{margin-bottom:50px;padding:20px;background:#ffe0e0}body.course-item-popupx.content-only #learn-press-content-item{z-index:9999999;top:0;bottom:0;right:0}body.course-item-popupx.content-only #learn-press-content-item .content-item-scrollable{bottom:0}body #ifr-course-item{position:absolute;z-index:999999;top:0;right:0;width:100%;height:100%;background:#fff}body .content-item-summary .form-button-finish-course,body .lp-quiz-buttons .form-button-finish-course{float:left}#wpadminbar #wp-admin-bar-edit-lp_quiz .ab-item::before,#wpadminbar #wp-admin-bar-edit-lp_lesson .ab-item::before,#wpadminbar #wp-admin-bar-edit-lp_question .ab-item::before{top:2px;font-family:"Font Awesome 5 Free"}#wpadminbar #wp-admin-bar-edit-lp_quiz .ab-item::before{content:"\f017"}#wpadminbar #wp-admin-bar-edit-lp_lesson .ab-item::before{content:"\f15c"}#wpadminbar #wp-admin-bar-edit-lp_question .ab-item::before{content:"\f29c"}.scroll-wrapper{overflow:hidden;opacity:0}.scroll-wrapper .scroll-element{background:transparent}.scroll-wrapper .scroll-element.scroll-y.scroll-scrolly_visible{transition:opacity .25s}.scroll-wrapper:hover .scroll-element.scroll-y.scroll-scrolly_visible{opacity:.7}.course-remaining-time .label-enrolled{font-size:inherit}.learn-press-form.completed button::before{margin-left:10px;font-family:"Font Awesome 5 Free";font-size:18px;content:"\f00c"}.lp-course-progress{position:relative}.lp-course-progress .lp-passing-conditional{position:absolute;top:0;width:3px;height:6px;margin-right:-1px;background:var(--lp-secondary-color)}.viewing-course-item .section-header .section-desc{display:none}.viewing-course-item .content-item-wrap{margin-top:50px}.course-meta{display:flex;margin-bottom:40px}.course-meta .course-meta__pull-left,.course-meta .course-meta__pull-right{display:flex;flex-wrap:wrap}.course-meta .course-meta__pull-left{flex:1}.course-meta .course-meta__pull-left .meta-item{margin-left:10px}.course-meta .course-meta__pull-right{flex:0 0 50%}.course-meta .course-meta__pull-right .meta-item{margin-right:10px}.course-meta.course-meta-primary .meta-item{flex:1}.course-meta.two-columns .course-meta{flex:1}.course-extra-box{margin-bottom:3px;border:1px solid rgba(204,204,204,0.3);border-radius:5px}.course-extra-box__title{--extra-height:50px;display:flex;align-items:center;position:relative;height:var(--extra-height);margin:0 !important;padding:0 38px 0 45px;background:rgba(181,187,211,0.15);font-size:1.1rem;font-weight:600;cursor:pointer}@media(max-width:767px){.course-extra-box__title{padding-right:15px}}.course-extra-box__title::after{position:absolute;top:0;left:20px;color:#666;font-family:"Font Awesome 5 Free";line-height:var(--extra-height);content:"\f0d7"}.course-extra-box__content{display:none}.course-extra-box__content-inner{-webkit-animation-name:course-extra-box__content-inner-transform;animation-name:course-extra-box__content-inner-transform;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;-webkit-animation-iteration-count:1;animation-iteration-count:1;-webkit-animation-direction:normal;animation-direction:normal}.course-extra-box__content ul,.course-extra-box__content li{list-style:none}.course-extra-box__content ul{margin:0;padding:0}.course-extra-box__content li{margin:0;padding:10px 38px;border-bottom:1px solid rgba(204,204,204,0.3);color:#666;font-size:16px;font-weight:300}@media(max-width:767px){.course-extra-box__content li{padding-right:30px;padding-left:30px}}.course-extra-box__content li::before{margin-left:8px;color:var(--lp-primary-color);font-family:"Font Awesome 5 Free";font-weight:900;content:"\f00c"}.course-extra-box__content li:last-child{border-bottom:0}.course-extra-box:last-child{margin-bottom:60px}.course-extra-box.active .course-extra-box__title::after{content:"\f0d8"}.course-extra-box+.comment-respond,.course-extra-box+.comments-area{margin-top:60px;margin-bottom:30px}.course-extra-box+.course-tabs{margin-top:60px}input[name=course-extra-box-ratio]{display:none}input[name=course-extra-box-ratio]:checked+.course-extra-box .course-extra-box__content{display:block}input[name=course-extra-box-ratio]:checked+.course-extra-box .course-extra-box__content .course-extra-box__content-inner{transform:scale(1)}@-webkit-keyframes course-extra-box__content-inner-transform{from{opacity:0;-webkit-transform:translateX(-5%);-moz-transform:translateX(-5%);-ms-transform:translateX(-5%);-o-transform:translateX(-5%);transform:translateX(-5%)}to{opacity:1;-webkit-transform:translateX(0);-moz-transform:translateX(0);-ms-transform:translateX(0);-o-transform:translateX(0);transform:translateX(0)}}@keyframes course-extra-box__content-inner-transform{from{opacity:0;transform:translateX(-5%)}to{opacity:1;transform:translateX(0)}}.course-tab-panel-faqs{padding-top:64px}.course-tab-panel-faqs .course-faqs-box{margin-bottom:20px;border:1px solid rgba(204,204,204,0.6);border-radius:5px}.course-tab-panel-faqs .course-faqs-box__title{display:block;position:relative;margin:0;padding:20px 25px 20px 45px;font-size:1.1rem;font-weight:500;line-height:1.7;cursor:pointer}.course-tab-panel-faqs .course-faqs-box__title::after{position:absolute;top:50%;left:28px;color:#6c6c6c;font-family:"Font Awesome 5 Free";font-size:12px;font-weight:900;content:"\f078";transform:translateY(-50%)}.course-tab-panel-faqs .course-faqs-box:last-child{margin-bottom:40px}.course-tab-panel-faqs .course-faqs-box:hover{background:rgba(241,242,248,0.4)}.course-tab-panel-faqs .course-faqs-box:hover .course-faqs-box__title{color:var(--lp-primary-color)}.course-tab-panel-faqs .course-faqs-box__content{display:none}.course-tab-panel-faqs .course-faqs-box__content-inner{padding:0 25px 25px 25px;color:#666;font-size:1rem;font-weight:300;line-height:26px;-webkit-animation-name:course-faqs-box__content-inner-transform;animation-name:course-faqs-box__content-inner-transform;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;-webkit-animation-iteration-count:1;animation-iteration-count:1;-webkit-animation-direction:normal;animation-direction:normal}input[name=course-faqs-box-ratio]{display:none}input[name=course-faqs-box-ratio]:checked+.course-faqs-box .course-faqs-box__content{display:block}input[name=course-faqs-box-ratio]:checked+.course-faqs-box{background:rgba(241,242,248,0.4)}input[name=course-faqs-box-ratio]:checked+.course-faqs-box .course-faqs-box__title{color:var(--lp-primary-color)}input[name=course-faqs-box-ratio]:checked+.course-faqs-box .course-faqs-box__title::after{content:"\f077"}@-webkit-keyframes course-faqs-box__content-inner-transform{from{opacity:0;-webkit-transform:translateX(-5%);-moz-transform:translateX(-5%);-ms-transform:translateX(-5%);-o-transform:translateX(-5%);transform:translateX(-5%)}to{opacity:1;-webkit-transform:translateX(0);-moz-transform:translateX(0);-ms-transform:translateX(0);-o-transform:translateX(0);transform:translateX(0)}}@keyframes course-faqs-box__content-inner-transform{from{opacity:0;-webkit-transform:translateX(-5%);-moz-transform:translateX(-5%);-ms-transform:translateX(-5%);-o-transform:translateX(-5%);transform:translateX(-5%)}to{opacity:1;-webkit-transform:translateX(0);-moz-transform:translateX(0);-ms-transform:translateX(0);-o-transform:translateX(0);transform:translateX(0)}}@media screen and (max-width:1300px){body.course-item-popup #learn-press-course-curriculum{width:300px}body.course-item-popup #learn-press-course-curriculum .progress-bg{width:40px}body.course-item-popup #content-item-nav{right:300px}body.course-item-popup .section-desc{display:none}}@media screen and (max-width:1200px){body.course-item-popupx #learn-press-course-curriculum{width:300px}body.course-item-popupx #content-item-nav{right:300px}}@media screen and (max-width:768px){body.course-item-popup .course-curriculum{width:200px}body.course-item-popup #content-item-nav{right:200px}body.course-item-popup.wpadminbar #learn-press-content-item,body.course-item-popup.wpadminbar #learn-press-course-curriculum{top:106px}.learn-press-course-results-progress{margin-left:0}.learn-press-course-results-progress .items-progress,.learn-press-course-results-progress .course-progress{float:none;width:100%;margin-left:0;margin-bottom:20px}}.lp-quiz-buttons{margin-bottom:20px;display:block;clear:both;content:""}.quiz-progress{margin-bottom:30px;background:#e7f7ff}.quiz-progress .progress-items{display:flex}.quiz-progress .progress-items .progress-item{position:relative;color:#777;font-size:15px;flex:1}.quiz-progress .progress-items .progress-item .progress-number,.quiz-progress .progress-items .progress-item .progress-label{display:block;line-height:1;text-align:center}.quiz-progress .progress-items .progress-item .progress-number{margin:15px 0 10px 0;font-size:20px}.quiz-progress .progress-items .progress-item .progress-label{margin-bottom:15px;font-size:14px}.quiz-progress .progress-items .progress-item i{display:none;float:right;width:60px;height:60px;color:#fff;background:#00adff;font-size:30px;line-height:60px;text-align:center}.quiz-progress .progress-items .progress-item::after{display:block;clear:both;content:""}.answer-options{margin:0;padding:0;list-style:none}.answer-options .answer-option{display:flex;overflow:hidden;position:relative;margin:0 0 18px 0;padding:10px;color:#777;background:#f5f5f5;font-size:20px;cursor:pointer;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-transition:background linear .25s;-moz-transition:background linear .25s;-ms-transition:background linear .25s;-o-transition:background linear .25s;transition:background linear .25s}.answer-options .answer-option .option-title{display:table-cell;font-size:smaller}.answer-options .answer-option .option-title .option-title-content{display:inline-block;vertical-align:middle}.answer-options .answer-option .option-title::before{position:absolute;top:0;bottom:0;right:0;width:3px;background:#ddd;content:"";-webkit-transition:background linear .25s;-moz-transition:background linear .25s;-ms-transition:background linear .25s;-o-transition:background linear .25s;transition:background linear .25s}.answer-options .answer-option input[type=checkbox],.answer-options .answer-option input[type=radio]{-webkit-appearance:initial;-moz-appearance:initial;position:relative;z-index:10;width:35px;min-width:35px;height:35px;margin:0 3px 0 10px;border:1px solid #cfcfcf;background:#f9fafc;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.answer-options .answer-option input[type=checkbox]:focus,.answer-options .answer-option input[type=radio]:focus{outline:0}.answer-options .answer-option input[type=checkbox]::after,.answer-options .answer-option input[type=radio]::after{margin-top:-10px;position:absolute;top:18px;right:9px;box-sizing:content-box;opacity:0;color:#3db748;font-family:"Font Awesome 5 Free";font-weight:900;font-size:16px;content:"\f00c"}.answer-options .answer-option input[type=checkbox]:checked ~ .option-title .option-title-content,.answer-options .answer-option input[type=radio]:checked ~ .option-title .option-title-content{position:relative}.answer-options .answer-option input[type=checkbox]:checked ~ .option-title::before,.answer-options .answer-option input[type=radio]:checked ~ .option-title::before{background:#00adff}.answer-options .answer-option input[type=checkbox]:checked::after,.answer-options .answer-option input[type=radio]:checked::after{opacity:1}.answer-options .answer-option input[type=checkbox]::after{margin-top:0;top:50%;right:50%;-webkit-transform:translate(50%,-50%);-moz-transform:translate(50%,-50%);-ms-transform:translate(50%,-50%);-o-transform:translate(50%,-50%);transform:translate(50%,-50%)}.answer-options .answer-option input[type=radio]{-webkit-border-radius:50%;-moz-border-radius:50%;border-radius:50%}.answer-options .answer-option input[type=radio]::before{border-radius:50%}.answer-options .answer-option .option-title{margin:0}.answer-options .answer-option:hover{background:#e1f5ff}.answer-options .answer-option.answer-correct{background:#e1f5ff}.answer-options .answer-option.answer-correct input[type=radio]:checked ~ .option-title::before,.answer-options .answer-option.answer-correct input[type=checkbox]:checked ~ .option-title::before{background:#e1f5ff}.answer-options .answer-option.answered-correct input[type=radio]:checked ~ .option-title::before,.answer-options .answer-option.answered-correct input[type=checkbox]:checked ~ .option-title::before{background:#00adff}.answer-options .answer-option.answered-wrong input[type=radio]::before,.answer-options .answer-option.answered-wrong input[type=radio]::after,.answer-options .answer-option.answered-wrong input[type=checkbox]::before,.answer-options .answer-option.answered-wrong input[type=checkbox]::after{border-color:red}.answer-options .answer-option.answered-wrong input[type=radio]:checked ~ .option-title::before,.answer-options .answer-option.answered-wrong input[type=checkbox]:checked ~ .option-title::before{background:red}button[data-counter]{position:relative}button[data-counter]::after{padding-right:5px;content:"(+" attr(data-counter) ")"}.quiz-result{max-width:320px;margin:20px auto 48px;text-align:center}.quiz-result .result-heading{display:none}.quiz-result.passed .result-message{background:#3bb54a}.quiz-result.passed .result-message::after{content:"\f00c"}.quiz-result .result-message{margin-bottom:30px;padding:10px 0 !important;color:#fff;background:#f02425;font-size:16px;line-height:22px;font-weight:400;display:flex;align-items:center;justify-content:center;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.quiz-result .result-message::after{margin-right:10px;font-family:"Font Awesome 5 Free";font-weight:900;content:"\f00d"}.quiz-result .result-grade .result-achieved,.quiz-result .result-grade .result-require{display:inline-block;margin:0 auto}.quiz-result .result-grade .result-achieved{padding-bottom:7px;border-bottom:1px solid #999;color:#333;font-size:28px;font-weight:500;line-height:1}.quiz-result .result-grade .result-require{display:block;padding-top:5px;color:#666;font-size:16px;font-weight:400;line-height:1}.quiz-result .result-grade .result-message{font-size:14px}.quiz-result.passed .result-achieved{color:#04adff}.quiz-result.passed .result-message strong{color:#04adff}.quiz-result .result-statistic{margin:0;padding:0;text-align:right;list-style:none}.quiz-result .result-statistic .result-statistic-field{display:flex;margin:0}.quiz-result .result-statistic .result-statistic-field+li{border-top:1px dashed #ccc}.quiz-result .result-statistic .result-statistic-field span,.quiz-result .result-statistic .result-statistic-field p{margin:0;flex:1}.quiz-result .result-statistic .result-statistic-field span{color:#666;font-size:16px;font-weight:400;line-height:35px}.quiz-result .result-statistic .result-statistic-field span::before{display:inline-block;width:15px;margin-left:10px;color:var(--lp-primary-color);font-family:"Font Awesome 5 Free";font-size:16px;font-weight:900}.quiz-result .result-statistic .result-statistic-field p{color:#333;font-size:16px;font-weight:500;line-height:35px;text-align:left}.quiz-result .result-statistic .result-statistic-field.result-time-spend label::before{font-weight:400;content:"\f017"}.quiz-result .result-statistic .result-statistic-field.result-point label::before{font-weight:400;content:"\f005"}.quiz-result .result-statistic .result-statistic-field.result-questions label::before{font-weight:400;content:"\f059"}.quiz-result .result-statistic .result-statistic-field.result-questions-correct label::before{color:#3db748;content:"\f00c"}.quiz-result .result-statistic .result-statistic-field.result-questions-wrong label::before{color:#f02425;content:"\f00d"}.quiz-result .result-statistic .result-statistic-field.result-questions-skipped label::before{color:#ddd;content:"\f2f5"}.quiz-status{position:sticky;z-index:99;top:0;left:0;right:0;margin:0 0 35px 0}.quiz-status>div{display:flex;box-sizing:border-box;width:100%;max-width:792px;height:60px;margin:0 auto;padding:5px 30px 5px 10px;border-radius:4px;background:var(--lp-primary-color);justify-content:center;align-items:center}@media(max-width:480px){.quiz-status>div{display:block;height:auto;text-align:center;padding:15px}.quiz-status>div .questions-index{margin-bottom:10px}}.quiz-status>div>div{display:flex;flex-direction:row-reverse;flex:0 0 50%;align-items:center}@media(max-width:480px){.quiz-status>div>div{justify-content:center}}.quiz-status>div .current-point{display:none}.quiz-status .questions-index{display:inline-block;color:#666;font-size:16px;font-weight:400;line-height:26px}.quiz-status .questions-index span{color:#333;font-weight:500}.quiz-status .countdown{position:relative;min-width:120px;margin-left:5px;padding:12px 29px;color:#333;background:#fff;font-size:14px;font-weight:400;line-height:1;text-align:center}.quiz-status .countdown .fas{position:absolute;top:50%;right:10px;color:#333;font-size:14px;transform:translateY(-50%)}.quiz-status .countdown .clock{display:none;width:40px;height:40px}.quiz-status .countdown .clock::before{position:absolute;width:40px;height:40px;border:4px solid #b1c1e6;border-radius:50%;content:"";-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.quiz-status .countdown .clock .circle-progress-bar{display:inline-block;position:relative;width:40px;height:40px;stroke:#5383f7}.quiz-status .countdown .clock .circle-progress-bar .circle-progress-bar__circle{transition:.35s stroke-dashoffset;transform:rotate(90deg);transform-origin:50% 50%}.quiz-status .countdown .clock.x .circle-progress-bar__circle{stroke:red}.quiz-status .submit-quiz button{margin:0 10px 0 0;border:0;border-radius:0;background:#fff;text-transform:uppercase}.quiz-status .submit-quiz button:hover{background:var(--lp-secondary-color)}.quiz-status.submitting .submit-quiz button{background:#ddd}.question-numbers{text-align:center;list-style:none}.question-numbers li{display:inline-block;position:relative;margin-bottom:3px}.question-numbers li a{display:block;min-width:20px;padding:8px;border:1px solid #ddd;color:#999;background:#f5f5f5;box-shadow:none;font-size:12px;line-height:1}.question-numbers li a span{vertical-align:middle}.question-numbers li a:hover{border:1px solid #3880a2;color:#fff;background:#00adff}.question-numbers li.current a{border-color:#3880a2;color:#fff !important;background:#00adff}.question-numbers li.current.skipped::after{background:#fff}.question-numbers li.answered a::after{margin-right:3px;font-family:"Font Awesome 5 Free";font-size:8px;vertical-align:middle}.question-numbers li.answered.answered-wrong a{color:red}.question-numbers li.answered.answered-true a{color:#00adff}.question-numbers li.answered.answered-true.current a{color:#fff}.question-numbers li.skipped::after{position:absolute;bottom:3px;right:50%;width:10px;height:4px;margin-right:-5px;border-radius:2px;background:#aaa;content:""}.quiz-intro{display:flex;margin:0 0 20px;padding:0;list-style:none;flex-flow:row wrap}@media(max-width:768px){.quiz-intro{padding-left:10px;padding-right:10px;justify-content:space-between}}.quiz-intro-item{display:flex;margin:0 0 0 40px;align-items:center}@media(max-width:768px){.quiz-intro-item{margin:0 0 0 20px}}.quiz-intro-item::before{position:relative;top:-2px;margin-left:10px;color:var(--lp-primary-color);font-family:"Font Awesome 5 Free";font-size:16px;font-weight:900}.quiz-intro-item--passing-grade{order:2}.quiz-intro-item--passing-grade::before{content:"\f012"}.quiz-intro-item--questions-count{order:1}.quiz-intro-item--questions-count::before{content:"\f12e"}.quiz-intro-item--duration{order:2}.quiz-intro-item--duration::before{content:"\f017"}.quiz-intro-item__title{margin:0;padding:0 0 0 8px;color:#333;font-size:16px;font-weight:300;line-height:1.7}.quiz-intro-item__content{color:#222;font-size:16px;font-weight:400}.question-explanation-content,.question-hint-content{margin-bottom:20px;padding:10px 15px;background:#f5f5f5}.redo-quiz button[type=submit]{content:attr(data-counter)}.circle-bar{position:relative;width:300px;height:300px;border-color:#ddd}.circle-bar::before{position:absolute;z-index:0;top:0;right:0;box-sizing:border-box;width:100%;height:100%;border:10px solid #ddd;border-radius:50%;content:""}.circle-bar .before,.circle-bar .after{position:absolute;z-index:0;top:0;right:0;box-sizing:border-box;width:100%;height:100%;border:10px solid #14c4ff;border-radius:50%;transform:rotate(-45deg)}.circle-bar .before{border-bottom-color:transparent;border-right-color:transparent;transform:rotate(-45deg)}.circle-bar .after{border-color:#14c4ff;border-top-color:transparent;border-left-color:transparent;transform:rotate(-45deg)}.circle-bar.bg50 .after{z-index:10;border-bottom-color:inherit;border-right-color:inherit;transform:rotate(-45deg)}.lp-quiz-buttons .complete-quiz,.lp-quiz-buttons .back-quiz,.lp-quiz-buttons .review-quiz{float:left}.quiz-result .result-grade{display:flex;flex-direction:column;position:relative;box-sizing:border-box;height:200px;margin-bottom:30px;padding:50px;justify-content:center;align-items:center;-webkit-transform:none !important;-moz-transform:none !important;-ms-transform:none !important;-o-transform:none !important;transform:none !important}.quiz-result .result-grade::before,.quiz-result .result-grade svg{position:absolute;top:0;right:50%;width:200px;height:200px;margin-right:-100px;-webkit-border-radius:50%;-moz-border-radius:50%;border-radius:50%}.quiz-result .result-grade::before{box-sizing:border-box;padding:30px;border:10px solid #ccc;content:""}.quiz-result .result-grade svg{-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg)}.quiz-result .result-grade svg circle{stroke:var(--lp-primary-color)}.quiz-result.passed .result-grade svg{-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg)}.quiz-result.passed .result-grade .result-achieved{color:#333}.quiz-result.passed .result-grade .result-message strong{color:#4caf50}.quiz-questions .question{margin-bottom:60px}.question .answer-option{padding:0;_border:2px solid #d9e0f1;background:#fff}.question .answer-option input[type=radio],.question .answer-option input[type=checkbox]{position:absolute;top:50%;margin:-19px 10px 0 0;border-color:#d9e0f1;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.question .answer-option input[type=radio]::after,.question .answer-option input[type=checkbox]::after{border-color:#d9e0f1}.question .answer-option input[type=radio]:disabled,.question .answer-option input[type=checkbox]:disabled{border-color:#ddd;background:#f9f9f9}.question .answer-option input[type=radio]:disabled::after,.question .answer-option input[type=checkbox]:disabled::after{border-color:#ddd}.question .answer-option input[type=radio]:checked:not(:disabled)::after,.question .answer-option input[type=checkbox]:checked:not(:disabled)::after{border-color:#99aee4}.question .answer-option input[type=radio]{-webkit-border-radius:50%;-moz-border-radius:50%;border-radius:50%}.question .answer-option input[type=radio]::before{border-radius:50%}.question .answer-option .option-title{display:flex;width:100%;margin:0;padding:14px 65px 11px 10px;border:1px solid #ccc;color:#666;background:#fff;font-size:16px;font-weight:300;line-height:26px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.question .answer-option .option-title::after{display:inline-block;visibility:hidden !important;content:"."}.question .answer-option .option-title:hover{background:#f9f9f9}.question .answer-option .option-title::before{display:none}.question .answer-option.answer-correct .option-title{border-color:#4caf50}.question .answer-option.answered-wrong .option-title{border-color:#ff6423}.question .question-title{display:block;margin-top:0;margin-bottom:18px;color:#333;font-size:18px;font-weight:500}.question .question-title .edit-link{float:left;font-size:14px;font-weight:normal}.question .question-content{margin-bottom:30px;color:#666;font-size:16px;font-weight:300;line-height:26px}.question .question-content img{width:100%;max-width:100%}.question .question-response{margin-bottom:10px;font-size:14px}.question .question-response .label{display:inline-block;margin:0 0 0 5px;padding:8px 10px;border-radius:4px;color:#fff;line-height:1}.question .question-response .point{display:inline-block}.question .question-response.correct .label{background:#4caf50}.question .question-response.incorrect .label{background:#ff6423}.question .question-index{display:inline-block;margin:0 0 0 5px}.question .btn-show-hint{position:relative;margin:0 10px 0 0;padding:0;outline:0;color:#00adff;background:transparent;font-size:0;text-decoration:none}.question .btn-show-hint::before{font-family:"Font Awesome 5 Free";font-size:18px;content:"\f059"}.question .btn-show-hint:hover span{position:absolute;bottom:100%;right:0;width:auto;padding:6px 9px;border-radius:2px;color:#333;background:#eee;font-size:14px;font-weight:400;line-height:1;white-space:nowrap;text-transform:none}.question.question-fill_in_blanks .blanks .blank-input-wrap{display:inline-block}.question.question-fill_in_blanks .blanks .blank-block{margin-bottom:20px}.question.question-fill_in_blanks .blanks .blank-input{display:inline-block;width:auto;min-width:50px;margin:0 10px;padding:0 10px;border:0;border-bottom:1px dashed #ddd;text-align:center;white-space:nowrap}.question.question-fill_in_blanks .blanks .blank-input br{display:none}.question.question-fill_in_blanks .blanks .blank-input>*{display:inline;white-space:nowrap}.question.question-fill_in_blanks .blanks .blank-select{display:inline-block;height:30px;margin-right:4px;padding:1px}.question.question-fill_in_blanks .blanks .blank-fills{display:inline-block}.question.question-fill_in_blanks .blanks .blank-fills code{margin:0 5px;padding:0 6px;background:#ddd;line-height:1;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.question.question-fill_in_blanks .blanks.ordered{list-style-position:inside}.question.question-fill_in_blanks .blanks.one-paragraph{line-height:3}.lp-sort-bg label.option-title{background:rgba(255,182,6,0.68) !important}.learn-press-message.fixed{position:fixed;top:32px;right:0;left:0;background:rgba(0,173,255,0.6);text-align:center;z-index:100;color:#FFF;padding:10px}.learn-press-message.fixed[data-delay-in]{display:none}.lp-archive-courses ul{list-style-type:revert;padding:0 1em 23px 0}.lp-archive-courses ul.learn-press-breadcrumb,.lp-archive-courses ul.course-nav-tabs{list-style:none;padding:0}@media(max-width:768px){.lp-archive-courses ul.learn-press-breadcrumb,.lp-archive-courses ul.course-nav-tabs{padding-right:15px;padding-left:15px}}.lp-archive-courses ul,.lp-archive-courses ol{list-style-type:decimal;list-style-position:inside;padding:0 0 23px}.lp-archive-courses ol ul{padding:2px 35px 2px 0}.lp-archive-courses ol ol{padding:2px 20px 2px 0}.lp-archive-courses thead th,.lp-archive-courses tr th{padding:9px 24px}.lp-archive-courses tr td{border-top:1px solid #eee;padding:6px 24px}.learnpress #left-area ul,.learnpress .entry-content ul,.learnpress .et-l--body ul,.learnpress .et-l--footer ul,.learnpress .et-l--header ul{padding:0 !important;list-style:none !important}.learnpress.dt-the7 .learn-press-filters{margin-bottom:20px}.learnpress.dt-the7 .learn-press-courses[data-size="3"] .course{width:50%}.bridge.learnpress .lp-archive-courses{margin-top:100px}.bridge.learnpress .lp-archive-courses ul.learn-press-breadcrumb{padding-top:45px}.bridge.learnpress .content{z-index:110}.bridge.learnpress .comment-respond .comment-form{margin:0}.bridge.learnpress .comment-respond .comment-form>p,.bridge.learnpress .comment-respond .comment-form>div{padding:0}.bridge.learnpress.learnpress-profile .content{z-index:100}.bridge.learnpress #learn-press-item-comments{background:#f6f6f6}.learnpress.ast-separate-container .ast-article-single{padding-right:15px;padding-left:15px}body.learnpress-page.twentysixteen #primary .lp-entry-content{float:none;width:auto;margin:0 15%}body.learnpress-page.twentyfifteen .course-summary-sidebar .widget{width:100%;padding:0}body.learnpress-page.twentysixteen .entry-footer{display:none}body.learnpress-page.twentysixteen .lp-entry-content{float:none;width:auto}body.learnpress-page.twentyseventeen #primary article.type-page{width:100%}@media screen and (min-width:61.5625em){body.twentysixteen.learnpress-page .entry-footer{display:none}body.twentysixteen.learnpress-page .lp-entry-content{float:none;width:auto}body:not(.search-results) article:not(.type-page) .entry-footer{display:none}body:not(.search-results) article:not(.type-page) .lp-entry-content{float:none;width:auto}}body.twentyseventeen.learnpress-page #primary article.page .entry-header,body.twentyseventeen.learnpress-page #primary article.page .lp-entry-content{width:100%;float:none}@media screen and (min-width:48em){body.twentyseventeen.learnpress-page #primary article.page .entry-header,body.twentyseventeen.learnpress-page #primary article.page .lp-entry-content{width:100%;float:none}}.learn-press-tip{display:none;margin:0 5px;color:#444;font-size:13px;font-style:normal;line-height:1;vertical-align:baseline;cursor:pointer}.learn-press-tip.ready{display:inline-block}.learn-press-tip::before{font-family:"Font Awesome 5 Free";content:"\f059"}.learn-press-tip:hover{opacity:.8}.learn-press-tip-floating{position:absolute;z-index:9999999;min-width:20px;margin-right:-1px;padding:.618em 1em;color:#fff;background:#383838;font-size:12px;line-height:1.2em;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.learn-press-tip-floating>*{font-size:12px}.learn-press-tip-floating .close{display:inline-block;position:absolute;top:-8px;left:-8px;width:16px;height:16px;border:1px solid #fff;color:#fff;background:#468fbc;line-height:16px;text-align:center;cursor:pointer;-webkit-border-radius:50%;-moz-border-radius:50%;border-radius:50%}.learn-press-tip-floating .close::before{font-family:"Font Awesome 5 Free";content:"\f00d"}.learn-press-tip-floating p{margin:0}.learn-press-tip-floating::before{position:absolute;bottom:-6px;right:50%;width:0;height:0;margin-right:-6px;border:6px solid transparent;border-top-color:#383838;border-bottom-width:0;content:""}body.lp-preview.admin-bar #learn-press-content-item{top:32px !important}body.lp-preview #learn-press-course-curriculum{display:none}body.lp-preview #learn-press-content-item{top:0 !important;right:0 !important}@-webkit-keyframes rotating4{from{-webkit-transform:rotate(0);-o-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(-360deg);-o-transform:rotate(-360deg);transform:rotate(-360deg)}}@keyframes rotating4{from{-ms-transform:rotate(0);-moz-transform:rotate(0);-webkit-transform:rotate(0);-o-transform:rotate(0);transform:rotate(0)}to{-ms-transform:rotate(-360deg);-moz-transform:rotate(-360deg);-webkit-transform:rotate(-360deg);-o-transform:rotate(-360deg);transform:rotate(-360deg)}}@-webkit-keyframes animation4{from{right:-40%;width:40%}to{right:100%;width:10%}}@keyframes animation4{from{right:-40%;width:40%}to{right:100%;width:10%}}#popup_container{opacity:0;transform:scale(0.5)}body.confirm #popup_overlay{z-index:999998 !important}body.confirm #popup_container{z-index:999999 !important;max-width:90% !important;min-width:300px !important;padding:10px !important;background:#f5f5f5;transition:opacity .25s;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}body.confirm #popup_container #popup_title{display:none !important}body.confirm #popup_container #popup_message{margin:-10px;background:#FFF;padding:20px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}body.confirm #popup_container .close{position:absolute;top:3px;left:10px}body.confirm #popup_container #popup_panel{margin-top:20px;text-align:center}body.confirm #popup_container #popup_panel button,body.confirm #popup_container #popup_panel input[type=button],body.confirm #popup_container #popup_panel input[type=submit]{height:30px;line-height:30px;padding:0 25px}body.confirm #popup_container #popup_cancel{display:none}body.confirm #popup_container.ready{opacity:1;transform:scale(1)}a{text-decoration:none}.lp-content-area{width:100%;max-width:1170px;margin:0 auto}@media(max-width:1024px){.lp-content-area{padding-left:15px;padding-right:15px}}.lp-content-area::after,.lp-content-area::before{display:table;clear:both;content:""}.lp-archive-courses{width:100%;scroll-margin:30px}.lp-archive-courses.loading ul.learn-press-courses{position:relative}.lp-archive-courses.loading ul.learn-press-courses::before,.lp-archive-courses.loading ul.learn-press-courses::after{content:"";position:absolute;top:0;bottom:0;right:15px;left:15px}.lp-archive-courses.loading ul.learn-press-courses::after{z-index:3;background:#f3f3f3;background:linear-gradient(-90deg,hsla(0,0%,74.5%,0.2) 25%,hsla(0,0%,50.6%,0.24) 37%,hsla(0,0%,74.5%,0.2) 63%);background-size:400% 100%;list-style:none;animation:lp-skeleton-loading 1.4s ease infinite}.lp-archive-courses.loading ul.learn-press-courses::before{z-index:2;opacity:.8%;background:#fff}.lp-archive-courses form[name=search-course]{position:relative;margin-bottom:20px}.lp-archive-courses form[name=search-course] .search-course-input{width:100%;padding:12px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.lp-archive-courses form[name=search-course] .search-course-button{position:absolute;top:1px;left:1px;bottom:1px;height:auto;padding:15px;line-height:1px}.lp-archive-courses .learn-press-courses-header{float:right;padding-top:4px}.lp-archive-courses .learn-press-courses-header h1{margin:0;font-size:30px;font-weight:600}@media(max-width:767px){.lp-archive-courses .learn-press-courses-header{margin-bottom:20px}}.lp-archive-courses .course-item{flex-direction:column;display:flex;transition:all .3s}.lp-archive-courses .course-item:hover .course-thumbnail .thumbnail::before{opacity:1}.lp-archive-courses .course-item:hover .course-thumbnail a img{transform:scale(1.05)}.lp-archive-courses .course-item:hover .course-wishlist{opacity:1}.lp-archive-courses .course-item .course-wishlist.filled{opacity:1}.lp-archive-courses .course-item .course-instructor{float:right;margin-bottom:16px;font-size:14px;font-weight:300;line-height:25px;text-transform:capitalize}.lp-archive-courses .course-item .course-instructor a{color:#059de9}.lp-archive-courses .course-item .course-instructor a:hover{color:var(--lp-primary-color)}.lp-archive-courses .course-content{position:relative;border-top:0}.lp-archive-courses .course-content .course-permalink{display:-webkit-box;clear:both;overflow:hidden;position:relative;border:0;color:#fff;text-decoration:none;text-transform:none;-webkit-line-clamp:2;-webkit-box-orient:vertical;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.lp-archive-courses .course-content .course-permalink:focus{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.lp-archive-courses .course-content .course-review{display:none}.lp-archive-courses .course-content .course-categories,.lp-archive-courses .course-content .course-tags{display:block;font-size:14px;font-weight:300}.lp-archive-courses .course-content .course-categories{float:right;position:relative;margin-left:10px;margin-bottom:16px}.lp-archive-courses .course-content .course-categories a{display:inline-block;display:none;margin:0 10px;color:#fff;text-decoration:none}.lp-archive-courses .course-content .course-categories a:first-child{display:block;margin-right:0;padding:2px 16px;background:var(--lp-primary-color)}.lp-archive-courses .course-content .course-categories a:hover{color:#333}.lp-archive-courses .course-content .course-categories::after{position:absolute;top:50%;left:-2px;width:1px;height:12px;opacity:.5;background:#999;content:"";transform:translate(0,-50%)}.lp-archive-courses .course-content .course-info{color:#666;font-size:14px;font-weight:300}.lp-archive-courses .course-content .course-info>span{display:block}.lp-archive-courses .course-content .course-info .course-price{float:left}.lp-archive-courses .course-content .course-info .course-price .origin-price,.lp-archive-courses .course-content .course-info .course-price .price{color:#333;font-size:16px;font-weight:600}.lp-archive-courses .course-content .course-info .course-price .origin-price{margin-left:10px;color:#666;font-size:14px;font-weight:300;text-decoration:line-through}.lp-archive-courses .course-content .course-info .course-instructor{float:left}.lp-archive-courses .course-content .course-info::after{display:block;clear:both;content:""}.lp-archive-courses .course-content .course-excerpt{display:-webkit-box;overflow:hidden;margin-bottom:28px;color:#666;font-size:16px;font-weight:300;line-height:26px;-webkit-line-clamp:2;-webkit-box-orient:vertical}.lp-archive-courses .course-content .separator{display:none}.lp-archive-courses .course-wrap-thumbnail{overflow:hidden;position:relative}.lp-archive-courses .course-wrap-thumbnail .lp-badge.featured{position:absolute;z-index:100;top:28px;right:-110px;width:300px;text-align:center;transform:rotate(45deg)}.lp-archive-courses .course-wrap-thumbnail .course-wishlist{position:absolute;z-index:2;top:6px;left:6px;opacity:0;color:#fff;cursor:pointer}.lp-archive-courses .course-wrap-thumbnail .course-wishlist::before{font-family:"Font Awesome 5 Free";font-weight:900;content:"\f004"}.lp-archive-courses .course-wrap-thumbnail .course-wishlist .course-wishlist__btn{display:none}.lp-archive-courses .course-wrap-thumbnail .course-wishlist:hover{color:var(--lp-primary-color)}.lp-archive-courses .course-wrap-thumbnail:hover::before{opacity:1}.lp-archive-courses .course-wrap-thumbnail:hover .course-thumbnail a img{transform:scale(1.05)}.lp-archive-courses .course-wrap-thumbnail:hover .course-wishlist{opacity:1}.lp-archive-courses .course-thumbnail a{display:block;overflow:hidden}.lp-archive-courses .course-thumbnail .thumbnail{margin:0;padding:0;border:0;border-radius:unset;line-height:unset}.lp-archive-courses .course-thumbnail .thumbnail::before{position:absolute;z-index:1;top:0;left:0;bottom:0;right:0;opacity:0;background:rgba(0,0,0,0.5);content:"";transition:all .3s}.lp-archive-courses .course-thumbnail img{display:block;width:100%;height:auto;transition:all .5s ease;transform:scale(1)}.lp-archive-courses .course-title{margin:0;padding:0;color:#333;font-size:16px;font-weight:600;line-height:24px}.lp-archive-courses .course-title:hover{color:var(--lp-primary-color)}@media(min-width:769px){.lp-archive-courses .course-summary-content .course-info-left{width:calc(100% - 330px)}}.lp-archive-courses .course-summary-content .course-title{margin-bottom:42px;color:#fff;font-size:1.5rem;font-weight:500;line-height:1}.lp-archive-courses .course-summary-content .course-meta.course-meta-secondary{margin-bottom:0}@media(max-width:768px){.lp-archive-courses .course-summary-content{width:100%}}.lp-archive-courses .course-detail-info{padding:40px 0 10px 0;color:#fff;background:var(--lp-secondary-color);position:relative}.lp-archive-courses .course-detail-info::before,.lp-archive-courses .course-detail-info::after{content:"";width:50%;height:100%;background:var(--lp-secondary-color);position:absolute;top:0}.lp-archive-courses .course-detail-info::before{left:100%;right:auto}.lp-archive-courses .course-detail-info::after{right:100%;left:auto}.lp-archive-courses .course-meta__pull-left .meta-item{display:flex;height:46px;margin-left:50px;font-size:16px;font-weight:300;text-transform:capitalize}.lp-archive-courses .course-meta__pull-left .meta-item span{padding-left:4px;padding-right:0}.lp-archive-courses .course-meta__pull-left .meta-item:last-child{margin-left:0}.lp-archive-courses .course-meta__pull-left .meta-item::before{margin-left:8px;color:var(--lp-primary-color);font-family:"Font Awesome 5 Free";font-weight:900}.lp-archive-courses .course-meta__pull-left .meta-item .meta-item__image{margin-left:10px;flex:0 0 46px}.lp-archive-courses .course-meta__pull-left .meta-item .meta-item__image img{overflow:hidden;position:relative;width:46px;height:46px;border-radius:50%}.lp-archive-courses .course-meta__pull-left .meta-item.meta-item-duration::before{content:"\f017"}.lp-archive-courses .course-meta__pull-left .meta-item.meta-item-level::before{content:"\f012"}.lp-archive-courses .course-meta__pull-left .meta-item.meta-item-lesson::before{content:"\f0c5"}.lp-archive-courses .course-meta__pull-left .meta-item.meta-item-quiz::before{content:"\f12e"}.lp-archive-courses .course-meta__pull-left .meta-item.meta-item-student::before{content:"\f501"}@media(max-width:1024px){.lp-archive-courses .course-meta__pull-left .meta-item{margin-left:30px}}@media(max-width:767px){.lp-archive-courses .course-meta__pull-left .meta-item{margin-left:0}}.lp-archive-courses .course-meta__pull-left .meta-item__value label{margin:0;color:#999;font-size:14px;font-weight:300;line-height:1.5}.lp-archive-courses .course-meta__pull-left .meta-item__value>div{line-height:1.5}.lp-archive-courses .course-meta__pull-left .meta-item__value>div a{color:#fff;font-size:16px;font-weight:400;text-transform:capitalize}.lp-archive-courses .course-meta__pull-left .meta-item__value>div a:hover{color:var(--lp-primary-color)}.lp-archive-courses .course-meta__pull-left .meta-item-categories{align-items:center}.lp-archive-courses .course-meta__pull-left .meta-item-categories::before{margin-left:10px;font-size:36px;content:"\f02e"}.lp-archive-courses .course-meta__pull-left .meta-item-categories .meta-item__value div span{padding:0 5px}.lp-archive-courses .course-meta__pull-left .meta-item-categories .meta-item__value div a:hover{color:var(--lp-primary-color)}.lp-archive-courses .course-meta__pull-left .meta-item-review .meta-item__value{display:flex;flex-direction:column-reverse;justify-content:flex-end;align-items:flex-end}.lp-archive-courses .course-meta__pull-left .meta-item-review .meta-item__value .review-stars-rated{margin-bottom:0;line-height:1}@media(max-width:767px){.lp-archive-courses .course-meta__pull-left{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:20px}}.lp-archive-courses .course-meta-primary{margin-bottom:36px}.lp-archive-courses .course-meta-primary .meta-item-categories::before{font-weight:400}.lp-archive-courses .lp-entry-content{display:flex;flex-direction:row}.lp-archive-courses .lp-entry-content .entry-content-left{width:calc(100% - 300px);max-width:100%;margin:0;padding-left:40px;padding-top:60px}@media(max-width:768px){.lp-archive-courses .lp-entry-content .entry-content-left{width:100%;padding-left:0;margin-bottom:50px}}@media(max-width:768px){.lp-archive-courses .lp-entry-content{flex-direction:column}}.lp-archive-courses .course-summary-sidebar{width:300px;max-width:100%;margin-top:-272px}@media(max-width:768px){.lp-archive-courses .course-summary-sidebar{width:100%;margin-top:0}.lp-archive-courses .course-summary-sidebar .course-summary-sidebar__inner{width:100%}}@media(max-width:767px){.lp-archive-courses .course-summary-sidebar{width:100%;padding-right:0}}.lp-archive-courses .course-summary-sidebar__inner{width:300px}.lp-archive-courses .course-summary-sidebar__inner .course-sidebar-top{box-shadow:0 15px 20px 0 rgba(0,0,0,0.05)}.lp-archive-courses .course-summary-sidebar__inner .course-sidebar-secondary{margin-top:30px;padding:0}.lp-archive-courses .course-summary-sidebar__inner .learn-press-course-wishlist{color:#fff;background:transparent !important;font-size:0}.lp-archive-courses .course-summary-sidebar__inner .learn-press-course-wishlist.on,.lp-archive-courses .course-summary-sidebar__inner .learn-press-course-wishlist:hover{color:var(--lp-primary-color)}.lp-archive-courses .course-summary-sidebar__inner .learn-press-course-wishlist::before{font-family:"Font Awesome 5 Free";font-size:16px;font-weight:900;content:"\f004"}.lp-archive-courses .course-summary-sidebar__inner>div{overflow:hidden;padding:20px;background:#fff}.lp-archive-courses .course-summary-sidebar__inner>div ul{list-style:none}.lp-archive-courses .course-summary-sidebar__inner>div ul li a{color:#666;font-size:16px;font-weight:300;line-height:24px}.lp-archive-courses .course-summary-sidebar__inner>div ul li a:hover{color:var(--lp-primary-color);box-shadow:unset}.learn-press-courses{clear:both;margin:0 -15px;padding:0 !important;min-height:300px;list-style:none;position:relative;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-moz-flex;display:-webkit-flex;display:flex;-webkit-flex-wrap:wrap;flex-wrap:wrap}.learn-press-courses .course{width:25%;margin:0 0 60px 0;box-shadow:none;list-style:none}.learn-press-courses[data-layout=list]{margin:0}.learn-press-courses[data-layout=list] .course{display:flex;width:100%;padding:24px;border:1px solid rgba(204,204,204,0.3);border-radius:4px;flex-wrap:wrap;justify-content:flex-end}@media(max-width:767px){.learn-press-courses[data-layout=list] .course{padding:15px}}.learn-press-courses[data-layout=list] .course-item{flex-direction:row;width:100%;border:unset;justify-content:space-between}@media(max-width:767px){.learn-press-courses[data-layout=list] .course-item{flex-direction:column}}.learn-press-courses[data-layout=list] .course-content{float:left;width:calc(64.2% - 76px);padding-top:5px}@media(max-width:1200px){.learn-press-courses[data-layout=list] .course-content{width:calc(64.2% - 40px)}}@media(max-width:1200px){.learn-press-courses[data-layout=list] .course-content{width:calc(64.2% - 25px)}}@media(max-width:767px){.learn-press-courses[data-layout=list] .course-content{width:100%;padding-top:20px}}.learn-press-courses[data-layout=list] .course-content .course-categories a{position:relative;padding:2px 15px 2px 20px;-webkit-clip-path:polygon(0 0,100% 0,88% 50%,100% 100%,0 100%);clip-path:polygon(0 0,100% 0,88% 50%,100% 100%,0 100%)}.learn-press-courses[data-layout=list] .course-content .course-permalink{height:25px;margin-bottom:5px;-webkit-line-clamp:1}.learn-press-courses[data-layout=list] .course-content .course-tags a{margin:0 0 10px 10px;padding:3px 5px;border-radius:3px;color:#fff;background:#e4a2a2;line-height:1}.learn-press-courses[data-layout=list] .course-content .course-footer{float:right;margin-left:20px}.learn-press-courses[data-layout=list] .course-content .course-footer .course-students{display:none}.learn-press-courses[data-layout=list] .course-content .course-footer .course-price{float:unset}@media(max-width:767px){.learn-press-courses[data-layout=list] .course-content .course-footer{margin-bottom:30px}}.learn-press-courses[data-layout=list] .course-content .course-readmore{float:left;position:relative;left:4px}.learn-press-courses[data-layout=list] .course-content .course-readmore a{padding:9px 24px;border-radius:3px;color:#fff;background:var(--lp-primary-color);font-weight:400;line-height:1;transition:all .3s;display:block}.learn-press-courses[data-layout=list] .course-content .course-readmore a:hover{opacity:.5;background:var(--lp-primary-color)}@media(max-width:767px){.learn-press-courses[data-layout=list] .course-content .course-readmore{display:flex;float:unset;clear:both}}.learn-press-courses[data-layout=list] .course-wrap-meta{display:flex;padding-top:12px;padding-bottom:18px;color:#333;font-size:14px;font-weight:400}.learn-press-courses[data-layout=list] .course-wrap-meta .meta-item{padding-left:28px;text-transform:capitalize}@media(max-width:1024px){.learn-press-courses[data-layout=list] .course-wrap-meta .meta-item{padding-left:20px}}.learn-press-courses[data-layout=list] .course-wrap-meta .meta-item::before{position:relative;top:-1px;margin-left:8px;color:var(--lp-primary-color);font-family:"Font Awesome 5 Free";font-weight:900}.learn-press-courses[data-layout=list] .course-wrap-meta .meta-item-level::before{content:"\f012"}.learn-press-courses[data-layout=list] .course-wrap-meta .meta-item-duration::before{content:"\f017"}.learn-press-courses[data-layout=list] .course-wrap-meta .meta-item-lesson::before{content:"\f0c5"}.learn-press-courses[data-layout=list] .course-wrap-meta .meta-item-quiz::before{content:"\f12e"}.learn-press-courses[data-layout=list] .course-wrap-meta .meta-item-student::before{content:"\f501"}@media(max-width:815px){.learn-press-courses[data-layout=list] .course-wrap-meta{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:15px}.learn-press-courses[data-layout=list] .course-wrap-meta .meta-item{padding-left:15px}}@media(max-width:767px){.learn-press-courses[data-layout=list] .course-wrap-meta{grid-template-columns:repeat(3,1fr)}}.learn-press-courses[data-layout=list] .course-wrap-thumbnail{float:right;width:35.8%}@media(max-width:767px){.learn-press-courses[data-layout=list] .course-wrap-thumbnail{width:100%}}.learn-press-courses[data-layout=list] .course-title{font-size:18px}.learn-press-courses[data-layout=grid] .course{padding:0 15px}@media(max-width:992px){.learn-press-courses[data-layout=grid] .course{width:50%}}@media(max-width:767px){.learn-press-courses[data-layout=grid] .course{width:100%}}.learn-press-courses[data-layout=grid] .course-item:hover{box-shadow:0 15px 20px 0 rgba(0,0,0,0.2)}.learn-press-courses[data-layout=grid] .course-item .course-instructor{margin-bottom:7px}.learn-press-courses[data-layout=grid] .course-content{padding:15px 20px 12px 20px;border:1px solid #f0f0f0;border-top:0;flex-grow:1}.learn-press-courses[data-layout=grid] .course-content .course-categories{float:left;position:absolute;z-index:1;top:-34px;left:-1px;margin-left:0}.learn-press-courses[data-layout=grid] .course-content .course-categories::after{display:none}.learn-press-courses[data-layout=grid] .course-content .course-categories a{position:relative;margin:0;padding:2px 22px 2px 12px;-webkit-clip-path:polygon(0 0,100% 0,100% 100%,0 100%,12px 50%);clip-path:polygon(0 0,100% 0,100% 100%,0 100%,12px 50%)}.learn-press-courses[data-layout=grid] .course-content .course-permalink{height:48px;margin-bottom:20px}.learn-press-courses[data-layout=grid] .course-content .course-info{display:flex;flex-direction:column;flex-grow:1}.learn-press-courses[data-layout=grid] .course-content .course-wrap-meta,.learn-press-courses[data-layout=grid] .course-content .course-excerpt,.learn-press-courses[data-layout=grid] .course-content .course-readmore{display:none}.learn-press-courses[data-layout=grid] .course-content .course-footer{padding-top:18px;border-top:1px solid rgba(153,153,153,0.2)}.learn-press-courses[data-layout=grid] .course-content .course-footer .course-students{float:right;text-transform:capitalize}.learn-press-courses[data-layout=grid] .course-content .course-footer .course-students::before{position:relative;top:-1px;margin-left:8px;color:var(--lp-primary-color);font-family:"Font Awesome 5 Free";font-weight:900;content:"\f501"}.learn-press-courses[data-layout=grid] .learn-press-message{margin-right:15px;margin-left:15px}.learn-press-courses[data-size="3"] .course{width:33.3333%}@media(max-width:767px){.learn-press-courses[data-size="3"] .course{width:100%}}.learn-press-courses .lp-archive-course-skeleton{position:absolute;height:100%;background:linear-gradient(-90deg,hsla(0,0%,74.5%,0.2) 25%,hsla(0,0%,50.6%,0.24) 37%,hsla(0,0%,74.5%,0.2) 63%);animation:lp-skeleton-loading 1.4s ease infinite;background-size:400% 100%}.learn-press-courses .lp-archive-course-skeleton li{display:none}.lp-courses-bar{display:flex;float:left;margin-bottom:48px}@media(max-width:767px){.lp-courses-bar{flex-direction:row;width:100%;justify-content:space-between}}.lp-courses-bar .search-courses{position:relative;width:306px;max-width:100%;margin-left:20px;line-height:1;flex:1}.lp-courses-bar .search-courses input[type=text]{width:100%;height:44px;padding:6px 18px 6px 32px;border:1px solid #ccc;border-radius:5px;background:#fff;font-size:14px;font-style:italic;line-height:1}.lp-courses-bar .search-courses input[type=text]:focus{border-color:var(--lp-primary-color);outline:0}.lp-courses-bar .search-courses button{position:absolute;top:50%;left:12px;width:30px;height:30px;padding:0;border:0;color:#333;background:transparent;font-size:16px;line-height:1;transform:translate(0,-50%)}.lp-courses-bar .search-courses button:focus{border:0;outline:0}.lp-courses-bar .search-courses button.loading>i::before{display:inline-block;font-family:"Font Awesome 5 Free";font-weight:900;content:"\f110";-webkit-animation:lp-rotating 1s linear infinite;-moz-animation:lp-rotating 1s linear infinite;animation:lp-rotating 1s linear infinite}.lp-courses-bar .search-courses ::-webkit-input-placeholder{color:#999}.lp-courses-bar .search-courses :-ms-input-placeholder{color:#999}.lp-courses-bar .search-courses ::placeholder{color:#999}@media(max-width:767px){.lp-courses-bar .search-courses{width:100%}}.lp-courses-bar .switch-layout{display:flex;height:44px;line-height:1;text-align:left;flex:0 0 40px;align-items:center;justify-content:center}.lp-courses-bar .switch-layout input[type=radio]{display:none}.lp-courses-bar .switch-layout .switch-btn{display:block;width:40px;height:40px;margin:0;padding:0;border-radius:5px;font-size:16px;line-height:40px;text-align:center;cursor:pointer}.lp-courses-bar .switch-layout .switch-btn::before{display:inline-block;margin:8px 6px;color:#333;font-family:"Font Awesome 5 Free";font-weight:900;line-height:1}.lp-courses-bar .switch-layout .switch-btn.grid::before{content:"\f00a"}.lp-courses-bar .switch-layout .switch-btn.list{margin-right:3px}.lp-courses-bar .switch-layout .switch-btn.list::before{content:"\f03a"}input[type=radio]:nth-child(1):checked ~ .switch-btn:nth-child(2){background:#f5f5f5}input[type=radio]:nth-child(1):checked ~ .switch-btn:nth-child(2)::before{color:var(--lp-primary-color)}input[type=radio]:nth-child(3):checked ~ .switch-btn:nth-child(4){background:#f5f5f5}input[type=radio]:nth-child(3):checked ~ .switch-btn:nth-child(4)::before{color:var(--lp-primary-color)}input[type=radio]:nth-child(5):checked ~ .switch-btn:nth-child(6){background:#f5f5f5}input[type=radio]:nth-child(5):checked ~ .switch-btn:nth-child(6)::before{color:var(--lp-primary-color)}input[type=radio]:nth-child(7):checked ~ .switch-btn:nth-child(8){background:#f5f5f5}input[type=radio]:nth-child(7):checked ~ .switch-btn:nth-child(8)::before{color:var(--lp-primary-color)}input[type=radio]:nth-child(9):checked ~ .switch-btn:nth-child(10){background:#f5f5f5}input[type=radio]:nth-child(9):checked ~ .switch-btn:nth-child(10)::before{color:var(--lp-primary-color)}input[type=radio]:nth-child(11):checked ~ .switch-btn:nth-child(12){background:#f5f5f5}input[type=radio]:nth-child(11):checked ~ .switch-btn:nth-child(12)::before{color:var(--lp-primary-color)}input[type=radio]:nth-child(13):checked ~ .switch-btn:nth-child(14){background:#f5f5f5}input[type=radio]:nth-child(13):checked ~ .switch-btn:nth-child(14)::before{color:var(--lp-primary-color)}input[type=radio]:nth-child(15):checked ~ .switch-btn:nth-child(16){background:#f5f5f5}input[type=radio]:nth-child(15):checked ~ .switch-btn:nth-child(16)::before{color:var(--lp-primary-color)}input[type=radio]:nth-child(17):checked ~ .switch-btn:nth-child(18){background:#f5f5f5}input[type=radio]:nth-child(17):checked ~ .switch-btn:nth-child(18)::before{color:var(--lp-primary-color)}input[type=radio]:nth-child(19):checked ~ .switch-btn:nth-child(20){background:#f5f5f5}input[type=radio]:nth-child(19):checked ~ .switch-btn:nth-child(20)::before{color:var(--lp-primary-color)}.lp_allow_repuchase_select{padding:20px;background:#f7f7f7}.lp_allow_repuchase_select>ul{padding:0;list-style:none}.lp_allow_repuchase_select>a{display:inline-block;margin-top:10px;color:#fff;background-color:#222}.comment-respond .comment-reply-title{font-size:30px;font-weight:500;line-height:1.2;margin-bottom:15px}.comment-respond .comment-form{margin:0 -15px}.comment-respond .comment-form>p label{display:block;margin-bottom:10px;font-size:16px;font-weight:500}.comment-respond .comment-form>p.comment-notes,.comment-respond .comment-form>p.logged-in-as{color:#666;font-size:16px}.comment-respond .comment-form>p.logged-in-as a{color:#666;text-decoration:underline}.comment-respond .comment-form>p.logged-in-as a:hover,.comment-respond .comment-form>p.logged-in-as a:focus{color:var(--lp-primary-color)}.comment-respond .comment-form>p.comment-form-cookies-consent{clear:both}.comment-respond .comment-form>p.comment-form-cookies-consent input{padding:0;margin-left:8px}.comment-respond .comment-form>p.comment-form-cookies-consent label{display:inline}.comment-respond .comment-form>p,.comment-respond .comment-form>div{padding:0 15px;margin-bottom:15px}.comment-respond .comment-form input[type=text],.comment-respond .comment-form input[type=email],.comment-respond .comment-form input[type=url]{height:40px;line-height:normal;width:100% !important;margin-bottom:15px}.comment-respond .comment-form input[type=submit]{background-color:var(--lp-primary-color);border:0;min-height:40px;line-height:40px;padding:0 15px;font-size:16px;text-transform:capitalize;font-weight:500;margin-top:15px;cursor:pointer;color:white}.comment-respond .comment-form .comment-form-author,.comment-respond .comment-form .comment-form-email,.comment-respond .comment-form .comment-form-url{width:33.33%;float:right}@media(max-width:575px){.comment-respond .comment-form .comment-form-author,.comment-respond .comment-form .comment-form-email,.comment-respond .comment-form .comment-form-url{width:100%;float:unset}}.comment-respond .comment-form textarea,.comment-respond .comment-form input{border:1px solid #ccc;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;max-width:100%}.comment-respond .comment-form textarea{width:100%;display:block;padding:20px 15px;resize:none}.course-summary-sidebar .course-sidebar-preview{margin-bottom:35px;background:#fff}.course-summary-sidebar .lp-course-buttons{margin-bottom:34px}.course-summary-sidebar .lp-course-buttons>*{margin-bottom:10px}.course-summary-sidebar .lp-course-buttons>*:last-child{margin-bottom:0}.course-summary-sidebar .lp-course-buttons form,.course-summary-sidebar .lp-course-buttons button{width:100%;text-decoration:none}.course-summary-sidebar .lp-course-buttons button{font-weight:500}.course-summary-sidebar .lp-course-buttons button:hover{border-color:var(--lp-primary-color)}.course-summary-sidebar .lp-course-buttons button.button-enroll-course{border-color:var(--lp-primary-color);color:#fff;background:var(--lp-primary-color)}.course-summary-sidebar .lp-course-buttons button.button-enroll-course:hover{opacity:.5;background:var(--lp-primary-color)}.course-summary-sidebar .lp-course-buttons button.button-enroll-course.loading::before{display:inline-block;font-family:"Font Awesome 5 Free";font-weight:900;content:"\f110";animation:lp-rotating 1s linear infinite}.course-summary-sidebar .lp-course-buttons button ~ .lp-enroll-notice{margin-top:20px;padding:20px;border:2px solid #059601;border-radius:9px;font-size:15px;line-height:1.4}.course-summary-sidebar .lp-course-buttons button ~ .lp-enroll-notice.error{border-color:#d85554}.course-summary-sidebar .course-results-progress .items-progress,.course-summary-sidebar .course-results-progress .course-progress{display:flex;flex-direction:row;margin:0 0 5px;padding:0;justify-content:space-between;flex-wrap:wrap}.course-summary-sidebar .course-results-progress .items-progress__heading,.course-summary-sidebar .course-results-progress .course-progress__heading{margin:0;margin-bottom:7px;padding:0;color:#333;font-size:1rem;font-weight:500;flex:1 1 auto;width:auto}.course-summary-sidebar .course-results-progress .items-progress .learn-press-progress,.course-summary-sidebar .course-results-progress .course-progress .learn-press-progress{clear:both;width:100%}.course-summary-sidebar .course-results-progress .number{display:block;margin:0;color:#666;font-size:16px;font-weight:300;line-height:16px;text-align:left}.course-sidebar-preview .course-price{text-align:center}.course-sidebar-preview .course-price .origin-price{color:#666;font-size:18px;font-weight:300;font-style:unset}.course-sidebar-preview .course-price .price{color:#333;font-size:1.8rem;font-weight:500}.course-sidebar-preview .media-preview{overflow:hidden;position:relative;margin:-20px -20px 20px}.course-sidebar-preview .media-preview img{max-width:100%;height:auto;vertical-align:top}.course-sidebar-preview .course-time{margin-bottom:28px;padding-bottom:8px;border-bottom:1px solid rgba(204,204,204,0.3)}.course-sidebar-preview .course-time-row{display:flex;color:#666;font-size:16px;font-weight:300;justify-content:space-between}.course-sidebar-preview .course-time-row strong{color:#333;font-weight:500}.course-sidebar-preview .course-time-row time{color:#666;font-size:1rem;font-weight:300;line-height:24px}.course-sidebar-preview>*:last-child{margin-bottom:0}.learnpress-page .lp-button.secondary{background:#9198ab}.learnpress-page .lp-button.secondary:hover{background:#9ba6c5}.learnpress-page .lp-button:disabled,.learnpress-page .lp-button[disabled]{background:#ddd;pointer-events:none}.learnpress-page:hover{text-decoration:none}#popup-course{display:flex;position:fixed;z-index:99999;top:0;left:0;bottom:0;right:0;background:#fff}#popup-course .back-course{padding-right:30px;padding-left:30px;line-height:70px;background:rgba(255,255,255,0.1);color:#fff}#popup-course .back-course:hover{background:rgba(255,255,255,0.15)}@media(max-width:768px){#popup-course .back-course{background:transparent;opacity:.6;padding-right:15px;padding-left:15px}#popup-course .back-course:hover{background:transparent;opacity:1}}#popup-course #popup-header{display:flex;position:fixed;z-index:100;left:0;right:475px;padding:0;border-bottom:1px solid #d9e0f1;background:var(--lp-secondary-color);-webkit-transition:right .25s;-moz-transition:right .25s;-ms-transition:right .25s;-o-transition:right .25s;transition:right .25s}#popup-course #popup-header .course-title{margin:0;padding:0;line-height:70px;letter-spacing:unset}#popup-course #popup-header .course-title a{display:-webkit-box;overflow:hidden;color:#fff;font-size:16px;font-weight:400;text-overflow:ellipsis;-webkit-line-clamp:1;-webkit-box-orient:vertical}#popup-course #popup-header .course-title a:hover{color:var(--lp-primary-color)}@media(max-width:768px){#popup-course #popup-header .course-title{flex:1}}#popup-course #popup-header .items-progress{display:flex;justify-content:center;align-items:center;column-gap:10px}@media(max-width:768px){#popup-course #popup-header .items-progress{flex:1}}@media(max-width:767px){#popup-course #popup-header .items-progress{padding-bottom:20px;justify-content:end}}#popup-course #popup-header .number{padding-left:10px;color:#fff;font-size:14px;font-weight:300}#popup-course #popup-header .lp-button{display:flex;position:relative;height:40px;margin:9px;border:0;color:#fff;background:var(--lp-primary-color);font-size:14px;font-weight:400;justify-content:center;line-height:40px;align-items:center}#popup-course #popup-header .lp-button:hover{opacity:.8}#popup-course #popup-header .lp-button-back{float:left;margin:9px 10px}#popup-course #popup-header .lp-button-back button::before,#popup-course #popup-header .lp-button-back button::after{content:""}#popup-course #popup-header .lp-button-back button::before{border:1px solid #ddd}#popup-course #popup-header .lp-button-back button::after{border:1px solid #ddd}#popup-course .popup-header__inner{display:flex;width:792px;margin:0 auto;justify-content:space-between;align-items:center;padding-right:15px;padding-left:15px}@media(max-width:1024px){#popup-course .popup-header__inner{width:100%}}@media(max-width:767px){#popup-course .popup-header__inner{flex-direction:column}}#popup-course #popup-sidebar{overflow:auto;position:relative;box-shadow:0 15px 30px 0 rgba(0,0,0,0.1);flex:0 0 475px;-webkit-transition:.25s;-moz-transition:.25s;-ms-transition:.25s;-o-transition:.25s;transition:.25s}#popup-course #popup-sidebar .search-course{display:flex;position:relative;height:70px;background:#f9fafc}#popup-course #popup-sidebar .search-course input[name=s]{display:block;width:100%;margin:6px 0;padding-right:20px;border:0;color:#999;background:transparent;box-shadow:none;font-size:14px;line-height:1;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}#popup-course #popup-sidebar .search-course input[name=s]::-webkit-input-placeholder{color:#999}#popup-course #popup-sidebar .search-course input[name=s]::-moz-placeholder{color:#999}#popup-course #popup-sidebar .search-course input[name=s]:-ms-input-placeholder{color:#999}#popup-course #popup-sidebar .search-course input[name=s]:-moz-placeholder{color:#999}#popup-course #popup-sidebar .search-course input[name=s]::placeholder{color:#999}#popup-course #popup-sidebar .search-course input[name=s]::-webkit-input-placeholder{font-style:italic}#popup-course #popup-sidebar .search-course input[name=s]::-moz-placeholder{font-style:italic}#popup-course #popup-sidebar .search-course input[name=s]:-ms-input-placeholder{font-style:italic}#popup-course #popup-sidebar .search-course input[name=s]:-moz-placeholder{font-style:italic}#popup-course #popup-sidebar .search-course input[name=s]::placeholder{font-style:italic}#popup-course #popup-sidebar .search-course input[name=s]:focus{outline:0;color:#222}#popup-course #popup-sidebar .search-course button{position:absolute;top:0;left:10px;width:16px;height:70px;margin:0 10px;padding:0;border:0;background:transparent;line-height:1px}#popup-course #popup-sidebar .search-course button::before{color:#666;font-family:"Font Awesome 5 Free";font-size:16px;font-weight:900;content:"\f002"}#popup-course #popup-sidebar .search-course button.clear{display:none}#popup-course #popup-sidebar .search-course button.clear::before{content:"\f00d"}#popup-course #popup-sidebar .search-course .search-results{display:none;overflow:auto;position:fixed;z-index:99999999;top:92px;bottom:0;right:0;width:400px;margin:0;border-top-color:transparent;border-left:1px solid #d9e0f1;background:#fbfcff}#popup-course #popup-sidebar .search-course .search-results .search-results__item{border-bottom:1px solid #d9e0f1;background:#fff}#popup-course #popup-sidebar .search-course .search-results .search-results__item img{position:absolute;right:10px;width:40px;height:40px}#popup-course #popup-sidebar .search-course .search-results .search-results__item a{display:-webkit-box;overflow:hidden;position:relative;box-sizing:content-box;height:40px;padding:10px 60px 10px 10px;color:#777;text-overflow:ellipsis;-webkit-line-clamp:1;-webkit-box-orient:vertical}#popup-course #popup-sidebar .search-course .search-results .search-results__item:hover{background:#d9e0f1}#popup-course #popup-sidebar .search-course .search-results .search-results__item-title{overflow:hidden;margin:0 0 -2px 0;padding:0;font-size:16px;font-weight:normal}#popup-course #popup-sidebar .search-course .search-results .search-results__item-author{font-size:12px}#popup-course #popup-sidebar .search-course .search-results .course-price{position:absolute;left:10px;bottom:10px;font-size:12px}#popup-course #popup-sidebar .search-course .search-results .course-price .origin-price{font-size:smaller;text-decoration:line-through}#popup-course #popup-sidebar .search-course .search-results .search-results__not-found{padding:10px;color:#777}#popup-course #popup-sidebar .search-course .search-results .search-results__pagination{padding:10px;text-align:center}#popup-course #popup-sidebar .search-course .search-results .search-results__pagination a,#popup-course #popup-sidebar .search-course .search-results .search-results__pagination span{display:inline-block;margin:0 2px 10px 3px;padding:5px 8px;border:1px solid #d9e0f1;border-radius:4px;color:#777;font-size:14px;line-height:1;cursor:pointer}#popup-course #popup-sidebar .search-course .search-results .search-results__pagination span{color:#999;background:#d9e0f1}#popup-course #popup-sidebar .search-course.searching .search-results{display:block}#popup-course #popup-sidebar .search-course.searching .clear{display:block}#popup-course #popup-sidebar .search-course.searching button{display:none}#popup-course #popup-sidebar .search-course.searching::after{position:absolute;z-index:1;bottom:0;right:50%;width:0;height:0;margin-right:-10px;border:10px solid transparent;border-bottom-color:#fff;content:""}#popup-course #popup-sidebar .course-curriculum{overflow:auto;position:absolute;top:70px;bottom:0;width:475px}#popup-course #popup-sidebar .course-curriculum::-webkit-scrollbar-thumb{background:#ccc}#popup-course #popup-sidebar .course-curriculum::-webkit-scrollbar{width:6px}#popup-course #popup-sidebar .course-curriculum::-webkit-scrollbar-track{background:#f5f5f5}#popup-course #popup-sidebar .section{position:relative;padding:0 0 4px 0}#popup-course #popup-sidebar .section .circle-progress{display:inline-block;position:absolute;top:50%;left:10px;width:24px;height:24px;margin-top:-12px;border:3px solid #d9e0f1;border-radius:50%}#popup-course #popup-sidebar .section.section-empty .section-header{margin:0}#popup-course #popup-sidebar .section.section-empty .learn-press-message{margin:0;padding:10px;border-bottom:1px solid #d9e0f1;border-radius:0;color:#999;background:#f5f5f5;font-size:14px}#popup-course #popup-sidebar .section.section-empty .learn-press-message::before,#popup-course #popup-sidebar .section.section-empty .learn-press-message::after{position:absolute;z-index:9999;top:-16px;right:10px;width:0;height:0;border:8px solid transparent;border-bottom-color:#f5f5f5;background:transparent;content:"";-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}#popup-course #popup-sidebar .section.section-empty .learn-press-message::after{z-index:9998;top:-20px;right:8px;border-width:10px;border-bottom-color:#d9e0f1}#popup-course #popup-sidebar .section-header{position:sticky;z-index:1000;top:0;height:94px;padding:38px 20px 20px 20px;cursor:pointer;background-color:white}#popup-course #popup-sidebar .section-header .section-title{padding:0 0 4px 0;color:#000;font-size:20px;font-weight:500}#popup-course #popup-sidebar .section-header .section-title .show-desc::before{font-family:"Font Awesome 5 Free";font-size:18px;font-weight:900;content:"\f0d7"}#popup-course #popup-sidebar .section-header .section-toggle{justify-content:flex-end;flex:0}#popup-course #popup-sidebar .section-header .section-toggle i{color:#666}#popup-course #popup-sidebar .section-header .section-meta{padding-top:6px;padding-bottom:0}#popup-course #popup-sidebar .section-content{margin-bottom:0}#popup-course #popup-sidebar .course-item{min-height:50px;margin-bottom:4px;padding:5px 20px;background:#f9fafc;align-items:center}#popup-course #popup-sidebar .course-item>span{display:none}#popup-course #popup-sidebar .course-item::before{top:-1px;bottom:-1px;height:auto;background:transparent}#popup-course #popup-sidebar .course-item::after{content:""}#popup-course #popup-sidebar .course-item.current{background:#eaeaea}#popup-course #popup-sidebar .course-item.has-status.failed .trans{color:#f02425}#popup-course #popup-sidebar .course-item.status-completed .trans{color:#3bb54a}#popup-course #popup-sidebar .section-item-link{line-height:1;padding-left:0}#popup-course #popup-sidebar .section-item-link::before{padding:12px 0;vertical-align:unset}#popup-course #popup-sidebar .section-item-link .item-name{width:100%;padding:0 17px 0 10px;font-size:14px;line-height:21px;font-weight:500}#popup-course #popup-sidebar .course-item-meta{padding:0}#popup-course #popup-sidebar .course-item-meta .item-meta{padding:0;color:#999;background:transparent;font-size:12px;line-height:1.5;height:auto}#popup-course #popup-sidebar .course-item-meta .item-meta:first-child{margin-right:0}#popup-course #popup-sidebar .course-item-meta .item-meta::before{font-size:12px;line-height:21px}#popup-course #popup-content{overflow:auto;position:relative;margin:70px 0 50px 0;flex:1;padding-right:15px;padding-left:15px}#popup-course #popup-content .lp-button{position:relative;margin:0 0 0 10px;padding:12px 29px;border-color:var(--lp-secondary-color);font-size:14px}#popup-course #popup-content .lp-button.instant-check .instant-check__icon{margin-left:5px}#popup-course #popup-content .lp-button.instant-check .instant-check__icon::before{font-family:"Font Awesome 5 Free";content:"\f058"}#popup-course #popup-content .lp-button.instant-check .instant-check__info{visibility:hidden;position:absolute;top:100%;right:0;margin-top:3px;padding:11px 20px;border-radius:3px;background:#eee;white-space:nowrap;text-transform:none}#popup-course #popup-content .lp-button.instant-check:hover .instant-check__info{visibility:visible;position:absolute;top:100%;right:0;margin-top:3px;padding:11px 11px;border-radius:3px;color:#333;background:#eee;white-space:nowrap}#popup-course #popup-content .lp-button.instant-check.loading .instant-check__icon{display:inline-block;animation:lp-rotating 1s linear infinite}#popup-course #popup-content .lp-button.instant-check.loading .instant-check__icon::before{font-weight:800;content:"\f110"}#popup-course #popup-content .lp-button:hover{border-color:var(--lp-primary-color)}#popup-course #popup-content .lp-button.completed{display:flex;flex-direction:row-reverse;margin-top:32px;border-color:transparent;color:#fff;background:#3db748;font-size:16px;align-items:center;justify-content:center}#popup-course #popup-content .lp-button.completed i{margin-right:9px;font-size:14px}#popup-course #popup-content.fixed-quiz-status .quiz-status{background:var(--lp-primary-color)}#popup-course #popup-content.fixed-quiz-status .quiz-status>div{padding:0}#popup-course #popup-footer{position:fixed;z-index:999;left:0;bottom:0;right:475px;width:100%;max-width:792px;height:50px;margin:0 auto;border-top:1px solid #ebebeb;background:#fff;-webkit-transition:right .25s;-moz-transition:right .25s;-ms-transition:right .25s;-o-transition:right .25s;transition:right .25s}@media(max-width:1024px){#popup-course #popup-footer{width:auto;padding:0 15px}}#popup-course #popup-footer .course-item-nav{justify-content:space-between}#popup-course #popup-footer .course-item-nav .prev,#popup-course #popup-footer .course-item-nav .next{display:flex;line-height:50px}#popup-course #popup-footer .course-item-nav .prev a,#popup-course #popup-footer .course-item-nav .next a{display:block;color:#666;font-size:16px}#popup-course #popup-footer .course-item-nav .prev::before,#popup-course #popup-footer .course-item-nav .next::before{color:#999;font-family:"Font Awesome 5 Free";font-size:12px;font-weight:900}#popup-course #popup-footer .course-item-nav .prev:hover a,#popup-course #popup-footer .course-item-nav .prev:hover::before,#popup-course #popup-footer .course-item-nav .next:hover a,#popup-course #popup-footer .course-item-nav .next:hover::before{color:var(--lp-primary-color)}#popup-course #popup-footer .course-item-nav .prev:hover .course-item-nav__name,#popup-course #popup-footer .course-item-nav .next:hover .course-item-nav__name{display:block}#popup-course #popup-footer .course-item-nav .next{flex-direction:row-reverse}#popup-course #popup-footer .course-item-nav .next::before{margin-right:10px;content:"\f0da"}#popup-course #popup-footer .course-item-nav[data-nav=next]{justify-content:flex-end}#popup-course #popup-footer .prev::before{margin-left:10px;content:"\f0d9"}#popup-course #popup-footer .prev .course-item-nav__name{left:auto;right:-30px}#popup-course #popup-footer .prev .course-item-nav__name::before{left:auto;right:5px}@media(max-width:1024px){#popup-course #popup-footer .prev .course-item-nav__name{right:15px}}#popup-course #popup-footer .course-item-nav__name{display:none;position:absolute;top:-20px;left:-30px;width:auto;padding:10px 15px;color:#666;background:#ccc;font-size:14px;font-weight:300;line-height:1}@media(max-width:1024px){#popup-course #popup-footer .course-item-nav__name{top:-25px;left:15px;right:auto}}#popup-course #sidebar-toggle{display:inline-block;position:absolute;z-index:100;top:198px;right:475px;width:25px;height:56px;margin:0;background:#fff;box-shadow:0 0 20px 0 rgba(0,0,0,0.15);cursor:pointer;transition:.25s;-webkit-appearance:none;border:0}#popup-course #sidebar-toggle:after{display:none}#popup-course #sidebar-toggle::before{display:inline-block;position:absolute;top:50%;right:50%;color:var(--lp-primary-color);font-family:"Font Awesome 5 Free";font-size:18px;font-weight:900;content:"\f0d9";transition:.25s;transform:translate(50%,-50%)}#popup-course #sidebar-toggle:focus{border:0;outline:0}#popup-course .lp-quiz-buttons .complete-quiz,#popup-course .lp-quiz-buttons .back-quiz,#popup-course .lp-quiz-buttons .review-quiz{float:left}#popup-course .quiz-results,#popup-course .quiz-content,#popup-course .quiz-questions,#popup-course .quiz-buttons,#popup-course .quiz-attempts{margin-bottom:60px}#popup-course .quiz-questions .lp-fib-content{margin-bottom:20px;padding:20px;border:2px solid #f5f5f5;border-radius:6px;line-height:1.6}#popup-course .quiz-questions .lp-fib-input{display:inline-block;width:auto;max-width:none}#popup-course .quiz-questions .lp-fib-input>input{height:36px;padding:6px 16px;border:1px solid #222;line-height:36px}#popup-course .quiz-questions .lp-fib-answered{padding:0 10px;background:#ececec;white-space:nowrap}#popup-course .quiz-questions .lp-fib-answered.fail{border:2px solid #d85554}#popup-course .quiz-questions .lp-fib-answered.fail .lp-fib-answered__answer{text-decoration:line-through}#popup-course .quiz-questions .lp-fib-answered.correct{border:2px solid #00adff}#popup-course .quiz-questions .lp-fib-note{display:flex;margin-right:10px;font-size:14px;font-weight:400;align-items:center}#popup-course .quiz-questions .lp-fib-note>span{display:inline-block;width:20px;height:20px;margin:0 0 0 5px}#popup-course .quiz-questions .lp-sorting-choice__check-answer{padding:5px 20px;border:2px solid #059601;border-radius:5px;font-size:1rem}#popup-course .question .answer-option input[type=radio],#popup-course .question .answer-option input[type=checkbox]{-webkit-transform:translateY(-50%);-moz-transform:translateY(-50%);-ms-transform:translateY(-50%);-o-transform:translateY(-50%);transform:translateY(-50%);margin:0 10px 0 0}#popup-course .question .answer-option input[type=radio]::before{border-radius:50%}#popup-course .question .question-response{display:flex;align-items:center;justify-content:flex-start}#popup-course .scrollbar-light>.scroll-element{z-index:9999}#popup-course .scrollbar-light>.scroll-element.scroll-y{display:none}#popup-course .scrollbar-light>.scroll-element.scroll-y .scroll-bar{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}body.admin-bar #popup-course{top:32px}body.lp-sidebar-toggle__close #popup-course>#sidebar-toggle{right:0}body.lp-sidebar-toggle__close #popup-course>#sidebar-toggle::before{content:"\f0da"}body.lp-sidebar-toggle__close #popup-course #popup-sidebar{flex:0}body.lp-sidebar-toggle__close #popup-course #popup-header,body.lp-sidebar-toggle__close #popup-course #popup-footer{right:0}@media(max-width:768px){body:not(.lp-sidebar-toggle__open) #popup-course>#sidebar-toggle{right:0}body:not(.lp-sidebar-toggle__open) #popup-course>#sidebar-toggle::before{content:"\f0da"}body:not(.lp-sidebar-toggle__open) #popup-course #popup-sidebar{flex:0}}.course-curriculum .section-header .section-meta{position:relative}@media screen and (max-width:1280px){#popup-course #popup-sidebar{flex-basis:300px}#popup-course #popup-sidebar .course-curriculum{width:300px}#popup-course #popup-header,#popup-course #popup-footer{right:300px}#popup-course #sidebar-toggle{right:299px}}@media screen and (max-width:782px){body.admin-bar #popup-course{top:46px}#popup-course #popup-sidebar{flex-basis:250px}#popup-course #popup-sidebar .course-curriculum{width:250px}#popup-course #popup-header,#popup-course #popup-footer{right:250px}#popup-course #sidebar-toggle{right:249px}#popup-course .course-item-meta .item-meta.count-questions,#popup-course .course-item-meta .item-meta.duration{display:none}}.content-item-wrap{width:792px;max-width:100%;margin:0 auto;padding-bottom:80px}@media(max-width:1024px){.content-item-wrap{width:100%}}.content-item-wrap .course-item-title{margin-top:0;margin-bottom:24px;color:#333;font-size:30px;font-weight:600}@media(max-width:767px){.content-item-wrap .course-item-title{text-align:center}}.content-item-wrap h4{font-size:1.5rem;font-weight:500;line-height:1.5}.content-item-wrap .content-item-summary{padding-top:50px}.content-item-wrap .content-item-description{margin-bottom:30px}.content-item-wrap .content-item-description h2,.content-item-wrap .content-item-description h3,.content-item-wrap .content-item-description h4,.content-item-wrap .content-item-description h5,.content-item-wrap .content-item-description h6{margin-top:0;margin-bottom:18px;font-size:18px;letter-spacing:unset}.content-item-wrap .content-item-description p{margin:0 0 18px 0;color:#666;font-size:16px;font-weight:300;line-height:26px}.content-item-wrap .content-item-description img{max-width:100%;height:auto;vertical-align:middle}.content-item-wrap #learn-press-quiz-app{margin-bottom:40px}.content-item-wrap .quiz-content{margin-bottom:40px;color:#666;font-size:16px;font-weight:300;line-height:26px}.content-item-wrap .quiz-content img{max-width:100%;height:auto;vertical-align:middle}.content-item-wrap .quiz-buttons{display:flex;justify-content:center;text-align:center}.content-item-wrap .quiz-buttons .button-right .lp-button{margin:0 15px 0 0}.content-item-wrap .quiz-buttons .lp-button[data-type=question-nav]{margin:0;border:1px solid #d9e0f1;color:#777;background:#fbfcff}.content-item-wrap .quiz-buttons .lp-button[data-type=question-nav]::before{display:inline-block;width:15px;height:15px;border:2px solid #d9e0f1;border-top-color:transparent;border-right-color:transparent;content:"";-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);-o-transform:rotate(45deg);transform:rotate(45deg)}.content-item-wrap .quiz-buttons .lp-button[data-type=question-nav].prev::before{margin-right:7px;-webkit-transform:rotate(-135deg);-moz-transform:rotate(-135deg);-ms-transform:rotate(-135deg);-o-transform:rotate(-135deg);transform:rotate(-135deg)}.content-item-wrap .quiz-buttons .lp-button[data-type=question-nav].next{margin-right:-1px}.content-item-wrap .quiz-buttons .lp-button[data-type=question-nav].next::before{margin-left:7px}.content-item-wrap .quiz-buttons .lp-button[data-type=question-nav]:hover{background:#fff}.content-item-wrap .quiz-buttons.align-center{display:block;text-align:center}.content-item-wrap .quiz-buttons.align-center .button-left{text-align:center}.content-item-wrap .quiz-buttons.align-center .button-left.fixed{position:fixed;z-index:99999;bottom:0;right:50%;width:100%;max-width:792px;height:49px;margin-right:237px;transform:translateX(50%)}@media(max-width:768px){.content-item-wrap .quiz-buttons.align-center .button-left.fixed{width:100% !important}}.content-item-wrap .quiz-buttons.align-center .button-left.nav-center{height:50px;margin-right:0 !important}.content-item-wrap .quiz-buttons:not(.infinity).is-first .prev{display:none}.content-item-wrap .quiz-buttons:not(.infinity).is-last .next{display:none}.content-item-wrap .quiz-buttons:not(.is-first):not(.is-last) .prev{border-top-left-radius:0;border-bottom-left-radius:0}.content-item-wrap .quiz-buttons:not(.is-first):not(.is-last) .next{border-top-right-radius:0;border-bottom-right-radius:0}.content-item-wrap .questions-pagination{height:33px;padding:8px 0;background:#fff;text-align:center}.content-item-wrap .questions-pagination .nav-links{text-align:center}.content-item-wrap .questions-pagination .nav-links .page-numbers{display:inline-block;vertical-align:middle;margin:0 3px 3px;padding:10px 16px;color:#666;background-color:transparent;font-size:16px;font-weight:300;line-height:1;border:1px solid;cursor:pointer}.content-item-wrap .questions-pagination .nav-links .page-numbers.next,.content-item-wrap .questions-pagination .nav-links .page-numbers.prev{display:inline-block;padding:10px;background:transparent;font-size:16px;text-align:center;text-decoration:none;text-transform:none;border:1px solid}.content-item-wrap .questions-pagination .nav-links .page-numbers.current,.content-item-wrap .questions-pagination .nav-links .page-numbers:hover{color:var(--lp-primary-color)}.course-curriculum .section-title{position:relative;margin-bottom:0;padding:8px 0;color:#5383f7;font-size:16px;font-weight:normal;line-height:1}.course-curriculum .section-title span.show-desc{display:inline-block;position:absolute;top:50%;left:30px;width:20px;height:20px;transform:translate(0,-50%)}.course-curriculum .section-title span.show-desc::before{font-family:"Font Awesome 5 Free";font-size:18px;font-weight:900;content:"\f107"}.course-curriculum .section-title span.show-desc:hover::before{border-top-color:#ccc}.lp-overlay{display:none;position:fixed;z-index:99999;top:0;left:0;bottom:0;right:0;width:100%;height:100%;background-color:rgba(209,213,219,0.8);transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:150ms;transition-property:opacity}.wp-admin .lp-modal-dialog .lp-modal-header{padding:2em}.wp-admin .lp-modal-dialog .lp-modal-header h3{font-size:1.4em}.lp-modal-dialog{display:flex;position:fixed;z-index:9999;top:0;left:0;right:0;width:100%;min-height:100vh;text-align:center;align-items:center;justify-content:center}.lp-modal-dialog .lp-modal-content{display:inline-block;overflow:hidden;z-index:2;width:auto;max-width:600px;border-radius:8px;text-align:right;vertical-align:middle;background:white;color:black}.lp-modal-dialog .lp-modal-header{background:#7c60d9;border-bottom:1px solid #eee;padding:1em}.lp-modal-dialog .lp-modal-header h3{margin:0;color:white;font-size:inherit;font-weight:400}.lp-modal-dialog .lp-modal-body .main-content{max-height:500px;overflow:auto}.lp-modal-dialog .lp-modal-body .main-content h3,.lp-modal-dialog .lp-modal-body .main-content h2,.lp-modal-dialog .lp-modal-body .main-content .pd-2em{padding:1em}.lp-modal-dialog .lp-modal-footer{padding:20px;background-color:#f9fafb;text-align:left}.lp-modal-dialog .btn-yes{color:#fff;background-color:#7c60d9}#lp-modal-overlay{display:none;position:fixed;z-index:999999;top:0;left:0;bottom:0;right:0;opacity:.5;background:#000}#lp-modal-window{display:none;position:fixed;z-index:999999;top:50%;right:50%;padding:35px 60px 28px 60px;background:#fff;transform:translate(50%,-50%);-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}#lp-modal-window #lp-modal-content{margin:0 0 24px 0;color:#333;font-size:16px;font-weight:400;line-height:26px;text-align:center}#lp-modal-window #lp-modal-content>*{margin:0 0 .5em}#lp-modal-window #lp-modal-buttons{display:flex;flex-direction:row-reverse;align-items:center;justify-content:center}#lp-modal-window #lp-modal-buttons .lp-button{position:relative;margin:0 10px 0 10px}.learn-press-comments{width:792px;max-width:100%;margin:0 auto}@media(max-width:1024px){.learn-press-comments{width:100%}}.learn-press-progress{overflow:hidden;position:relative;width:80px;height:6px;border-radius:3px}.learn-press-progress .learn-press-progress__active{position:absolute;z-index:1;right:-100%;width:100%;height:100%;border-radius:3px;background:var(--lp-primary-color);-webkit-transition:.5s;-moz-transition:.5s;-ms-transition:.5s;-o-transition:.5s;transition:.5s}.learn-press-progress::before{display:block;position:absolute;z-index:0;top:0;width:100%;height:100%;background:#ccc;content:""}.course-curriculum .section-header .section-left{display:flex}.course-curriculum .section-header .section-left .section-title{flex:1}.course-curriculum .section-header .section-left .section-toggle{flex:0 0 40px;align-items:center;text-align:center;cursor:pointer}.course-curriculum .section-header .section-left .section-toggle .fa-caret-down{display:none}.course-curriculum .section-header .learn-press-progress{width:80px}.course-curriculum .section.closed .section-toggle .fa-caret-down{display:block}.course-curriculum .section.closed .section-toggle .fa-caret-up{display:none}.course-curriculum .section.closed .section-content{overflow:hidden;height:0}*{box-sizing:border-box;margin:0;padding:0}button{cursor:pointer}input,button,select,textarea{outline:0}html{overflow-x:hidden}a{-webkit-transition:.3s;-moz-transition:.3s;-ms-transition:.3s;-o-transition:.3s;transition:.3s}.lp-skeleton-animation{margin:0;padding:0;list-style:none}.lp-skeleton-animation>li{width:100%;height:16px;margin-top:15px;border-radius:2px;background:linear-gradient(-90deg,hsla(0,0%,74.5%,0.2) 25%,hsla(0,0%,50.6%,0.24) 37%,hsla(0,0%,74.5%,0.2) 63%);background-size:400% 100%;list-style:none;animation:lp-skeleton-loading 1.4s ease infinite}@keyframes lp-skeleton-loading{0%{background-position:0 50%}to{background-position:100% 50%}}.learnpress.theme-twentytwentytwo .wp-site-blocks,.learnpress.twentytwentytwo .wp-site-blocks{max-width:none;padding-left:0;padding-right:0}.learnpress.theme-twentytwentytwo .wp-site-blocks>.wp-block-group,.learnpress.twentytwentytwo .wp-site-blocks>.wp-block-group{max-width:none;margin-left:auto;margin-right:auto}.learnpress.theme-twentytwentytwo .lp-archive-courses,.learnpress.twentytwentytwo .lp-archive-courses{max-width:none}.learnpress.twentytwentytwo .wp-container-11 .alignfull,.learnpress.twentytwentytwo .wp-container-9 .alignfull,.learnpress.twentytwentytwo .wp-container-12 .alignfull{max-width:100%;margin-right:0 !important;margin-left:0 !important;padding-right:0 !important;padding-left:0 !important}@media(max-width:1199px){.learnpress.twentytwentytwo .wp-site-blocks .wp-block-template-part{padding-right:15px;padding-left:15px}}input[type=text],input[type=email],input[type=number],input[type=password]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin:0;box-shadow:unset}body{background:#fff}body.learnpress-page{overflow-x:hidden}.wrap-fullwidth a:focus,.wrap-fullwidth button:focus,.wrap-fullwidth input:focus,.wrap-fullwidth textarea:focus{border:0;outline:0}.wrap-fullwidth a:hover{text-decoration:none}.wrap-fullwidth p{word-break:break-word}.wrap-fullwidth p:last-child{margin-bottom:0}.wrap-fullwidth label{display:block;margin:0;outline:0}.wrap-fullwidth img{max-width:100%;height:auto}.wrap-fullwidth form{margin:0}.wrap-fullwidth .col-full{box-sizing:border-box;max-width:100%;padding:0}.wrap-fullwidth .col-full .woocommerce-breadcrumb{display:none}footer{clear:both}.margin-bottom{margin-bottom:20px}.hide-if-js{display:none !important}.clearfix::after{display:block;clear:both;content:""}.lp-form-fields{margin:0;padding:0;list-style:none}.lp-form-fields .form-field{margin:0 0 20px 0;list-style:none}.lp-content-wrap{width:1170px;max-width:90%;margin:0 auto}.lp-content-wrap>h2{margin-top:0;margin-bottom:26px;color:#333;font-size:30px;font-weight:600}.learn-press-breadcrumb{max-width:1170px;width:100%;margin:0 auto 45px auto;padding:0;color:#333;font-size:14px;font-weight:400;list-style:none}.learn-press-breadcrumb li{display:inline-block;margin:0}.learn-press-breadcrumb li a:hover{color:var(--lp-primary-color)}.learn-press-breadcrumb i{margin:0 5px;color:#666;font-size:12px}@media(max-width:1024px){.learn-press-breadcrumb{padding-left:15px;padding-right:15px}}.learn-press-breadcrumb a{color:#666;font-weight:500}.learnpress-page .lp-button,.learnpress-page #lp-button{padding:16px 24px;border:1px solid #ccc;color:#333;background:transparent;box-shadow:unset;font-family:inherit;font-size:16px;font-weight:400;line-height:1;text-align:center;vertical-align:middle;text-decoration:none;text-transform:capitalize;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-transition:all .25s;-moz-transition:all .25s;-ms-transition:all .25s;-o-transition:all .25s;transition:all .25s}.learnpress-page .lp-button.large,.learnpress-page #lp-button.large{height:52px;padding:18px 30px;font-size:18px}.learnpress-page .lp-button:hover,.learnpress-page #lp-button:hover{border-color:var(--lp-primary-color);color:#fff;background:var(--lp-primary-color)}.learnpress-page .lp-button.btn-ajax-off .icon,.learnpress-page #lp-button.btn-ajax-off .icon{display:none}.learnpress-page .lp-button.btn-ajax-on .icon,.learnpress-page #lp-button.btn-ajax-on .icon{display:inline-block;margin-left:5px;-webkit-animation:lp-rotating 1s linear infinite;-moz-animation:lp-rotating 1s linear infinite;animation:lp-rotating 1s linear infinite}.learnpress-page .lp-button:focus,.learnpress-page #lp-button:focus{outline:0}.learnpress-page .lp-button.loading::before,.learnpress-page #lp-button.loading::before{display:inline-block;font-family:"Font Awesome 5 Free";font-weight:900;content:"\f110";animation:lp-rotating 1s linear infinite}.learnpress-page .rwmb-field .description{margin-top:8px;color:#999;font-size:smaller;font-style:italic}.btn-base{border-color:var(--lp-primary-color);color:white;background-color:var(--lp-primary-color)}.lp-ajax-message{display:none;margin-top:20px;padding:20px;border:2px solid #059601;border-radius:9px;font-size:15px;line-height:1.4}.lp-ajax-message.error{border-color:#d85554}.course-meta{margin-bottom:14px}.course-meta .course-students::before{font-family:"Font Awesome 5 Free";content:""}.lp-entry-content .course-tabs{margin-bottom:60px}.learn-press-checkout-comment h4{display:none}.order-comments{width:100%;padding:15px;min-height:150px;border:1px solid #ccc;resize:none}.learn-press-progress .progress-bg{overflow:hidden;position:relative;height:6px;background:#ccc;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.learn-press-progress .progress-bg .progress-active{position:absolute;right:50%;width:100%;height:100%;margin-right:-100%;background:var(--lp-primary-color);-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.retake-course,.enroll-course,.purchase-course{display:inline-block}.table-orders{font-size:16px}.table-orders th,.table-orders td{padding:5px 10px}.form-button{display:inline-block}.learn-press-pagination{padding-bottom:20px;text-align:center}.learn-press-pagination .page-numbers{display:inline-block;margin:0;padding:0;border:0;outline:0;background:transparent;list-style:none}.learn-press-pagination .page-numbers>li{display:inline-block;margin:0;padding:0 14px}.learn-press-pagination .page-numbers>li .page-numbers{float:unset;padding:0;color:#666;background:transparent;font-size:16px;font-weight:300}.learn-press-pagination .page-numbers>li .page-numbers.current{color:var(--lp-primary-color);font-weight:400}.learn-press-pagination .page-numbers>li .page-numbers:hover{color:var(--lp-primary-color)}ul.list-table-nav{display:flex;margin-right:0;list-style:none}ul.list-table-nav .nav-text{text-align:right;flex:1}ul.list-table-nav .nav-pages{text-align:left;flex:1}ul.list-table-nav .nav-pages .learn-press-pagination{display:inline-block;margin-bottom:0}.primary-color{color:#00adff}.primary-color-before::before{color:#00adff}.primary-color-after::after{color:#00adff}.primary-background-color{background:#00adff}.primary-background-color{background:#00adff}.course-origin-price{margin-left:5px;font-size:85%;text-decoration:line-through}.course-item-nav{display:flex}.course-item-nav .prev span,.course-item-nav .next span{display:block;font-weight:bold}.course-item-nav .prev a,.course-item-nav .next a{color:#999}.course-item-nav .next{text-align:left}.content-item-wrap #comments{margin-left:0;margin-right:0}.content-item-wrap #comments #comment{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.course-summary-sidebar{position:relative}@media(min-width:769px){.course-summary-sidebar.slide-down .course-summary-sidebar__inner{position:fixed;top:0}}@media(min-width:1200px){.course-summary-sidebar.slide-top .course-summary-sidebar__inner{position:absolute}}.course-graduation span{color:#999}.course-graduation .icon{margin-left:5px;font-size:20px}.course-graduation.passed .icon{color:#059601}.course-graduation.error .icon{color:#d85554}.learn-press-template-warning::before{color:#ffc107;font-family:"Font Awesome 5 Free";content:"\f071"}.lp-badge{display:flex;height:30px;padding:0;line-height:1;align-items:center;justify-content:center}.lp-badge::before,.lp-badge::after{content:""}.lp-badge::before{display:inline-block;position:relative;z-index:10;color:#fff;font-weight:bold;line-height:1}.lp-badge.featured-course{position:absolute;z-index:1;top:25px;right:-110px;width:300px;background:#93f;text-align:center;transform:rotate(45deg)}.lp-badge.featured-course::before{font-size:12px;text-transform:uppercase;content:attr(data-text)}@media(min-width:769px){#learn-press-item-comments{padding-bottom:50px}}.course-tabs input[name=learn-press-course-tab-radio],.course-tabs .course-tab-panel{display:none}.course-tabs .course-nav label{display:flex;align-items:center;justify-content:center;margin:0;padding:17px 10px;font-size:16px;line-height:1;font-weight:600;text-transform:capitalize;cursor:pointer}.no-event{pointer-events:none}@media screen and (max-width:768px){ul.learn-press-courses .course{width:48%}}@media screen and (max-width:600px){ul.learn-press-courses .course{width:100%;margin-left:0}}.course-price:empty{display:none !important}.quiz-attempts .attempts-heading{margin-bottom:15px}.quiz-attempts table{border-spacing:0;border-right:1px solid var(--lp-secondary-color);border-top:1px solid var(--lp-secondary-color);width:100%}.quiz-attempts table tr th,.quiz-attempts table tr td{border-left:1px solid var(--lp-secondary-color);border-bottom:1px solid var(--lp-secondary-color);padding:5px 15px;text-align:center}.quiz-attempts table tr th{font-weight:500}@media(max-width:575px){#popup-course .quiz-attempts{overflow-x:auto}}
|
1 |
+
@charset "UTF-8";@-webkit-keyframes rotating4{from{-webkit-transform:rotate(0);-o-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(-360deg);-o-transform:rotate(-360deg);transform:rotate(-360deg)}}@keyframes rotating4{from{-ms-transform:rotate(0);-moz-transform:rotate(0);-webkit-transform:rotate(0);-o-transform:rotate(0);transform:rotate(0)}to{-ms-transform:rotate(-360deg);-moz-transform:rotate(-360deg);-webkit-transform:rotate(-360deg);-o-transform:rotate(-360deg);transform:rotate(-360deg)}}@-webkit-keyframes animation4{from{right:-40%;width:40%}to{right:100%;width:10%}}@keyframes animation4{from{right:-40%;width:40%}to{right:100%;width:10%}}.learn-press-message{position:relative;margin:0 0 20px 0;padding:10px 15px 10px 50px;border-top:5px solid #00adff;border-radius:0 0 5px 5px;background:#f5f5f5;width:100%}.learn-press-message.icon{padding-right:45px}.learn-press-message.icon::before{background:#00adff}.learn-press-message.icon::after{position:absolute;top:50%;right:15px;width:10px;height:10px;margin-top:-13px;margin-left:10px;border-radius:50%;color:#fff;background:#00adff;font-family:"Font Awesome 5 Free";font-size:20px;line-height:26px;text-align:center;vertical-align:baseline;content:"\f129"}.learn-press-message::before,.learn-press-message::after{position:absolute;top:0;content:""}.learn-press-message::before{left:20px;width:20px;height:30px;background:#00adff}.learn-press-message::after{top:10px;left:20px;width:0;height:0;border:10px solid transparent;border-bottom-color:#f5f5f5}.learn-press-message.error{border-color:#d85554}.learn-press-message.error::before{background:#d85554}.learn-press-message.error.icon::before,.learn-press-message.error.icon::after{background:#d85554}.learn-press-message.error.icon::after{content:"\f00d"}.learn-press-message.warning{border-color:#ffc107}.learn-press-message.warning::before{background:#ffc107}.learn-press-message.warning.icon::before,.learn-press-message.warning.icon::after{background:#ffc107}.learn-press-message.warning.icon::after{content:"\f00d"}.learn-press-message.success{border-color:#059601}.learn-press-message.success::before{background:#059601}.learn-press-message.success.icon::before,.learn-press-message.success.icon::after{background:#059601}.learn-press-message.success.icon::after{content:"\f129"}.learn-press-message a{text-decoration:underline}@keyframes lp-rotating{from{-webkit-transform:rotate(0);-moz-transform:rotate(0);-ms-transform:rotate(0);-o-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(-360deg);-moz-transform:rotate(-360deg);-ms-transform:rotate(-360deg);-o-transform:rotate(-360deg);transform:rotate(-360deg)}}@-webkit-keyframes lp-rotating{from{-webkit-transform:rotate(0);-moz-transform:rotate(0);-ms-transform:rotate(0);-o-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(-360deg);-moz-transform:rotate(-360deg);-ms-transform:rotate(-360deg);-o-transform:rotate(-360deg);transform:rotate(-360deg)}}.ajaxload{display:inline-block;position:relative;width:30px;height:30px;background:#7b7b7b;content:"";-webkit-border-radius:50%;-moz-border-radius:50%;border-radius:50%;-webkit-animation:lp-rotating 1s linear infinite;-moz-animation:lp-rotating 1s linear infinite;animation:lp-rotating 1s linear infinite}.ajaxload::after{-webkit-border-radius:50%;-moz-border-radius:50%;border-radius:50%;display:inline-block;position:absolute;top:2px;right:50%;width:6px;height:6px;margin-right:-3px;background:#dedede;content:""}.lp-ajaxload-style-1{display:inline-block;position:relative;width:32px;height:32px}.lp-ajaxload-style-1::before,.lp-ajaxload-style-1::after{position:absolute;top:0;right:0;width:100%;height:100%;border:3px solid #ddd;content:""}.lp-ajaxload-style-1::after{clip:rect(0,32px,16px,16px);border-color:#2fa7ff;-webkit-border-radius:50%;-moz-border-radius:50%;border-radius:50%;-webkit-animation:lp-rotating 1s linear infinite;-moz-animation:lp-rotating 1s linear infinite;animation:lp-rotating 1s linear infinite}.learn-press-tabs{margin-bottom:34px;background:#f1f2f8}.learn-press-tabs .learn-press-tabs__checker{display:none}.learn-press-tabs .learn-press-tabs__checker:nth-child(1):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(1){border-bottom:0;background:#fff}.learn-press-tabs .learn-press-tabs__checker:nth-child(1):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(1) label{color:#ffb606}.learn-press-tabs .learn-press-tabs__checker:nth-child(1):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(1) label a{color:#ffb606}.learn-press-tabs .learn-press-tabs__checker:nth-child(1):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(1)::before{background:#ffb606}.learn-press-tabs .learn-press-tabs__checker:nth-child(1):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(1)::after{background:#fff}.learn-press-tabs .learn-press-tabs__checker:nth-child(2):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(2){border-bottom:0;background:#fff}.learn-press-tabs .learn-press-tabs__checker:nth-child(2):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(2) label{color:#ffb606}.learn-press-tabs .learn-press-tabs__checker:nth-child(2):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(2) label a{color:#ffb606}.learn-press-tabs .learn-press-tabs__checker:nth-child(2):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(2)::before{background:#ffb606}.learn-press-tabs .learn-press-tabs__checker:nth-child(2):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(2)::after{background:#fff}.learn-press-tabs .learn-press-tabs__checker:nth-child(3):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(3){border-bottom:0;background:#fff}.learn-press-tabs .learn-press-tabs__checker:nth-child(3):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(3) label{color:#ffb606}.learn-press-tabs .learn-press-tabs__checker:nth-child(3):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(3) label a{color:#ffb606}.learn-press-tabs .learn-press-tabs__checker:nth-child(3):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(3)::before{background:#ffb606}.learn-press-tabs .learn-press-tabs__checker:nth-child(3):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(3)::after{background:#fff}.learn-press-tabs .learn-press-tabs__checker:nth-child(4):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(4){border-bottom:0;background:#fff}.learn-press-tabs .learn-press-tabs__checker:nth-child(4):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(4) label{color:#ffb606}.learn-press-tabs .learn-press-tabs__checker:nth-child(4):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(4) label a{color:#ffb606}.learn-press-tabs .learn-press-tabs__checker:nth-child(4):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(4)::before{background:#ffb606}.learn-press-tabs .learn-press-tabs__checker:nth-child(4):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(4)::after{background:#fff}.learn-press-tabs .learn-press-tabs__checker:nth-child(5):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(5){border-bottom:0;background:#fff}.learn-press-tabs .learn-press-tabs__checker:nth-child(5):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(5) label{color:#ffb606}.learn-press-tabs .learn-press-tabs__checker:nth-child(5):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(5) label a{color:#ffb606}.learn-press-tabs .learn-press-tabs__checker:nth-child(5):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(5)::before{background:#ffb606}.learn-press-tabs .learn-press-tabs__checker:nth-child(5):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(5)::after{background:#fff}.learn-press-tabs .learn-press-tabs__checker:nth-child(6):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(6){border-bottom:0;background:#fff}.learn-press-tabs .learn-press-tabs__checker:nth-child(6):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(6) label{color:#ffb606}.learn-press-tabs .learn-press-tabs__checker:nth-child(6):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(6) label a{color:#ffb606}.learn-press-tabs .learn-press-tabs__checker:nth-child(6):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(6)::before{background:#ffb606}.learn-press-tabs .learn-press-tabs__checker:nth-child(6):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(6)::after{background:#fff}.learn-press-tabs .learn-press-tabs__checker:nth-child(7):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(7){border-bottom:0;background:#fff}.learn-press-tabs .learn-press-tabs__checker:nth-child(7):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(7) label{color:#ffb606}.learn-press-tabs .learn-press-tabs__checker:nth-child(7):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(7) label a{color:#ffb606}.learn-press-tabs .learn-press-tabs__checker:nth-child(7):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(7)::before{background:#ffb606}.learn-press-tabs .learn-press-tabs__checker:nth-child(7):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(7)::after{background:#fff}.learn-press-tabs .learn-press-tabs__checker:nth-child(8):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(8){border-bottom:0;background:#fff}.learn-press-tabs .learn-press-tabs__checker:nth-child(8):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(8) label{color:#ffb606}.learn-press-tabs .learn-press-tabs__checker:nth-child(8):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(8) label a{color:#ffb606}.learn-press-tabs .learn-press-tabs__checker:nth-child(8):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(8)::before{background:#ffb606}.learn-press-tabs .learn-press-tabs__checker:nth-child(8):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(8)::after{background:#fff}.learn-press-tabs .learn-press-tabs__checker:nth-child(9):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(9){border-bottom:0;background:#fff}.learn-press-tabs .learn-press-tabs__checker:nth-child(9):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(9) label{color:#ffb606}.learn-press-tabs .learn-press-tabs__checker:nth-child(9):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(9) label a{color:#ffb606}.learn-press-tabs .learn-press-tabs__checker:nth-child(9):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(9)::before{background:#ffb606}.learn-press-tabs .learn-press-tabs__checker:nth-child(9):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(9)::after{background:#fff}.learn-press-tabs .learn-press-tabs__checker:nth-child(10):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(10){border-bottom:0;background:#fff}.learn-press-tabs .learn-press-tabs__checker:nth-child(10):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(10) label{color:#ffb606}.learn-press-tabs .learn-press-tabs__checker:nth-child(10):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(10) label a{color:#ffb606}.learn-press-tabs .learn-press-tabs__checker:nth-child(10):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(10)::before{background:#ffb606}.learn-press-tabs .learn-press-tabs__checker:nth-child(10):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(10)::after{background:#fff}.learn-press-tabs .learn-press-tabs__nav{display:flex;margin:0;padding:0;border:1px solid #e5e7f2;list-style:none}.learn-press-tabs .learn-press-tabs__tab{position:relative;margin:0;border-left:1px solid #e5e7f2;background:#f1f2f8;list-style:none}.learn-press-tabs .learn-press-tabs__tab:last-child{border-left:0}.learn-press-tabs .learn-press-tabs__tab>label{display:block;margin:0;padding:18px 65px;font-size:18px;line-height:1;font-weight:600;text-align:center;text-transform:capitalize;cursor:pointer}.learn-press-tabs .learn-press-tabs__tab>label a{color:#333}.learn-press-tabs .learn-press-tabs__tab>label a:focus{outline:0;text-decoration:none}@media(max-width:767px){.learn-press-tabs .learn-press-tabs__tab>label{padding:20px 50px 14px 50px}}.learn-press-tabs .learn-press-tabs__tab::before{position:absolute;top:-1px;right:0;width:100%;height:4px;background:transparent;content:""}.learn-press-tabs .learn-press-tabs__tab::after{position:absolute;bottom:-1px;right:0;width:100%;height:4px;background:transparent;content:""}.learn-press-tabs .learn-press-tabs__tab:first-child.active label{position:relative}.learn-press-tabs .learn-press-tabs__tab:first-child.active label::before{position:absolute;top:0;right:-1px;width:1px;height:100%;background:#fff;content:""}.learn-press-tabs.stretch .learn-press-tabs__tab{flex:1}.learn-press-tabs.stretch .learn-press-tabs__tab>label{padding:18px 10px}.learn-press-filters{display:flex;margin-bottom:30px;margin-right:0;list-style:none}.learn-press-filters>li{margin:0;font-size:16px;line-height:24px}@media(max-width:767px){.learn-press-filters>li{margin-left:30px;margin-right:0}.learn-press-filters>li:last-child{margin-left:0}}.learn-press-filters>li>a,.learn-press-filters>li>span{display:inline-block;font-weight:600}.learn-press-filters>li>span.count{font-weight:400}.learn-press-filters>li>span.count::before,.learn-press-filters>li>span.count::after{display:inline-block}.learn-press-filters>li>span.count::before{content:"("}.learn-press-filters>li>span.count::after{content:")"}.learn-press-filters>li span{color:#ffb606}.learn-press-filters>li span+span{color:#ffb606}.learn-press-filters>li span+span::before,.learn-press-filters>li span+span::after{color:#ffb606}.learn-press-filters>li a{color:#333;cursor:pointer}.learn-press-filters>li a+span{color:#333}.learn-press-filters>li a+span::before,.learn-press-filters>li a+span::after{color:#333}.learn-press-filters>li::after{margin:0 35px;color:#ccc;content:"|"}@media(max-width:767px){.learn-press-filters>li::after{display:none}}.learn-press-filters>li:last-child::after{display:none}.lp-checkout-form__before,.lp-checkout-form__after{width:45%;width:-webkit-calc(50% - 30px);width:-moz-calc(50% - 30px);width:calc(50% - 30px);margin:0 15px 40px 15px}.lp-checkout-form__before .lp-checkout-block h4,.lp-checkout-form__after .lp-checkout-block h4{margin-top:0;margin-bottom:18px;color:#333;font-size:24px;font-weight:600;line-height:1;font-family:var(--wp--preset--font-family--system-font)}@media(max-width:815px){.lp-checkout-form__before,.lp-checkout-form__after{width:100%;margin:0 0 40px 0}}.lp-checkout-form__before{float:left}.lp-checkout-form__before #checkout-order{width:100%}.lp-checkout-form .lp-checkout-form__after{float:right}.lp-checkout-form .lp-checkout-remember{letter-spacing:0;margin-top:0}.lp-checkout-form .lp-checkout-remember label{width:auto;color:#666;font-size:16px;font-weight:300;line-height:26px}.lp-checkout-form .lp-checkout-remember label input[type=checkbox]{position:relative;top:3px;width:19px;height:19px;margin:0 0 0 4px;border:1px solid #ccc;cursor:pointer;-webkit-appearance:none}.lp-checkout-form .lp-checkout-remember label input[type=checkbox]:focus{outline:0}.lp-checkout-form .lp-checkout-remember label input[type=checkbox]:checked::after{position:absolute;top:2px;right:2px;color:#41abec;font-family:"Font Awesome 5 Free";font-size:14px;font-weight:900;line-height:1;content:"\f00c"}.lp-checkout-form .lp-checkout-remember a{color:#666;font-size:16px;font-weight:300;line-height:26px;text-decoration:underline;text-decoration-color:#ccc}.lp-checkout-form .lp-checkout-remember a:hover{color:var(--lp-primary-color);text-decoration-color:var(--lp-primary-color)}.lp-checkout-form .lp-form-fields{padding:0 0 14px 0}.lp-checkout-form .lp-form-fields label{display:block;margin-bottom:10px;font-size:16px}.lp-checkout-form .lp-form-fields input:not([type=checkbox]){height:44px;line-height:normal;width:100%;padding:0 15px;border:1px solid #ccc}.lp-checkout-form .rwmb-input input:not([type=checkbox]){width:100%;height:43px;padding:0 22px;border:1px solid #ccc;border-radius:3px;background-color:#fff;font-size:14px;font-weight:300;font-style:italic;line-height:43px}.lp-checkout-form .rwmb-input input:not([type=checkbox]):focus{border-color:var(--lp-primary-color);outline:0;color:#222}.lp-checkout-form .rwmb-input ::placeholder{opacity:1;color:#999}.lp-checkout-form .rwmb-input :-ms-input-placeholder{color:#999}.lp-checkout-form .rwmb-input ::-ms-input-placeholder{color:#999}.lp-checkout-form .rwmb-input input:-webkit-autofill,.lp-checkout-form .rwmb-input input:-webkit-autofill:hover,.lp-checkout-form .rwmb-input input:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 1000px #fff inset;-webkit-text-fill-color:#999 !important}.lp-checkout-form{margin:0 -15px;margin-top:50px}@media(max-width:815px){.lp-checkout-form{display:flex;flex-direction:column-reverse;margin:0}}.lp-checkout-form #btn-checkout-account-switch-to-guest{margin-bottom:60px}.lp-checkout-form .description{float:right}.lp-checkout-form a{color:#41abec}.lp-checkout-form a label{display:inline-block;color:inherit;font-weight:normal;cursor:pointer}.lp-checkout-form a:hover{color:#ffb606}.lp-checkout-form #checkout-account-guest{width:100%;margin-bottom:35px;padding-bottom:19px;border-bottom:1px solid rgba(204,204,204,0.3)}.lp-checkout-form #checkout-account-guest .lp-form-fields,.lp-checkout-form #checkout-account-guest .form-field{margin-bottom:0;padding-bottom:0}.lp-checkout-form div.lp-guest-checkout-output{margin-top:10px;padding:8px 20px;border:2px solid #41abec;border-radius:4px;font-size:16px;transition:all .2s ease}.lp-checkout-form label.lp-guest-checkout-output{margin-top:10px;cursor:pointer;user-select:none}.lp-checkout-form .lp-guest-checkout-notice{margin:30px 0 0 0}.lp-checkout-form .lp-guest-switch-login{margin-top:1em;color:#666;font-size:16px;font-weight:400}.lp-checkout-form .lp-guest-switch-login a{display:inline-block}.lp-checkout-form input[name=checkout-account-switch-form]{display:none}.lp-checkout-form input[name=checkout-account-switch-form]:not(:checked)+.lp-checkout-block{display:none;overflow:hidden;height:0;margin:0;padding:0;border:0;opacity:0}.lp-checkout-form input[name=checkout-account-switch-form]:not(:checked)+.lp-checkout-block>*{overflow:hidden;height:0}.lp-checkout-form input[name=checkout-account-switch-form]:checked+.lp-checkout-block{display:block;overflow:auto;height:auto}.lp-checkout-form input[name=checkout-account-switch-form][value=guest]:checked ~ #btn-checkout-account-switch-to-guest{display:none}.lp-checkout-form::after{display:block;clear:both;content:""}.lp-checkout-form:focus{outline:0}#checkout-order .lp-checkout-order__inner{padding:0 20px;border:1px solid #ccc;border-radius:4px}#checkout-order table{width:100%;margin:0;border:0}#checkout-order td,#checkout-order th{box-sizing:content-box;border:1px solid rgba(204,204,204,0.3);border-top:0;border-left:0;border-right:0;background:unset;line-height:1;text-align:right;vertical-align:inherit}#checkout-order td:last-child,#checkout-order th:last-child{padding-left:0}#checkout-order .course-name{font-size:16px;font-weight:600;line-height:26px}#checkout-order .course-name a{display:-webkit-box;overflow:hidden;color:#000;-webkit-line-clamp:1;-webkit-box-orient:vertical}#checkout-order .course-name a:hover{color:var(--lp-primary-color)}#checkout-order .col-number{min-width:50px;color:#666;font-size:16px;font-weight:600;line-height:26px;text-align:left}#checkout-order .order-total>th{padding:24px 0 24px 20px}#checkout-order .order-total .col-number{color:#333;font-size:26px}#checkout-order tfoot .cart-subtotal{color:#666;font-size:16px;font-weight:600;line-height:26px}#checkout-order tfoot .cart-subtotal>th{padding:20px 0 17px 20px}#checkout-order tfoot .order-total th{color:#333;font-size:16px;font-weight:600;line-height:26px}#checkout-order tfoot tr:last-child{border-width:0}#checkout-order tfoot tr:last-child td,#checkout-order tfoot tr:last-child th{border-width:0}#checkout-order .course-thumbnail{width:80px;padding:20px 0 18px 13px}#checkout-order .course-thumbnail>img{width:100px;max-width:100% !important;height:auto !important}#checkout-account-register,#checkout-account-login{width:100%;margin-bottom:35px;padding-bottom:19px;border-bottom:1px solid rgba(204,204,204,0.3)}#checkout-account-register .form-field .rwmb-label,#checkout-account-register .form-field .rwmb-input .description,#checkout-account-login .form-field .rwmb-label,#checkout-account-login .form-field .rwmb-input .description{display:none}#checkout-account-register .lp-checkout-remember label,#checkout-account-login .lp-checkout-remember label{display:inline-block}#checkout-account-register .lp-checkout-remember a,#checkout-account-login .lp-checkout-remember a{float:left}#checkout-account-register .lp-checkout-sign-in-link,#checkout-account-register .lp-checkout-sign-up-link,#checkout-account-login .lp-checkout-sign-in-link,#checkout-account-login .lp-checkout-sign-up-link{display:flex;margin:0;color:#666;font-size:16px;font-weight:400}#checkout-account-register .lp-checkout-sign-in-link a,#checkout-account-register .lp-checkout-sign-up-link a,#checkout-account-login .lp-checkout-sign-in-link a,#checkout-account-login .lp-checkout-sign-up-link a{margin-right:5px;color:#41abec;cursor:pointer}#checkout-account-register .lp-checkout-sign-in-link a:hover,#checkout-account-register .lp-checkout-sign-up-link a:hover,#checkout-account-login .lp-checkout-sign-in-link a:hover,#checkout-account-login .lp-checkout-sign-up-link a:hover{color:var(--lp-primary-color)}#checkout-account-register .lp-checkout-sign-in-link a label,#checkout-account-register .lp-checkout-sign-up-link a label,#checkout-account-login .lp-checkout-sign-in-link a label,#checkout-account-login .lp-checkout-sign-up-link a label{display:inline-block;float:left;color:inherit;font-weight:normal;cursor:pointer}#checkout-payment{width:100%;margin-bottom:25px}#checkout-payment h4{margin-bottom:24px}#checkout-payment .secure-connection{float:left;margin-top:5px;color:#999;font-size:12px;font-weight:normal}#checkout-payment .secure-connection i{margin-left:5px;color:#ccc;font-size:18px}@media(max-width:767px){#checkout-payment .secure-connection{margin-top:0}}#checkout-payment .payment-methods{margin:0 0 24px 0;padding:0;list-style:none}#checkout-payment .lp-payment-method{position:relative;margin:0}#checkout-payment .lp-payment-method>label{display:flex;align-items:center}#checkout-payment .lp-payment-method .gateway-input,#checkout-payment .lp-payment-method .gateway-icon{vertical-align:middle}#checkout-payment .lp-payment-method .gateway-icon{max-height:32px}#checkout-payment .lp-payment-method .gateway-input{position:relative;width:20px;height:20px;margin:0 0 0 8px;border:1px solid #ccc;background:#fff;-webkit-appearance:none;-webkit-border-radius:50%;-moz-border-radius:50%;border-radius:50%}#checkout-payment .lp-payment-method .gateway-input::before{position:absolute;top:50%;right:50%;width:6px;height:6px;background:#41abec;transform:translate(50%,-50%);-webkit-border-radius:50%;-moz-border-radius:50%;border-radius:50%}#checkout-payment .lp-payment-method .gateway-input:checked::before{content:""}#checkout-payment .lp-payment-method .gateway-input:focus{outline:0}#checkout-payment #checkout-order-action button{width:100%;border-color:var(--lp-primary-color);color:#fff;background:var(--lp-primary-color);font-weight:500}#checkout-payment #checkout-order-action button:hover{border-color:var(--lp-primary-color);opacity:.5;background:var(--lp-primary-color)}#checkout-payment #checkout-order-action button.loading::before{display:inline-block;font-family:"Font Awesome 5 Free";font-weight:900;content:"\f110";-webkit-animation:lp-rotating 1s linear infinite;-moz-animation:lp-rotating 1s linear infinite;animation:lp-rotating 1s linear infinite}.lp-terms-and-conditions{color:#666;font-size:16px;font-weight:300;line-height:26px}.lp-terms-and-conditions a{color:#41abec}.lp-terms-and-conditions a:hover{color:var(--lp-primary-color)}.learn-press-checkout.guest-checkout{display:none}.button-continue-guest-checkout{clear:both}#learn-press-checkout .payment-methods{margin:0;padding:0;list-style:none}#learn-press-checkout .payment-methods .lp-payment-method{margin-bottom:20px}#learn-press-checkout .payment-methods .lp-payment-method>label{display:flex;flex-flow:row nowrap;padding:10px 20px;background:#f5f5f5;line-height:40px;cursor:pointer}#learn-press-checkout .payment-methods .lp-payment-method>label img{vertical-align:middle}#learn-press-checkout .payment-methods .lp-payment-method.selected>label{background:#d4d4d4}#learn-press-checkout .payment-methods .payment-method-form{display:none;padding:15px 20px;border-top:1px solid #ddd;background:#f9f9f9}#learn-press-checkout-login,#learn-press-checkout-register{margin-bottom:1.5em;padding:20px 20px 0 20px;border:1px solid #ddd;background:#fff}#learn-press-order-review,.learn-press-checkout-comment{margin-bottom:20px}#checkout-form-login,#checkout-form-register{_display:none}#checkout-form-login .learn-press-form-register,#checkout-form-login .learn-press-form-login,#checkout-form-register .learn-press-form-register,#checkout-form-register .learn-press-form-login{display:none}#checkout-guest-email{margin:0 0 20px 0}#checkout-guest-email .form-heading{margin:0}#checkout-guest-email #checkout-guest-options{margin:0;list-style:none}#checkout-guest-email #checkout-existing-account,#checkout-guest-email #checkout-new-account{display:none;margin:0}#checkout-guest-email.email-exists #checkout-existing-account{display:block}#checkout-guest-email.email-exists #checkout-new-account{display:none}.lp-list-table{width:100%;margin-bottom:20px}.lp-list-table th,.lp-list-table td{padding:20px;border:0 solid rgba(204,204,204,0.3);border-bottom-width:1px;background:#fff;font-size:16px;line-height:1;text-align:right}@media(max-width:767px){.lp-list-table th,.lp-list-table td{padding:15px}}.lp-list-table thead{box-sizing:border-box;border:1px solid #e5e7f2}.lp-list-table thead tr th{height:60px;border-bottom:0;color:#333;background:#f1f2f8;font-size:18px}.lp-list-table tbody,.lp-list-table tfoot{box-sizing:border-box;border:1px solid rgba(204,204,204,0.3);border-top:0}.lp-list-table tbody tr td,.lp-list-table tbody tr th,.lp-list-table tfoot tr td,.lp-list-table tfoot tr th{height:62px;color:#666;background:#fff;font-size:16px;font-weight:300}.lp-list-table tbody tr td a,.lp-list-table tbody tr th a,.lp-list-table tfoot tr td a,.lp-list-table tfoot tr th a{border-bottom:0;color:#666;text-decoration:none}.lp-list-table tbody tr td a:hover,.lp-list-table tbody tr th a:hover,.lp-list-table tfoot tr td a:hover,.lp-list-table tfoot tr th a:hover{color:var(--lp-primary-color)}.lp-list-table tbody tr .column-status .result-percent,.lp-list-table tfoot tr .column-status .result-percent{font-weight:500}.lp-list-table tbody tr .column-status .lp-label,.lp-list-table tfoot tr .column-status .lp-label{font-weight:600}.lp-list-table tbody tr:nth-child(odd),.lp-list-table tfoot tr:nth-child(odd){background:#f5f5f5}.lp-list-table .list-table-nav td{font-size:14px}.lp-list-table .list-table-nav td.nav-text{text-align:right}.lp-list-table .list-table-nav td.nav-pages{text-align:left}.lp-list-table .list-table-nav td.nav-pages .learn-press-pagination{text-align:left}.lp-list-table .list-table-nav td.nav-pages .page-numbers{margin-bottom:0}.lp-label{display:inline-block;color:#666;font-size:16px;font-weight:300;line-height:1}.learn-press-form .form-fields{margin:0;padding:0;list-style:none}.learn-press-form .form-fields .form-field{margin:0 0 20px 0}.learn-press-form .form-fields .form-field label{display:block;margin:0 0 10px 0}.learn-press-form .form-fields .form-field input[type=text],.learn-press-form .form-fields .form-field input[type=email],.learn-press-form .form-fields .form-field input[type=number],.learn-press-form .form-fields .form-field input[type=password],.learn-press-form .form-fields .form-field textarea{width:100%;padding:8px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.learn-press-form .form-fields .form-field .description{margin-top:10px;font-size:14px;font-style:italic;line-height:1.4}.learn-press-form .form-fields .form-field .asterisk{color:red}.learn-press-form-login,.learn-press-form-register{max-width:600px;margin-left:auto;margin-bottom:60px;margin-right:auto;padding:40px;border:1px solid #eee;border-radius:6px;box-shadow:0 4px 6px -1px rgba(0,0,0,0.1),0 2px 4px -1px rgba(0,0,0,0.06) !important}.learn-press-form-login h3,.learn-press-form-register h3{margin-bottom:20px;font-size:28px;line-height:1.4}.learn-press-form-login .form-fields .form-field label,.learn-press-form-register .form-fields .form-field label{font-size:16px;font-weight:400;user-select:none}.learn-press-form-login .form-fields .form-field input[type=text],.learn-press-form-login .form-fields .form-field input[type=password],.learn-press-form-login .form-fields .form-field input[type=tel],.learn-press-form-login .form-fields .form-field input[type=url],.learn-press-form-login .form-fields .form-field input[type=number],.learn-press-form-register .form-fields .form-field input[type=text],.learn-press-form-register .form-fields .form-field input[type=password],.learn-press-form-register .form-fields .form-field input[type=tel],.learn-press-form-register .form-fields .form-field input[type=url],.learn-press-form-register .form-fields .form-field input[type=number]{height:42px;border:1px solid #bbb;border-radius:4px;line-height:42px}.learn-press-form-login .form-fields .form-field input[type=text]:focus,.learn-press-form-login .form-fields .form-field input[type=password]:focus,.learn-press-form-login .form-fields .form-field input[type=tel]:focus,.learn-press-form-login .form-fields .form-field input[type=url]:focus,.learn-press-form-login .form-fields .form-field input[type=number]:focus,.learn-press-form-register .form-fields .form-field input[type=text]:focus,.learn-press-form-register .form-fields .form-field input[type=password]:focus,.learn-press-form-register .form-fields .form-field input[type=tel]:focus,.learn-press-form-register .form-fields .form-field input[type=url]:focus,.learn-press-form-register .form-fields .form-field input[type=number]:focus{border:0;outline:2px solid transparent !important;outline-offset:2px;box-shadow:0 0 0 2px #666 !important}.learn-press-form-login .form-fields .form-field.required label::after,.learn-press-form-register .form-fields .form-field.required label::after{content:" *";display:inline}.learn-press-form-login form[name=learn-press-login]>p>label,.learn-press-form-register form[name=learn-press-login]>p>label{color:#666;font-size:16px;cursor:pointer;user-select:none}.learn-press-form-login form[name=learn-press-login]>p>a,.learn-press-form-register form[name=learn-press-login]>p>a{color:#666;font-size:16px;line-height:1}.learn-press-form-login form[name=learn-press-login]>p:last-child,.learn-press-form-register form[name=learn-press-login]>p:last-child{margin-bottom:0}.learn-press-form-login button[type=submit],.learn-press-form-register button[type=submit]{width:100%;height:50px;border-radius:3px;outline:0;color:#fff;background:var(--lp-primary-color);box-shadow:none;font-size:16px;line-height:1;vertical-align:middle;text-decoration:none}.required label{font-weight:bold}.required label:after{content:" *";display:inline}.lp-password-input{display:flex;flex-direction:column;justify-content:center;position:relative}.lp-password-input input[type=password]{padding-left:2.5rem}.lp-password-input input::-ms-reveal{display:none}.lp-password-input .lp-show-password-input{position:absolute;top:8px;left:10px;cursor:pointer}.lp-password-input .lp-show-password-input::after{font-family:"Font Awesome 5 Free";font-weight:900;content:"\f06e"}.lp-password-input .lp-show-password-input.display-password::after{color:#585858;content:"\f070"}.form-desc{font-size:smaller;font-style:italic}.become-teacher-form{width:90%;max-width:500px;margin:0 auto}.become-teacher-form .form-field input[type=text],.become-teacher-form .form-field input[type=email],.become-teacher-form .form-field input[type=number],.become-teacher-form .form-field input[type=password]{width:100%}body div.entry-content>div.learnpress{--responsive--aligndefault-width:100%;max-width:var(--lp-content-width,100%)}.lp-user-profile{position:relative;background:#fff}.lp-user-profile .lp-user-profile-avatar img{position:relative;width:100%;height:auto;border-radius:unset;display:block}.lp-user-profile .lp-user-profile-avatar+.lp-user-profile-socials{margin-top:10px;margin-bottom:5px}.lp-user-profile .lp-user-profile-socials{display:flex;position:relative;z-index:1;justify-content:center;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.lp-user-profile .lp-user-profile-socials a{display:inline-flex;align-items:center;justify-content:center;width:35px;height:35px;margin:0 7px;border:1px solid #cfcfcf;color:#666;background:#fff;font-size:14px;line-height:35px;text-align:center;-webkit-border-radius:50%;-moz-border-radius:50%;border-radius:50%}.lp-user-profile .lp-user-profile-socials a:hover{border-color:var(--lp-primary-color);color:#fff;background:var(--lp-primary-color)}.lp-user-profile .wrapper-profile-header{color:#fff;background:var(--lp-secondary-color);position:relative}@media(max-width:990px){.lp-user-profile .wrapper-profile-header .lp-profile-content-area{min-height:inherit;padding:50px 15px}.lp-user-profile .wrapper-profile-header .lp-profile-left{float:right;position:static}.lp-user-profile .wrapper-profile-header .lp-profile-right{float:left;width:calc(100% - 270px);margin-right:0}}@media(max-width:768px){.lp-user-profile .wrapper-profile-header .lp-profile-left{width:220px}.lp-user-profile .wrapper-profile-header .lp-profile-right{width:calc(100% - 220px)}.lp-user-profile .wrapper-profile-header .lp-user-profile-socials{margin-left:-5px;margin-right:-5px}.lp-user-profile .wrapper-profile-header .lp-user-profile-socials a{width:36px;height:36px;margin:0 5px;line-height:36px}}@media(max-width:500px){.lp-user-profile .wrapper-profile-header .lp-profile-left{float:none;margin:0 auto}.lp-user-profile .wrapper-profile-header .lp-profile-right{width:100%;padding-top:30px;text-align:center}}.lp-user-profile .wrapper-profile-header::before{left:100%;right:auto}.lp-user-profile .wrapper-profile-header::after{right:100%;left:auto}.lp-user-profile .lp-profile-content-area{position:relative;padding-top:50px;padding-bottom:50px;display:flex;align-items:center}@media(max-width:650px){.lp-user-profile .lp-profile-content-area{flex-direction:column}.lp-user-profile .lp-profile-content-area .lp-profile-right{text-align:center;width:100%;padding:50px 15px 0}}.lp-user-profile .lp-profile-left{min-width:270px;max-width:270px;padding:5px;border:2px solid #eaeaea;border-radius:3px}.lp-user-profile .lp-profile-right{padding-left:15px;padding-right:35px}.lp-user-profile .lp-profile-username{padding-bottom:10px;font-size:18px;font-weight:500;text-transform:capitalize}.lp-user-profile .lp-profile-username::before,.lp-user-profile .lp-profile-username::after{content:"";width:30px;height:1px;background-color:white;display:inline-block;vertical-align:middle;margin:0}.lp-user-profile .lp-profile-username::before{margin-left:5px}.lp-user-profile .lp-profile-username::after{margin-right:5px}.lp-user-profile .lp-profile-user-bio{font-size:16px;font-weight:300;line-height:26px}.lp-user-profile #profile-sidebar{float:right;width:270px;margin-top:0;border:1px solid rgba(0,0,0,0.1);border-top:0;background:#fff;margin-top:58px}@media(max-width:990px){.lp-user-profile #profile-sidebar{width:100%}.lp-user-profile #profile-sidebar .lp-user-profile-avatar{max-width:150px}}.lp-user-profile #profile-nav .lp-profile-nav-tabs{margin:0;padding:0;list-style:none}.lp-user-profile #profile-nav .lp-profile-nav-tabs>li{position:relative;margin:0;border-top:1px solid rgba(204,204,204,0.3)}.lp-user-profile #profile-nav .lp-profile-nav-tabs>li a{display:block;padding:0 20px;color:#333;font-size:16px;font-weight:500;line-height:50px}.lp-user-profile #profile-nav .lp-profile-nav-tabs>li>a{padding:0 52px 0 20px}.lp-user-profile #profile-nav .lp-profile-nav-tabs>li>a>i{display:inline-block;position:absolute;right:24px;width:28px;color:var(--lp-primary-color);font-size:12px;line-height:53px;text-align:right}.lp-user-profile #profile-nav .lp-profile-nav-tabs>li>a::after{float:left;margin-left:4px;color:#999;font-family:"Font Awesome 5 Free";font-size:10px;font-weight:900;content:"\f054"}.lp-user-profile #profile-nav .lp-profile-nav-tabs>li ul li{margin:0}.lp-user-profile #profile-nav .lp-profile-nav-tabs>li ul li a{border-bottom:1px solid #f9f9f9}.lp-user-profile #profile-nav .lp-profile-nav-tabs>li ul li a:hover{color:var(--lp-primary-color);background:#fff}.lp-user-profile #profile-nav .lp-profile-nav-tabs>li ul li:hover>a i{color:var(--lp-primary-color);background:#fff}.lp-user-profile #profile-nav .lp-profile-nav-tabs>li.active,.lp-user-profile #profile-nav .lp-profile-nav-tabs>li:hover{background:var(--lp-primary-color)}.lp-user-profile #profile-nav .lp-profile-nav-tabs>li.active>a::after,.lp-user-profile #profile-nav .lp-profile-nav-tabs>li:hover>a::after{content:"\f053"}.lp-user-profile #profile-nav .lp-profile-nav-tabs>li.active a{padding-right:52px}.lp-user-profile #profile-nav .lp-profile-nav-tabs>li:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px}.lp-user-profile #profile-nav .lp-profile-nav-tabs>li.wishlist>a::before{position:absolute;right:25px;color:var(--lp-primary-color);font-family:"Font Awesome 5 Free";font-size:12px;font-weight:900;content:"\f004"}.lp-user-profile #profile-nav .lp-profile-nav-tabs>li.wishlist:hover a::before{color:#fff}.lp-user-profile #profile-nav .lp-profile-nav-tabs>li.logout>a::after{display:none}.lp-user-profile #profile-nav .lp-profile-nav-tabs li>a{box-sizing:border-box;height:50px}.lp-user-profile #profile-nav .lp-profile-nav-tabs li>ul{display:none;position:absolute;z-index:1000;top:0;right:100%;min-width:150px;margin:0;padding:0;background:#fff;box-shadow:0 15px 20px 0 rgba(0,0,0,0.05);list-style:none}.lp-user-profile #profile-nav .lp-profile-nav-tabs li.active>a,.lp-user-profile #profile-nav .lp-profile-nav-tabs li:hover>a{color:#fff}.lp-user-profile #profile-nav .lp-profile-nav-tabs li.active>a i,.lp-user-profile #profile-nav .lp-profile-nav-tabs li.active>a::after,.lp-user-profile #profile-nav .lp-profile-nav-tabs li:hover>a i,.lp-user-profile #profile-nav .lp-profile-nav-tabs li:hover>a::after{color:#fff}.lp-user-profile #profile-nav .lp-profile-nav-tabs li.active>ul,.lp-user-profile #profile-nav .lp-profile-nav-tabs li:hover>ul{display:block}.lp-user-profile #profile-nav .lp-profile-nav-tabs li.active>ul{position:relative;right:0}.lp-user-profile #profile-nav .lp-profile-nav-tabs li.active>ul .active{background:#fff}.lp-user-profile #profile-nav .lp-profile-nav-tabs li.active>ul .active>a{color:#ffb606}.lp-user-profile #profile-nav .lp-profile-nav-tabs li.active>ul .active>a i{color:#ffb606}@media(max-width:990px){.lp-user-profile #profile-nav{overflow-x:scroll;border-top:1px solid rgba(204,204,204,0.3)}.lp-user-profile #profile-nav .lp-profile-nav-tabs{width:max-content}.lp-user-profile #profile-nav .lp-profile-nav-tabs::after{display:table;clear:both;content:""}.lp-user-profile #profile-nav .lp-profile-nav-tabs>li{float:right;border:0;border-left:1px solid rgba(204,204,204,0.3)}.lp-user-profile #profile-nav .lp-profile-nav-tabs>li>a{height:auto;padding:0 45px 0 20px}.lp-user-profile #profile-nav .lp-profile-nav-tabs>li>a::after{margin-right:10px}.lp-user-profile #profile-nav .lp-profile-nav-tabs>li.has-child a::after{content:"\f077"}.lp-user-profile #profile-nav .lp-profile-nav-tabs>li.active a{padding-right:45px}.lp-user-profile #profile-nav .lp-profile-nav-tabs>li.active a::after{content:"\f078"}.lp-user-profile #profile-nav .lp-profile-nav-tabs>li.active.has-child ul{display:none;width:max-content;transform:translateX(20%)}.lp-user-profile #profile-nav .lp-profile-nav-tabs>li.active.has-child ul::after{display:table;clear:both;box-shadow:0 0;content:""}.lp-user-profile #profile-nav .lp-profile-nav-tabs>li.active.has-child ul li{float:right;border-left:1px solid rgba(204,204,204,0.3)}.lp-user-profile #profile-nav .lp-profile-nav-tabs>li.active.has-child ul li:last-child{border-left:0}.lp-user-profile #profile-nav .lp-profile-nav-tabs>li.active.has-child ul li a{padding:0 10px}.lp-user-profile #profile-nav .lp-profile-nav-tabs li:hover ul{display:none !important}.lp-user-profile #profile-nav .lp-profile-nav-tabs li:not(.has-child)>a::after{display:none}}@media(max-width:560px){.lp-user-profile #profile-nav .lp-profile-nav-tabs>li{max-width:80px}.lp-user-profile #profile-nav .lp-profile-nav-tabs>li>a{font-size:0}.lp-user-profile #profile-nav .lp-profile-nav-tabs>li>a::after{margin-right:0}}.lp-user-profile .lp-profile-content{float:left;width:calc(100% - 300px);margin-bottom:60px;padding-top:58px}@media(max-width:990px){.lp-user-profile .lp-profile-content{width:100%}}@media(max-width:767px){.lp-user-profile .lp-profile-content .learn-press-tabs__nav{display:block;width:100%;border:0}.lp-user-profile .lp-profile-content .learn-press-tabs__nav::after{display:table;clear:both;content:""}.lp-user-profile .lp-profile-content .learn-press-tabs__tab{float:right;border-left:0}.lp-user-profile .lp-profile-content .learn-press-tabs__tab label{padding-left:25px;padding-right:25px}.lp-user-profile .lp-profile-content .profile-orders{overflow-x:scroll}}.lp-user-profile .lp-profile-content .course-categories,.lp-user-profile .lp-profile-content .course-instructor{margin-bottom:14px}.lp-user-profile .lp-profile-content .course-categories{padding:0}.lp-user-profile .lp-profile-content .lp-button{display:block;margin:0 auto 52px auto;padding:13px 34px;border-color:var(--lp-secondary-color);font-size:14px;font-weight:500;-webkit-border-radius:9px;-moz-border-radius:9px;border-radius:9px}.lp-user-profile .lp-profile-content .lp-button:hover{border-color:var(--lp-primary-color)}.lp-user-profile ul.learn-press-courses .course{margin:0 0 40px 0}.lp-user-profile .profile-orders .profile-heading{display:none}.lp-user-profile .profile-orders table{margin-top:0}.lp-user-profile .profile-orders .column-order-actions a{margin-left:6px;color:black;text-decoration:underline;font-weight:500}.lp-user-profile .profile-orders .column-order-actions a:hover,.lp-user-profile .profile-orders .column-order-actions a:focus{color:var(--lp-primary-color)}.lp-user-profile #dashboard-general-statistic{margin-bottom:55px;padding-bottom:20px;border-bottom:1px solid #ddd}.lp-user-profile .dashboard-general-statistic__row{display:flex;margin:0 -15px;justify-content:center;flex-wrap:wrap}.lp-user-profile .dashboard-general-statistic__row .statistic-box{min-width:200px;max-width:270px;margin:0 15px 40px 15px;padding:15px 20px;border:1px solid #ccc;border-radius:4px;background:#f9fafc;text-align:center}@media(max-width:990px){.lp-user-profile .dashboard-general-statistic__row .statistic-box{width:45%}}@media(max-width:767px){.lp-user-profile .dashboard-general-statistic__row .statistic-box{width:100%;margin:0 15px 15px}}.lp-user-profile .dashboard-general-statistic__row .statistic-box:hover{background:#eaeaea}.lp-user-profile .dashboard-general-statistic__row[data-col="2"] .statistic-box{width:50%}.lp-user-profile .dashboard-general-statistic__row[data-col="4"] .statistic-box{width:25%}.lp-user-profile .dashboard-general-statistic__row[data-col="5"] .statistic-box{width:20%}.lp-user-profile .statistic-box .statistic-box__text{margin:0 0 7px 0;padding:0;color:#666;font-size:18px;font-weight:400;line-height:1}.lp-user-profile .statistic-box .statistic-box__number{color:#333;font-size:18px;font-weight:500;line-height:1}.lp-user-profile .profile-courses>h3{margin-top:0;margin-bottom:36px;color:#333;font-size:30px;font-weight:600;line-height:1;text-transform:capitalize}.lp-profile-content table.lp-list-table{border-spacing:0;border-top:1px solid #ccc;border-right:1px solid #ccc;margin-bottom:40px}.lp-profile-content table.lp-list-table tr th,.lp-profile-content table.lp-list-table tr td{border-left:1px solid #ccc;border-bottom:1px solid #ccc;text-align:center}.lp-profile-content table.lp-list-table tr td a{color:var(--wp--preset--color--foreground);font-weight:400}.lp-profile-content table.lp-list-table tr td a:hover{color:var(--lp-primary-color)}.lp-profile-content #profile-content-order-details h3{margin-top:0;font-size:30px;line-height:1.5;font-weight:500;margin-bottom:15px;font-family:var(--wp--preset--font-family--system-font)}.profile-basic-information .form-field,form[name=profile-change-password] .form-field{margin:0 10px 24px 10px}.profile-basic-information .form-field>label,form[name=profile-change-password] .form-field>label{margin:0 0 12px 0;color:#333;font-size:16px;font-weight:500;font-style:italic}.profile-basic-information .form-field .form-field-input input,form[name=profile-change-password] .form-field .form-field-input input{height:43px;padding:8px 20px;font-weight:400}.profile-basic-information .form-field .form-field-input input[type=password],form[name=profile-change-password] .form-field .form-field-input input[type=password]{padding:8px 20px}.profile-basic-information .form-field .form-field-input textarea,form[name=profile-change-password] .form-field .form-field-input textarea{padding:9px 20px 16px 20px;font-weight:300;line-height:24px}.profile-basic-information .form-field .form-field-input input,.profile-basic-information .form-field .form-field-input textarea,form[name=profile-change-password] .form-field .form-field-input input,form[name=profile-change-password] .form-field .form-field-input textarea{border:1px solid #ccc;color:#999;font-size:14px;font-style:italic}.profile-basic-information .form-field .form-field-input input:focus,.profile-basic-information .form-field .form-field-input textarea:focus,form[name=profile-change-password] .form-field .form-field-input input:focus,form[name=profile-change-password] .form-field .form-field-input textarea:focus{border-color:var(--lp-primary-color);outline:0;color:#222}.profile-basic-information .form-field .form-field-input ::placeholder,form[name=profile-change-password] .form-field .form-field-input ::placeholder{opacity:1;color:#999}.profile-basic-information .form-field .form-field-input :-ms-input-placeholder,form[name=profile-change-password] .form-field .form-field-input :-ms-input-placeholder{color:#999}.profile-basic-information .form-field .form-field-input ::-ms-input-placeholder,form[name=profile-change-password] .form-field .form-field-input ::-ms-input-placeholder{color:#999}.profile-basic-information .form-field .form-field-input .description,form[name=profile-change-password] .form-field .form-field-input .description{margin-top:15px}@media(max-width:767px){.profile-basic-information .form-field,form[name=profile-change-password] .form-field{margin:0 0 24px 0}}.profile-basic-information .form-field__50,form[name=profile-change-password] .form-field__50{float:right;width:calc(50% - 20px);margin-left:10px}@media(max-width:767px){.profile-basic-information .form-field__50,form[name=profile-change-password] .form-field__50{float:unset;width:100%;margin:0 0 24px 0}}.profile-basic-information .form-field__clear,form[name=profile-change-password] .form-field__clear{clear:both}.profile-basic-information button,form[name=profile-change-password] button{padding:16px 24px;border:0;border-radius:3px;color:#fff;background:var(--lp-primary-color);font-size:16px;font-weight:400;line-height:1}.profile-basic-information button:hover,form[name=profile-change-password] button:hover{opacity:.5;background:var(--lp-primary-color)}.profile-basic-information p,form[name=profile-change-password] p{margin:0}#learn-press-profile-basic-information .form-fields::after{display:block;clear:both;content:""}@media(max-width:767px){#learn-press-profile-basic-information .form-fields{margin:0}}#learn-press-profile-basic-information button[type=submit]{padding:0 15px;height:40px;line-height:40px;border:0;display:inline-flex;align-items:center;justify-content:center;background-color:var(--lp-primary-color);color:white;font-size:16px;font-weight:400;-webkit-transition:.3s;-moz-transition:.3s;-ms-transition:.3s;-o-transition:.3s;transition:.3s;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}#learn-press-profile-basic-information button[type=submit]:hover{opacity:.5;background-color:var(--lp-primary-color)}.recover-order__title{margin-bottom:5px}.recover-order__description{margin-bottom:20px;color:#999;font-size:.8em;font-style:italic}div.order-recover{display:flex}div.order-recover>.button-recover-order{margin:0;margin-right:20px;flex:0 0 auto}div.order-recover>.button-recover-order.loading::before{display:inline-block;margin-left:5px;font-family:"Font Awesome 5 Free";font-weight:900;content:"\f110";animation:lp-rotating 1s linear infinite}div.order-recover input[type=text]{width:100%;height:43px;margin-left:10px;padding:0 22px;border:1px solid #ccc;border-radius:3px;background-color:#fff;font-size:14px;font-weight:300;font-style:italic;line-height:43px;flex:1 1 auto}.learn-press-profile-course__progress .lp_profile_course_progress{border:1px solid #eee;border-top:0;overflow-x:auto}.learn-press-profile-course__progress .lp_profile_course_progress__item{display:grid;align-items:center;padding:15px;border-top:1px solid #eee;grid-template-columns:90px 1fr 80px 190px 140px;column-gap:20px}.learn-press-profile-course__progress .lp_profile_course_progress__item div img{max-width:60px;height:auto}@media(max-width:575px){.learn-press-profile-course__progress .lp_profile_course_progress__item div img{max-width:100%}}@media(max-width:575px){.learn-press-profile-course__progress .lp_profile_course_progress__item{display:block}}.learn-press-profile-course__progress .lp_profile_course_progress__header{background-color:#eee}@media(max-width:575px){.learn-press-profile-course__progress .lp_profile_course_progress__header{display:flex;overflow-x:auto;white-space:nowrap;justify-content:flex-end}}.lp_profile_course_progress__nav button.loading::before{display:inline-block;margin-left:5px;font-family:"Font Awesome 5 Free";font-weight:900;content:"\f110";-webkit-animation:lp-rotating 1s linear infinite;-moz-animation:lp-rotating 1s linear infinite;animation:lp-rotating 1s linear infinite}.entry-content ul.learn-press-profile-course__tab__inner{padding:0}.content ul.learn-press-courses{margin-right:-15px;margin-left:-15px}.content ul.learn-press-courses[data-layout=list]{margin:0}.learn-press-profile-course__tab__inner{display:flex;margin:40px 0 0 0 !important;padding:0 !important;background:#eee;list-style:none !important}.learn-press-profile-course__tab__inner>li{list-style:none;margin:0 !important}.learn-press-profile-course__tab__inner>li:hover{cursor:pointer}.learn-press-profile-course__tab__inner a{display:inline-block;padding:15px 30px;font-weight:600;position:relative}.learn-press-profile-course__tab__inner a.active{color:var(--lp-primary-color);background:#fff}.learn-press-profile-course__tab__inner a.active::before{content:"";height:3px;width:100%;background-color:var(--lp-primary-color);position:absolute;top:0;right:0;left:auto}.learn-press-course-tab-filters .learn-press-filters{margin-top:20px;margin-right:0;padding:0;list-style:none}.learn-press-course-tab-filters .learn-press-filters a.active{color:var(--lp-primary-color)}.lp-profile-content ul{list-style:none !important;padding:0 !important}.learnpress_avatar__form label{display:inline-block}.learnpress_avatar__form input[type=file]{display:none}.learnpress_avatar__form__upload{display:flex;width:200px;height:200px;border:1px dashed #ccc;border-radius:3px;background-color:#fafafa;font-size:14px;font-weight:300;font-style:italic;line-height:43px;text-align:center;cursor:pointer;align-items:center;justify-content:center}.learnpress_avatar__form__upload div{line-height:1.4}.learnpress_avatar__button--loading::before{display:inline-block;margin-left:5px;font-family:"Font Awesome 5 Free";font-weight:900;content:"\f110";-webkit-animation:lp-rotating 1s linear infinite;-moz-animation:lp-rotating 1s linear infinite;animation:lp-rotating 1s linear infinite}button.learnpress_avatar__button{height:40px;padding:0 15px;border:0;background:var(--lp-primary-color);color:white;margin-top:15px;border-radius:3px}button.learnpress_avatar__button+button{margin-right:15px;margin-left:0}#primary .learn-press-courses[data-size="3"] .course{width:50%}body.learnpress .learn-press-tabs .learn-press-tabs__tab,body.learnpress .attachment-recent-works-thumbnail{border-radius:0}#learn-press-course-tabs.show-all .course-tab-panel{margin-bottom:40px}#learn-press-course-tabs input[name=learn-press-course-tab-radio]:nth-child(1):checked ~ .course-tab-panels .course-tab-panel:nth-child(1){display:block}#learn-press-course-tabs input[name=learn-press-course-tab-radio]:nth-child(1):checked ~ .learn-press-nav-tabs .course-nav:nth-child(1){border-bottom:0}#learn-press-course-tabs input[name=learn-press-course-tab-radio]:nth-child(1):checked ~ .learn-press-nav-tabs .course-nav:nth-child(1) label{color:var(--lp-primary-color);background:#fff}#learn-press-course-tabs input[name=learn-press-course-tab-radio]:nth-child(2):checked ~ .course-tab-panels .course-tab-panel:nth-child(2){display:block}#learn-press-course-tabs input[name=learn-press-course-tab-radio]:nth-child(2):checked ~ .learn-press-nav-tabs .course-nav:nth-child(2){border-bottom:0}#learn-press-course-tabs input[name=learn-press-course-tab-radio]:nth-child(2):checked ~ .learn-press-nav-tabs .course-nav:nth-child(2) label{color:var(--lp-primary-color);background:#fff}#learn-press-course-tabs input[name=learn-press-course-tab-radio]:nth-child(3):checked ~ .course-tab-panels .course-tab-panel:nth-child(3){display:block}#learn-press-course-tabs input[name=learn-press-course-tab-radio]:nth-child(3):checked ~ .learn-press-nav-tabs .course-nav:nth-child(3){border-bottom:0}#learn-press-course-tabs input[name=learn-press-course-tab-radio]:nth-child(3):checked ~ .learn-press-nav-tabs .course-nav:nth-child(3) label{color:var(--lp-primary-color);background:#fff}#learn-press-course-tabs input[name=learn-press-course-tab-radio]:nth-child(4):checked ~ .course-tab-panels .course-tab-panel:nth-child(4){display:block}#learn-press-course-tabs input[name=learn-press-course-tab-radio]:nth-child(4):checked ~ .learn-press-nav-tabs .course-nav:nth-child(4){border-bottom:0}#learn-press-course-tabs input[name=learn-press-course-tab-radio]:nth-child(4):checked ~ .learn-press-nav-tabs .course-nav:nth-child(4) label{color:var(--lp-primary-color);background:#fff}#learn-press-course-tabs input[name=learn-press-course-tab-radio]:nth-child(5):checked ~ .course-tab-panels .course-tab-panel:nth-child(5){display:block}#learn-press-course-tabs input[name=learn-press-course-tab-radio]:nth-child(5):checked ~ .learn-press-nav-tabs .course-nav:nth-child(5){border-bottom:0}#learn-press-course-tabs input[name=learn-press-course-tab-radio]:nth-child(5):checked ~ .learn-press-nav-tabs .course-nav:nth-child(5) label{color:var(--lp-primary-color);background:#fff}#learn-press-course-tabs input[name=learn-press-course-tab-radio]:nth-child(6):checked ~ .course-tab-panels .course-tab-panel:nth-child(6){display:block}#learn-press-course-tabs input[name=learn-press-course-tab-radio]:nth-child(6):checked ~ .learn-press-nav-tabs .course-nav:nth-child(6){border-bottom:0}#learn-press-course-tabs input[name=learn-press-course-tab-radio]:nth-child(6):checked ~ .learn-press-nav-tabs .course-nav:nth-child(6) label{color:var(--lp-primary-color);background:#fff}#learn-press-course-tabs input[name=learn-press-course-tab-radio]:nth-child(7):checked ~ .course-tab-panels .course-tab-panel:nth-child(7){display:block}#learn-press-course-tabs input[name=learn-press-course-tab-radio]:nth-child(7):checked ~ .learn-press-nav-tabs .course-nav:nth-child(7){border-bottom:0}#learn-press-course-tabs input[name=learn-press-course-tab-radio]:nth-child(7):checked ~ .learn-press-nav-tabs .course-nav:nth-child(7) label{color:var(--lp-primary-color);background:#fff}#learn-press-course-tabs input[name=learn-press-course-tab-radio]:nth-child(8):checked ~ .course-tab-panels .course-tab-panel:nth-child(8){display:block}#learn-press-course-tabs input[name=learn-press-course-tab-radio]:nth-child(8):checked ~ .learn-press-nav-tabs .course-nav:nth-child(8){border-bottom:0}#learn-press-course-tabs input[name=learn-press-course-tab-radio]:nth-child(8):checked ~ .learn-press-nav-tabs .course-nav:nth-child(8) label{color:var(--lp-primary-color);background:#fff}#learn-press-course-tabs input[name=learn-press-course-tab-radio]:nth-child(9):checked ~ .course-tab-panels .course-tab-panel:nth-child(9){display:block}#learn-press-course-tabs input[name=learn-press-course-tab-radio]:nth-child(9):checked ~ .learn-press-nav-tabs .course-nav:nth-child(9){border-bottom:0}#learn-press-course-tabs input[name=learn-press-course-tab-radio]:nth-child(9):checked ~ .learn-press-nav-tabs .course-nav:nth-child(9) label{color:var(--lp-primary-color);background:#fff}.course-tab-panels .course-tab-panel{padding-top:30px}.course-tab-panel{display:none}.course-tab-panel.active{display:block}.course-tab-panel .course-description{color:#666;font-size:16px;font-weight:300;line-height:26px}.course-tab-panel .course-description h4{margin-top:0;margin-bottom:1.125rem;color:#333;font-size:18px;font-weight:500}.course-tab-panel .course-description p{line-height:inherit}.course-tab-panel .course-description img{max-width:100%;height:auto;vertical-align:middle}.course-tab-panel .lp-course-author{display:flex;margin-bottom:40px}@media(max-width:767px){.course-tab-panel .lp-course-author{flex-direction:column}}.course-tab-panel .lp-course-author .course-author__pull-left{margin-left:30px;text-align:center;align-items:center}@media(max-width:767px){.course-tab-panel .lp-course-author .course-author__pull-left{margin-left:0;margin-bottom:30px}}.course-tab-panel .lp-course-author img{width:50px;height:50px;margin-bottom:20px;border-radius:50%;object-fit:cover;object-position:center}.course-tab-panel .lp-course-author .course-author__pull-right{flex:1}@media(max-width:767px){.course-tab-panel .lp-course-author .course-author__pull-right{width:100%;text-align:center}}.course-tab-panel .lp-course-author .author-title{margin-bottom:18px}.course-tab-panel .lp-course-author .author-title a{color:#333;box-shadow:none;font-size:18px;font-weight:500;text-transform:capitalize}.course-tab-panel .lp-course-author .author-title a:hover{color:var(--lp-primary-color)}.course-tab-panel .lp-course-author .author-description{color:#666;font-size:16px;font-weight:300;line-height:26px}.course-tab-panel .lp-course-author .author-socials{display:grid;grid-template-columns:repeat(4,33px);gap:10px;justify-content:center}.course-tab-panel .lp-course-author .author-socials>a{display:inline-block;width:33px;height:33px;margin:0;border:1px solid #ededed;border-radius:50%;color:#878787;box-shadow:none;font-size:14px;line-height:33px;text-align:center;vertical-align:middle;transition:all .3s}.course-tab-panel .lp-course-author .author-socials>a:hover{border-color:var(--lp-primary-color);color:#fff;background:var(--lp-primary-color)}.course-tab-panel .lp-course-author .author-socials .fa-googleplus::before{content:"\f0d5"}.course-summary div.lp-list-co-instructor{display:grid;grid-template-columns:repeat(2,1fr);gap:40px}.course-summary div.lp-list-co-instructor__item{display:flex;column-gap:30px}@media(max-width:767px){.course-summary div.lp-list-co-instructor__item{align-items:center;flex-direction:column;padding:0 15px;column-gap:0;row-gap:10px}}.course-summary div.lp-list-co-instructor__avatar>img{width:100%;max-width:96px;border-radius:999px}.course-summary div.lp-list-co-instructor__bio{flex:1}.course-summary div.lp-list-co-instructor__bio__top>a{font-size:18px;font-weight:600}.course-summary div.lp-list-co-instructor__bio__description{font-size:1rem}.course-summary .course-price{margin-bottom:10px}.course-summary .course-price .origin-price,.course-summary .course-price .price{vertical-align:middle}.course-summary .course-price .origin-price{margin-left:10px;font-size:18px;font-style:italic;text-decoration:line-through}.course-summary .course-price .price{font-size:24px}.course-summary .course-summary-sidebar .lp-course-buttons{margin-bottom:20px}.course-summary .course-featured-review .featured-review__title{margin-top:0;margin-bottom:6px;font-size:1.2rem;font-weight:500}.course-summary .course-featured-review .featured-review__stars{padding-bottom:12px;color:var(--lp-primary-color);font-size:16px}.course-summary .course-featured-review .featured-review__content{position:relative;color:#666;font-size:1rem;font-style:italic;line-height:24px}.course-summary .course-featured-review .featured-review__content::after{position:absolute;top:-42px;left:-15px;color:rgba(102,102,102,0.1);font-family:Arial;font-size:180px;font-weight:700;font-style:normal;content:"‘‘";transform:rotate(-180deg)}.course-summary .course-tags a{display:inline-block;padding:3px 5px;border-radius:4px;color:#fff;background:#9aa5ab;font-size:12px;line-height:1}.edit-content{margin-right:5px}ul.learn-press-nav-tabs{display:flex;margin:0;padding:0;border-bottom:0;background:#f1f2f8;list-style:none}ul.learn-press-nav-tabs .course-nav{float:right;position:relative;margin:0;list-style:none}ul.learn-press-nav-tabs .course-nav:first-child.active::after{position:absolute;top:-1px;right:-1px;width:1px;height:100%;background:#fff;content:""}ul.learn-press-nav-tabs .course-nav:last-child{border-left:0}ul.learn-press-nav-tabs .course-nav:last-child.active::after{position:absolute;top:-1px;left:-2px;width:2px;height:100%;background:#fff;content:""}ul.learn-press-nav-tabs .course-nav.active{border-bottom:0}ul.learn-press-nav-tabs .course-nav.active::before{position:absolute;top:-1px;right:0;width:100%;height:3px;background:var(--lp-primary-color);content:""}ul.learn-press-nav-tabs .course-nav.active label{color:var(--lp-primary-color);background-color:white}ul.learn-press-nav-tabs .course-nav a{display:inline-block;padding:10px 20px;border-bottom:0;outline:0;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}ul.learn-press-nav-tabs .course-nav a:focus{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}ul.learn-press-nav-tabs[data-tabs] .course-nav{flex:1}ul.learn-press-nav-tabs[data-tabs] .course-nav a{width:100%;text-align:center}ul.learn-press-nav-tabs::after{display:block;clear:both;content:""}@media(max-width:767px){ul.learn-press-nav-tabs{display:grid;grid-template-columns:repeat(2,1fr);max-height:none}}.course-item-popup #tab-curriculum{display:block}.course-curriculum ul.curriculum-sections{position:relative;z-index:499;margin:0;padding:0;list-style:none}.course-curriculum ul.curriculum-sections .closed .section-item__loadmore{display:none}.course-curriculum ul.curriculum-sections .section{margin:0;padding:0;flex-wrap:wrap}.course-curriculum ul.curriculum-sections .section:last-child{padding:0}.course-curriculum ul.curriculum-sections .section.section-empty .section-header{margin-bottom:20px}.course-curriculum ul.curriculum-sections .section.section-empty .learn-press-message{margin-left:15px;margin-right:15px}.course-curriculum ul.curriculum-sections .section-title.c+.section-desc{display:block}.course-curriculum ul.curriculum-sections .section-title.c span.show-desc::before{-webkit-transform:rotate(-180deg);-moz-transform:rotate(-180deg);-ms-transform:rotate(-180deg);-o-transform:rotate(-180deg);transform:rotate(-180deg);top:0}.course-curriculum ul.curriculum-sections .item-meta.duration{background:#d9e0f1}.course-curriculum .section-item__loadmore{display:flex;justify-content:center;align-items:center}.course-curriculum .section-item__loadmore button{display:inline-flex;margin-top:10px;margin-left:auto;margin-right:auto;padding:10px 20px;border:1px solid #ccc;border-radius:4px;outline:0;color:#222;background:#f7f7f7;box-shadow:none;font-weight:500;justify-content:center;align-items:center;cursor:pointer;font-size:1rem;font-family:sans-serif}.course-curriculum .section-item__loadmore.loading button::before{display:inline-block;margin-left:5px;font-family:"Font Awesome 5 Free";font-weight:900;content:"\f110";-webkit-animation:lp-rotating 1s linear infinite;-moz-animation:lp-rotating 1s linear infinite;animation:lp-rotating 1s linear infinite}.course-curriculum .section-header{display:table;width:100%;padding:0 0 26px 0;border-bottom:0;border-bottom:1px solid #d9e0f1;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.course-curriculum .section-header .section-title,.course-curriculum .section-header .section-desc{margin:0}.course-curriculum .section-header span.show-desc{display:inline-block;position:absolute;top:50%;left:30px;width:20px;height:20px;transform:translate(0,-50%)}.course-curriculum .section-header span.show-desc::before{font-family:"Font Awesome 5 Free";font-size:18px;font-weight:900;content:"\f107"}.course-curriculum .section-header span.show-desc:hover::before{border-top-color:#ccc}.course-curriculum .section-header .section-desc{margin:0;margin-top:10px;font-size:14px;line-height:21px;color:#999;font-style:italic}.course-curriculum .section-header .section-meta{display:block;padding-top:17px;padding-bottom:15px;font-size:14px;text-align:left;vertical-align:middle;white-space:nowrap}.course-curriculum .section-item{width:100%}.course-curriculum .section-content{margin:0 0 15px 0;padding:0;list-style:none}.course-curriculum .section-content .course-item-meta{display:table-cell;padding:10px 0;text-align:left;vertical-align:middle;white-space:nowrap}.course-curriculum .section-content .course-item-meta .item-meta{display:inline-block;margin-right:14px;border-radius:3px;color:#fff;font-size:14px;line-height:23px;text-align:center;vertical-align:middle;padding:0 8px}.course-curriculum .section-content .course-item-meta .item-meta.final-quiz{background:#14c4ff}.course-curriculum .section-content .course-item-meta .item-meta.trans{padding:0}.course-curriculum .section-content .course-item-meta .count-questions{background:#9672cf}.course-curriculum .section-content .course-item-meta .duration{background:silver}.course-curriculum .section-content .course-item-meta .course-item-status{padding:0;color:#999;-webkit-border-radius:50%;-moz-border-radius:50%;border-radius:50%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.course-curriculum .section-content .course-item-meta .course-item-status::before{font-family:"Font Awesome 5 Free";font-size:14px;font-weight:900;vertical-align:middle;text-transform:lowercase;content:"\f00c"}.course-curriculum .section-content .course-item-preview{font-style:normal;padding:0}.course-curriculum .section-content .course-item-preview::before{color:#fff;padding:0 8px;background:#00adff;display:inline-flex;align-items:center;justify-content:center;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;vertical-align:baseline;content:attr(data-preview)}.course-curriculum .course-item{display:flex;position:relative;margin:0 0 2px 0;padding:0 30px 0 15px;background:rgba(241,242,248,0.4);font-size:14px;transition:padding-right linear .15s}@media(max-width:767px){.course-curriculum .course-item{padding:0 15px 0 0}}.course-curriculum .course-item>span{display:flex;width:28px;color:#666;font-size:16px;font-weight:300;align-items:center}.course-curriculum .course-item .section-item-link{display:table;padding-left:15px;padding-right:0;border-bottom:0;outline:0;box-shadow:none;line-height:1.5;color:#777;text-decoration:none}.course-curriculum .course-item .section-item-link:hover .item-name{color:var(--lp-primary-color)}.course-curriculum .course-item .section-item-link::before{display:table-cell;display:table-cell;right:0;width:20px;padding:15px 0;color:var(--lp-primary-color);font-family:"Font Awesome 5 Free";font-size:18px;font-weight:400;vertical-align:middle;transition:right linear .15s}.course-curriculum .course-item .item-icon,.course-curriculum .course-item .item-name{display:table-cell;padding:17px 16px;color:#333;font-size:16px;font-weight:600;vertical-align:middle}.course-curriculum .course-item .item-icon::before{font-size:18px}.course-curriculum .course-item .item-icon.icon-lock{float:left;margin-top:15px}.course-curriculum .course-item.course-item-lp_quiz .section-item-link::before{content:"\f059"}.course-curriculum .course-item.course-item-lp_lesson .section-item-link::before{content:"\f15b"}.course-curriculum .course-item.course-item-lp_lesson.course-item-type-video .section-item-link::before{content:"\f03d"}.course-curriculum .course-item.course-item-lp_lesson.course-item-type-audio .section-item-link::before{content:"\f028"}.course-curriculum .course-item.item-locked .course-item-status::before{color:var(--lp-secondary-color);content:"\f023"}.course-curriculum .course-item.has-status{padding-top:1px}.course-curriculum .course-item.has-status.status-completed .course-item-status::before,.course-curriculum .course-item.has-status.status-evaluated .course-item-status::before{color:#3bb54a}.course-curriculum .course-item.has-status.item-failed .course-item-status::before,.course-curriculum .course-item.has-status.failed .course-item-status::before{border-color:#f02425;color:#f02425;content:"\f00d"}.course-curriculum .course-item::before{position:absolute;top:50%;right:0;width:3px;height:0;background:#00adff;content:"";transition:height linear .15s,top linear .15s}.course-curriculum .course-item.current{padding-right:10px;background:#f9f9f9}.course-curriculum .course-item.current a::before{right:10px}.course-curriculum .course-item.current::before{top:0;height:100%}.course-curriculum .section-left{vertical-align:top}.course-curriculum .section-left .section-title{padding:0;color:#666;font-size:1.4rem;letter-spacing:0;text-transform:capitalize;display:block}.course-curriculum .curriculum-more__button{display:flex;width:100%;margin-top:20px;margin-bottom:20px;padding:10px 0;border:0;outline:0;color:#fff;background:#333;box-shadow:none;justify-content:center;align-items:center;cursor:pointer;font-size:1rem;font-family:sans-serif}.course-curriculum .curriculum-more__button.loading::before{display:inline-block;margin-left:5px;font-family:"Font Awesome 5 Free";font-weight:900;content:"\f110";-webkit-animation:lp-rotating 1s linear infinite;-moz-animation:lp-rotating 1s linear infinite;animation:lp-rotating 1s linear infinite}body.course-item-popupx{overflow:hidden;_opacity:0}body.course-item-popupx #learn-press-course-curriculum{overflow:auto;position:fixed;z-index:9999;top:32px;bottom:0;right:0;width:400px;border-left:1px solid #ddd;background:#fff}body.course-item-popupx #learn-press-course-curriculum .section-header{padding:0 15px}body.course-item-popupx #learn-press-course-curriculum .section-header .section-desc{margin:-10px 0 5px}body.course-item-popupx #learn-press-course-curriculum .course-item{padding-left:15px;padding-right:15px}body.course-item-popupx #learn-press-course-curriculum .course-item a::before{right:15px}body.course-item-popupx #learn-press-content-item{overflow:hidden;position:fixed;z-index:9999;top:32px;left:0;bottom:0;right:400px;background:#fff}body.course-item-popupx #learn-press-content-item .content-item-wrap{max-width:900px;margin:10px auto}body.course-item-popupx #learn-press-content-item .course-item-title{font-size:1.4rem}body.course-item-popupx #learn-press-content-item .content-question-summary .review-heading{text-align:center}body.course-item-popupx #learn-press-content-item .content-question-summary .question-title{margin-bottom:10px;font-size:1.2rem}body.course-item-popupx #content-item-nav{position:fixed;z-index:99999;left:0;bottom:0;right:400px;height:60px;border-top:1px solid #ddd;background:#f5f5f5}body.course-item-popupx #content-item-nav .content-item-nav-wrap{max-width:900px;margin:10px auto}body.course-item-popupx #content-item-nav button{height:40px;padding:0 20px;line-height:40px}body.course-item-popupx .comment-form-textarea{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}body.course-item-popupx.wpadminbar #learn-press-course-curriculum,body.course-item-popupx.wpadminbar #learn-press-content-item{top:92px}body.course-item-popupx.wpadminbar .content-item-description{margin-bottom:20px}body.course-item-popupx .content-item-summary{margin-bottom:50px}body.course-item-popupx .content-item-summary>h3{margin-bottom:20px}body.course-item-popupx .content-item-summary.content-item-video .entry-video{position:absolute;top:0;right:0;width:100%;background:#000;line-height:1}body.course-item-popupx .content-item-summary.content-item-video .entry-video iframe{width:100%;max-width:900px;margin-bottom:0;vertical-align:top}body.course-item-popupx .learn-press-content-protected-message{margin-bottom:50px;padding:20px;background:#ffe0e0}body.course-item-popupx.content-only #learn-press-content-item{z-index:9999999;top:0;bottom:0;right:0}body.course-item-popupx.content-only #learn-press-content-item .content-item-scrollable{bottom:0}body #ifr-course-item{position:absolute;z-index:999999;top:0;right:0;width:100%;height:100%;background:#fff}body .content-item-summary .form-button-finish-course,body .lp-quiz-buttons .form-button-finish-course{float:left}#wpadminbar #wp-admin-bar-edit-lp_quiz .ab-item::before,#wpadminbar #wp-admin-bar-edit-lp_lesson .ab-item::before,#wpadminbar #wp-admin-bar-edit-lp_question .ab-item::before{top:2px;font-family:"Font Awesome 5 Free"}#wpadminbar #wp-admin-bar-edit-lp_quiz .ab-item::before{content:"\f017"}#wpadminbar #wp-admin-bar-edit-lp_lesson .ab-item::before{content:"\f15c"}#wpadminbar #wp-admin-bar-edit-lp_question .ab-item::before{content:"\f29c"}.scroll-wrapper{overflow:hidden;opacity:0}.scroll-wrapper .scroll-element{background:transparent}.scroll-wrapper .scroll-element.scroll-y.scroll-scrolly_visible{transition:opacity .25s}.scroll-wrapper:hover .scroll-element.scroll-y.scroll-scrolly_visible{opacity:.7}.course-remaining-time .label-enrolled{font-size:inherit}.learn-press-form.completed button::before{margin-left:10px;font-family:"Font Awesome 5 Free";font-size:18px;content:"\f00c"}.lp-course-progress{position:relative}.lp-course-progress .lp-passing-conditional{position:absolute;top:0;width:3px;height:6px;margin-right:-1px;background:var(--lp-secondary-color)}.viewing-course-item .section-header .section-desc{display:none}.viewing-course-item .content-item-wrap{margin-top:50px}.course-meta{display:flex;margin-bottom:40px}.course-meta .course-meta__pull-left,.course-meta .course-meta__pull-right{display:flex;flex-wrap:wrap}.course-meta .course-meta__pull-left{flex:1}.course-meta .course-meta__pull-left .meta-item{margin-left:10px}.course-meta .course-meta__pull-right{flex:0 0 50%}.course-meta .course-meta__pull-right .meta-item{margin-right:10px}.course-meta.course-meta-primary .meta-item{flex:1}.course-meta.two-columns .course-meta{flex:1}.course-extra-box{margin-bottom:3px;border:1px solid rgba(204,204,204,0.3);border-radius:5px}.course-extra-box__title{--extra-height:50px;display:flex;align-items:center;position:relative;height:var(--extra-height);margin:0 !important;padding:0 38px 0 45px;background:rgba(181,187,211,0.15);font-size:1.1rem;font-weight:600;cursor:pointer}@media(max-width:767px){.course-extra-box__title{padding-right:15px}}.course-extra-box__title::after{position:absolute;top:0;left:20px;color:#666;font-family:"Font Awesome 5 Free";line-height:var(--extra-height);content:"\f0d7"}.course-extra-box__content{display:none}.course-extra-box__content-inner{-webkit-animation-name:course-extra-box__content-inner-transform;animation-name:course-extra-box__content-inner-transform;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;-webkit-animation-iteration-count:1;animation-iteration-count:1;-webkit-animation-direction:normal;animation-direction:normal}.course-extra-box__content ul,.course-extra-box__content li{list-style:none}.course-extra-box__content ul{margin:0;padding:0}.course-extra-box__content li{margin:0;padding:10px 38px;border-bottom:1px solid rgba(204,204,204,0.3);color:#666;font-size:16px;font-weight:300}@media(max-width:767px){.course-extra-box__content li{padding-right:30px;padding-left:30px}}.course-extra-box__content li::before{margin-left:8px;color:var(--lp-primary-color);font-family:"Font Awesome 5 Free";font-weight:900;content:"\f00c"}.course-extra-box__content li:last-child{border-bottom:0}.course-extra-box:last-child{margin-bottom:60px}.course-extra-box.active .course-extra-box__title::after{content:"\f0d8"}.course-extra-box+.comment-respond,.course-extra-box+.comments-area{margin-top:60px;margin-bottom:30px}.course-extra-box+.course-tabs{margin-top:60px}input[name=course-extra-box-ratio]{display:none}input[name=course-extra-box-ratio]:checked+.course-extra-box .course-extra-box__content{display:block}input[name=course-extra-box-ratio]:checked+.course-extra-box .course-extra-box__content .course-extra-box__content-inner{transform:scale(1)}@-webkit-keyframes course-extra-box__content-inner-transform{from{opacity:0;-webkit-transform:translateX(-5%);-moz-transform:translateX(-5%);-ms-transform:translateX(-5%);-o-transform:translateX(-5%);transform:translateX(-5%)}to{opacity:1;-webkit-transform:translateX(0);-moz-transform:translateX(0);-ms-transform:translateX(0);-o-transform:translateX(0);transform:translateX(0)}}@keyframes course-extra-box__content-inner-transform{from{opacity:0;transform:translateX(-5%)}to{opacity:1;transform:translateX(0)}}.course-tab-panel-faqs{padding-top:64px}.course-tab-panel-faqs .course-faqs-box{margin-bottom:20px;border:1px solid rgba(204,204,204,0.6);border-radius:5px}.course-tab-panel-faqs .course-faqs-box__title{display:block;position:relative;margin:0;padding:20px 25px 20px 45px;font-size:1.1rem;font-weight:500;line-height:1.7;cursor:pointer}.course-tab-panel-faqs .course-faqs-box__title::after{position:absolute;top:50%;left:28px;color:#6c6c6c;font-family:"Font Awesome 5 Free";font-size:12px;font-weight:900;content:"\f078";transform:translateY(-50%)}.course-tab-panel-faqs .course-faqs-box:last-child{margin-bottom:40px}.course-tab-panel-faqs .course-faqs-box:hover{background:rgba(241,242,248,0.4)}.course-tab-panel-faqs .course-faqs-box:hover .course-faqs-box__title{color:var(--lp-primary-color)}.course-tab-panel-faqs .course-faqs-box__content{display:none}.course-tab-panel-faqs .course-faqs-box__content-inner{padding:0 25px 25px 25px;color:#666;font-size:1rem;font-weight:300;line-height:26px;-webkit-animation-name:course-faqs-box__content-inner-transform;animation-name:course-faqs-box__content-inner-transform;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;-webkit-animation-iteration-count:1;animation-iteration-count:1;-webkit-animation-direction:normal;animation-direction:normal}input[name=course-faqs-box-ratio]{display:none}input[name=course-faqs-box-ratio]:checked+.course-faqs-box .course-faqs-box__content{display:block}input[name=course-faqs-box-ratio]:checked+.course-faqs-box{background:rgba(241,242,248,0.4)}input[name=course-faqs-box-ratio]:checked+.course-faqs-box .course-faqs-box__title{color:var(--lp-primary-color)}input[name=course-faqs-box-ratio]:checked+.course-faqs-box .course-faqs-box__title::after{content:"\f077"}@-webkit-keyframes course-faqs-box__content-inner-transform{from{opacity:0;-webkit-transform:translateX(-5%);-moz-transform:translateX(-5%);-ms-transform:translateX(-5%);-o-transform:translateX(-5%);transform:translateX(-5%)}to{opacity:1;-webkit-transform:translateX(0);-moz-transform:translateX(0);-ms-transform:translateX(0);-o-transform:translateX(0);transform:translateX(0)}}@keyframes course-faqs-box__content-inner-transform{from{opacity:0;-webkit-transform:translateX(-5%);-moz-transform:translateX(-5%);-ms-transform:translateX(-5%);-o-transform:translateX(-5%);transform:translateX(-5%)}to{opacity:1;-webkit-transform:translateX(0);-moz-transform:translateX(0);-ms-transform:translateX(0);-o-transform:translateX(0);transform:translateX(0)}}@media screen and (max-width:1300px){body.course-item-popup #learn-press-course-curriculum{width:300px}body.course-item-popup #learn-press-course-curriculum .progress-bg{width:40px}body.course-item-popup #content-item-nav{right:300px}body.course-item-popup .section-desc{display:none}}@media screen and (max-width:1200px){body.course-item-popupx #learn-press-course-curriculum{width:300px}body.course-item-popupx #content-item-nav{right:300px}}@media screen and (max-width:768px){body.course-item-popup .course-curriculum{width:200px}body.course-item-popup #content-item-nav{right:200px}body.course-item-popup.wpadminbar #learn-press-content-item,body.course-item-popup.wpadminbar #learn-press-course-curriculum{top:106px}.learn-press-course-results-progress{margin-left:0}.learn-press-course-results-progress .items-progress,.learn-press-course-results-progress .course-progress{float:none;width:100%;margin-left:0;margin-bottom:20px}}.lp-quiz-buttons{margin-bottom:20px;display:block;clear:both;content:""}.quiz-progress{margin-bottom:30px;background:#e7f7ff}.quiz-progress .progress-items{display:flex}.quiz-progress .progress-items .progress-item{position:relative;color:#777;font-size:15px;flex:1}.quiz-progress .progress-items .progress-item .progress-number,.quiz-progress .progress-items .progress-item .progress-label{display:block;line-height:1;text-align:center}.quiz-progress .progress-items .progress-item .progress-number{margin:15px 0 10px 0;font-size:20px}.quiz-progress .progress-items .progress-item .progress-label{margin-bottom:15px;font-size:14px}.quiz-progress .progress-items .progress-item i{display:none;float:right;width:60px;height:60px;color:#fff;background:#00adff;font-size:30px;line-height:60px;text-align:center}.quiz-progress .progress-items .progress-item::after{display:block;clear:both;content:""}.answer-options{margin:0;padding:0;list-style:none}.answer-options .answer-option{display:flex;overflow:hidden;position:relative;margin:0 0 18px 0;padding:10px;color:#777;background:#f5f5f5;font-size:20px;cursor:pointer;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-transition:background linear .25s;-moz-transition:background linear .25s;-ms-transition:background linear .25s;-o-transition:background linear .25s;transition:background linear .25s}.answer-options .answer-option .option-title{display:table-cell;font-size:smaller}.answer-options .answer-option .option-title .option-title-content{display:inline-block;vertical-align:middle}.answer-options .answer-option .option-title::before{position:absolute;top:0;bottom:0;right:0;width:3px;background:#ddd;content:"";-webkit-transition:background linear .25s;-moz-transition:background linear .25s;-ms-transition:background linear .25s;-o-transition:background linear .25s;transition:background linear .25s}.answer-options .answer-option input[type=checkbox],.answer-options .answer-option input[type=radio]{-webkit-appearance:initial;-moz-appearance:initial;position:relative;z-index:10;width:35px;min-width:35px;height:35px;margin:0 3px 0 10px;border:1px solid #cfcfcf;background:#f9fafc;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.answer-options .answer-option input[type=checkbox]:focus,.answer-options .answer-option input[type=radio]:focus{outline:0}.answer-options .answer-option input[type=checkbox]::after,.answer-options .answer-option input[type=radio]::after{margin-top:-10px;position:absolute;top:18px;right:9px;box-sizing:content-box;opacity:0;color:#3db748;font-family:"Font Awesome 5 Free";font-weight:900;font-size:16px;content:"\f00c"}.answer-options .answer-option input[type=checkbox]:checked ~ .option-title .option-title-content,.answer-options .answer-option input[type=radio]:checked ~ .option-title .option-title-content{position:relative}.answer-options .answer-option input[type=checkbox]:checked ~ .option-title::before,.answer-options .answer-option input[type=radio]:checked ~ .option-title::before{background:#00adff}.answer-options .answer-option input[type=checkbox]:checked::after,.answer-options .answer-option input[type=radio]:checked::after{opacity:1}.answer-options .answer-option input[type=checkbox]::after{margin-top:0;top:50%;right:50%;-webkit-transform:translate(50%,-50%);-moz-transform:translate(50%,-50%);-ms-transform:translate(50%,-50%);-o-transform:translate(50%,-50%);transform:translate(50%,-50%)}.answer-options .answer-option input[type=radio]{-webkit-border-radius:50%;-moz-border-radius:50%;border-radius:50%}.answer-options .answer-option input[type=radio]::before{border-radius:50%}.answer-options .answer-option .option-title{margin:0}.answer-options .answer-option:hover{background:#e1f5ff}.answer-options .answer-option.answer-correct{background:#e1f5ff}.answer-options .answer-option.answer-correct input[type=radio]:checked ~ .option-title::before,.answer-options .answer-option.answer-correct input[type=checkbox]:checked ~ .option-title::before{background:#e1f5ff}.answer-options .answer-option.answered-correct input[type=radio]:checked ~ .option-title::before,.answer-options .answer-option.answered-correct input[type=checkbox]:checked ~ .option-title::before{background:#00adff}.answer-options .answer-option.answered-wrong input[type=radio]::before,.answer-options .answer-option.answered-wrong input[type=radio]::after,.answer-options .answer-option.answered-wrong input[type=checkbox]::before,.answer-options .answer-option.answered-wrong input[type=checkbox]::after{border-color:red}.answer-options .answer-option.answered-wrong input[type=radio]:checked ~ .option-title::before,.answer-options .answer-option.answered-wrong input[type=checkbox]:checked ~ .option-title::before{background:red}button[data-counter]{position:relative}button[data-counter]::after{padding-right:5px;content:"(+" attr(data-counter) ")"}.quiz-result{max-width:320px;margin:20px auto 48px;text-align:center}.quiz-result .result-heading{display:none}.quiz-result.passed .result-message{background:#3bb54a}.quiz-result.passed .result-message::after{content:"\f00c"}.quiz-result .result-message{margin-bottom:30px;padding:10px 0 !important;color:#fff;background:#f02425;font-size:16px;line-height:22px;font-weight:400;display:flex;align-items:center;justify-content:center;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.quiz-result .result-message::after{margin-right:10px;font-family:"Font Awesome 5 Free";font-weight:900;content:"\f00d"}.quiz-result .result-grade .result-achieved,.quiz-result .result-grade .result-require{display:inline-block;margin:0 auto}.quiz-result .result-grade .result-achieved{padding-bottom:7px;border-bottom:1px solid #999;color:#333;font-size:28px;font-weight:500;line-height:1}.quiz-result .result-grade .result-require{display:block;padding-top:5px;color:#666;font-size:16px;font-weight:400;line-height:1}.quiz-result .result-grade .result-message{font-size:14px}.quiz-result.passed .result-achieved{color:#04adff}.quiz-result.passed .result-message strong{color:#04adff}.quiz-result .result-statistic{margin:0;padding:0;text-align:right;list-style:none}.quiz-result .result-statistic .result-statistic-field{display:flex;margin:0}.quiz-result .result-statistic .result-statistic-field+li{border-top:1px dashed #ccc}.quiz-result .result-statistic .result-statistic-field span,.quiz-result .result-statistic .result-statistic-field p{margin:0;flex:1}.quiz-result .result-statistic .result-statistic-field span{color:#666;font-size:16px;font-weight:400;line-height:35px}.quiz-result .result-statistic .result-statistic-field span::before{display:inline-block;width:15px;margin-left:10px;color:var(--lp-primary-color);font-family:"Font Awesome 5 Free";font-size:16px;font-weight:900}.quiz-result .result-statistic .result-statistic-field p{color:#333;font-size:16px;font-weight:500;line-height:35px;text-align:left}.quiz-result .result-statistic .result-statistic-field.result-time-spend label::before{font-weight:400;content:"\f017"}.quiz-result .result-statistic .result-statistic-field.result-point label::before{font-weight:400;content:"\f005"}.quiz-result .result-statistic .result-statistic-field.result-questions label::before{font-weight:400;content:"\f059"}.quiz-result .result-statistic .result-statistic-field.result-questions-correct label::before{color:#3db748;content:"\f00c"}.quiz-result .result-statistic .result-statistic-field.result-questions-wrong label::before{color:#f02425;content:"\f00d"}.quiz-result .result-statistic .result-statistic-field.result-questions-skipped label::before{color:#ddd;content:"\f2f5"}.quiz-status{position:sticky;z-index:99;top:0;left:0;right:0;margin:0 0 35px 0}.quiz-status>div{display:flex;box-sizing:border-box;width:100%;max-width:792px;height:60px;margin:0 auto;padding:5px 30px 5px 10px;border-radius:4px;background:var(--lp-primary-color);justify-content:center;align-items:center}@media(max-width:480px){.quiz-status>div{display:block;height:auto;text-align:center;padding:15px}.quiz-status>div .questions-index{margin-bottom:10px}}.quiz-status>div>div{display:flex;flex-direction:row-reverse;flex:0 0 50%;align-items:center}@media(max-width:480px){.quiz-status>div>div{justify-content:center}}.quiz-status>div .current-point{display:none}.quiz-status .questions-index{display:inline-block;color:#666;font-size:16px;font-weight:400;line-height:26px}.quiz-status .questions-index span{color:#333;font-weight:500}.quiz-status .countdown{position:relative;min-width:120px;margin-left:5px;padding:12px 29px;color:#333;background:#fff;font-size:14px;font-weight:400;line-height:1;text-align:center}.quiz-status .countdown .fas{position:absolute;top:50%;right:10px;color:#333;font-size:14px;transform:translateY(-50%)}.quiz-status .countdown .clock{display:none;width:40px;height:40px}.quiz-status .countdown .clock::before{position:absolute;width:40px;height:40px;border:4px solid #b1c1e6;border-radius:50%;content:"";-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.quiz-status .countdown .clock .circle-progress-bar{display:inline-block;position:relative;width:40px;height:40px;stroke:#5383f7}.quiz-status .countdown .clock .circle-progress-bar .circle-progress-bar__circle{transition:.35s stroke-dashoffset;transform:rotate(90deg);transform-origin:50% 50%}.quiz-status .countdown .clock.x .circle-progress-bar__circle{stroke:red}.quiz-status .submit-quiz button{margin:0 10px 0 0;border:0;border-radius:0;background:#fff;text-transform:uppercase}.quiz-status .submit-quiz button:hover{background:var(--lp-secondary-color)}.quiz-status.submitting .submit-quiz button{background:#ddd}.question-numbers{text-align:center;list-style:none}.question-numbers li{display:inline-block;position:relative;margin-bottom:3px}.question-numbers li a{display:block;min-width:20px;padding:8px;border:1px solid #ddd;color:#999;background:#f5f5f5;box-shadow:none;font-size:12px;line-height:1}.question-numbers li a span{vertical-align:middle}.question-numbers li a:hover{border:1px solid #3880a2;color:#fff;background:#00adff}.question-numbers li.current a{border-color:#3880a2;color:#fff !important;background:#00adff}.question-numbers li.current.skipped::after{background:#fff}.question-numbers li.answered a::after{margin-right:3px;font-family:"Font Awesome 5 Free";font-size:8px;vertical-align:middle}.question-numbers li.answered.answered-wrong a{color:red}.question-numbers li.answered.answered-true a{color:#00adff}.question-numbers li.answered.answered-true.current a{color:#fff}.question-numbers li.skipped::after{position:absolute;bottom:3px;right:50%;width:10px;height:4px;margin-right:-5px;border-radius:2px;background:#aaa;content:""}.quiz-intro{display:flex;margin:0 0 20px;padding:0;list-style:none;flex-flow:row wrap}@media(max-width:768px){.quiz-intro{padding-left:10px;padding-right:10px;justify-content:space-between}}.quiz-intro-item{display:flex;margin:0 0 0 40px;align-items:center}@media(max-width:768px){.quiz-intro-item{margin:0 0 0 20px}}.quiz-intro-item::before{position:relative;top:-2px;margin-left:10px;color:var(--lp-primary-color);font-family:"Font Awesome 5 Free";font-size:16px;font-weight:900}.quiz-intro-item--passing-grade{order:2}.quiz-intro-item--passing-grade::before{content:"\f012"}.quiz-intro-item--questions-count{order:1}.quiz-intro-item--questions-count::before{content:"\f12e"}.quiz-intro-item--duration{order:2}.quiz-intro-item--duration::before{content:"\f017"}.quiz-intro-item__title{margin:0;padding:0 0 0 8px;color:#333;font-size:16px;font-weight:300;line-height:1.7}.quiz-intro-item__content{color:#222;font-size:16px;font-weight:400}.question-explanation-content,.question-hint-content{margin-bottom:20px;padding:10px 15px;background:#f5f5f5}.redo-quiz button[type=submit]{content:attr(data-counter)}.circle-bar{position:relative;width:300px;height:300px;border-color:#ddd}.circle-bar::before{position:absolute;z-index:0;top:0;right:0;box-sizing:border-box;width:100%;height:100%;border:10px solid #ddd;border-radius:50%;content:""}.circle-bar .before,.circle-bar .after{position:absolute;z-index:0;top:0;right:0;box-sizing:border-box;width:100%;height:100%;border:10px solid #14c4ff;border-radius:50%;transform:rotate(-45deg)}.circle-bar .before{border-bottom-color:transparent;border-right-color:transparent;transform:rotate(-45deg)}.circle-bar .after{border-color:#14c4ff;border-top-color:transparent;border-left-color:transparent;transform:rotate(-45deg)}.circle-bar.bg50 .after{z-index:10;border-bottom-color:inherit;border-right-color:inherit;transform:rotate(-45deg)}.lp-quiz-buttons .complete-quiz,.lp-quiz-buttons .back-quiz,.lp-quiz-buttons .review-quiz{float:left}.quiz-result .result-grade{display:flex;flex-direction:column;position:relative;box-sizing:border-box;height:200px;margin-bottom:30px;padding:50px;justify-content:center;align-items:center;-webkit-transform:none !important;-moz-transform:none !important;-ms-transform:none !important;-o-transform:none !important;transform:none !important}.quiz-result .result-grade::before,.quiz-result .result-grade svg{position:absolute;top:0;right:50%;width:200px;height:200px;margin-right:-100px;-webkit-border-radius:50%;-moz-border-radius:50%;border-radius:50%}.quiz-result .result-grade::before{box-sizing:border-box;padding:30px;border:10px solid #ccc;content:""}.quiz-result .result-grade svg{-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg)}.quiz-result .result-grade svg circle{stroke:var(--lp-primary-color)}.quiz-result.passed .result-grade svg{-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg)}.quiz-result.passed .result-grade .result-achieved{color:#333}.quiz-result.passed .result-grade .result-message strong{color:#4caf50}.quiz-questions .question{margin-bottom:60px}.question .answer-option{padding:0;_border:2px solid #d9e0f1;background:#fff}.question .answer-option input[type=radio],.question .answer-option input[type=checkbox]{position:absolute;top:50%;margin:-19px 10px 0 0;border-color:#d9e0f1;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.question .answer-option input[type=radio]::after,.question .answer-option input[type=checkbox]::after{border-color:#d9e0f1}.question .answer-option input[type=radio]:disabled,.question .answer-option input[type=checkbox]:disabled{border-color:#ddd;background:#f9f9f9}.question .answer-option input[type=radio]:disabled::after,.question .answer-option input[type=checkbox]:disabled::after{border-color:#ddd}.question .answer-option input[type=radio]:checked:not(:disabled)::after,.question .answer-option input[type=checkbox]:checked:not(:disabled)::after{border-color:#99aee4}.question .answer-option input[type=radio]{-webkit-border-radius:50%;-moz-border-radius:50%;border-radius:50%}.question .answer-option input[type=radio]::before{border-radius:50%}.question .answer-option .option-title{display:flex;width:100%;margin:0;padding:14px 65px 11px 10px;border:1px solid #ccc;color:#666;background:#fff;font-size:16px;font-weight:300;line-height:26px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.question .answer-option .option-title::after{display:inline-block;visibility:hidden !important;content:"."}.question .answer-option .option-title:hover{background:#f9f9f9}.question .answer-option .option-title::before{display:none}.question .answer-option.answer-correct .option-title{border-color:#4caf50}.question .answer-option.answered-wrong .option-title{border-color:#ff6423}.question .question-title{display:block;margin-top:0;margin-bottom:18px;color:#333;font-size:18px;font-weight:500}.question .question-title .edit-link{float:left;font-size:14px;font-weight:normal}.question .question-content{margin-bottom:30px;color:#666;font-size:16px;font-weight:300;line-height:26px}.question .question-content img{width:100%;max-width:100%}.question .question-response{margin-bottom:10px;font-size:14px}.question .question-response .label{display:inline-block;margin:0 0 0 5px;padding:8px 10px;border-radius:4px;color:#fff;line-height:1}.question .question-response .point{display:inline-block}.question .question-response.correct .label{background:#4caf50}.question .question-response.incorrect .label{background:#ff6423}.question .question-index{display:inline-block;margin:0 0 0 5px}.question .btn-show-hint{position:relative;margin:0 10px 0 0;padding:0;outline:0;color:#00adff;background:transparent;font-size:0;text-decoration:none}.question .btn-show-hint::before{font-family:"Font Awesome 5 Free";font-size:18px;content:"\f059"}.question .btn-show-hint:hover span{position:absolute;bottom:100%;right:0;width:auto;padding:6px 9px;border-radius:2px;color:#333;background:#eee;font-size:14px;font-weight:400;line-height:1;white-space:nowrap;text-transform:none}.question.question-fill_in_blanks .blanks .blank-input-wrap{display:inline-block}.question.question-fill_in_blanks .blanks .blank-block{margin-bottom:20px}.question.question-fill_in_blanks .blanks .blank-input{display:inline-block;width:auto;min-width:50px;margin:0 10px;padding:0 10px;border:0;border-bottom:1px dashed #ddd;text-align:center;white-space:nowrap}.question.question-fill_in_blanks .blanks .blank-input br{display:none}.question.question-fill_in_blanks .blanks .blank-input>*{display:inline;white-space:nowrap}.question.question-fill_in_blanks .blanks .blank-select{display:inline-block;height:30px;margin-right:4px;padding:1px}.question.question-fill_in_blanks .blanks .blank-fills{display:inline-block}.question.question-fill_in_blanks .blanks .blank-fills code{margin:0 5px;padding:0 6px;background:#ddd;line-height:1;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.question.question-fill_in_blanks .blanks.ordered{list-style-position:inside}.question.question-fill_in_blanks .blanks.one-paragraph{line-height:3}.lp-sort-bg label.option-title{background:rgba(255,182,6,0.68) !important}.learn-press-message.fixed{position:fixed;top:32px;right:0;left:0;background:rgba(0,173,255,0.6);text-align:center;z-index:100;color:#FFF;padding:10px}.learn-press-message.fixed[data-delay-in]{display:none}.lp-archive-courses ul{list-style-type:revert;padding:0 1em 23px 0}.lp-archive-courses ul.learn-press-breadcrumb,.lp-archive-courses ul.course-nav-tabs{list-style:none;padding:0}@media(max-width:768px){.lp-archive-courses ul.learn-press-breadcrumb,.lp-archive-courses ul.course-nav-tabs{padding-right:15px;padding-left:15px}}.lp-archive-courses ul,.lp-archive-courses ol{list-style-type:decimal;list-style-position:inside;padding:0 0 23px}.lp-archive-courses ol ul{padding:2px 35px 2px 0}.lp-archive-courses ol ol{padding:2px 20px 2px 0}.lp-archive-courses thead th,.lp-archive-courses tr th{padding:9px 24px}.lp-archive-courses tr td{border-top:1px solid #eee;padding:6px 24px}.learnpress #left-area ul,.learnpress .entry-content ul,.learnpress .et-l--body ul,.learnpress .et-l--footer ul,.learnpress .et-l--header ul{padding:0 !important;list-style:none !important}.learnpress.dt-the7 .learn-press-filters{margin-bottom:20px}.learnpress.dt-the7 .learn-press-courses[data-size="3"] .course{width:50%}.bridge.learnpress .lp-archive-courses{margin-top:100px}.bridge.learnpress .lp-archive-courses ul.learn-press-breadcrumb{padding-top:45px}.bridge.learnpress .content{z-index:110}.bridge.learnpress .comment-respond .comment-form{margin:0}.bridge.learnpress .comment-respond .comment-form>p,.bridge.learnpress .comment-respond .comment-form>div{padding:0}.bridge.learnpress.learnpress-profile .content{z-index:100}.bridge.learnpress #learn-press-item-comments{background:#f6f6f6}.learnpress.ast-separate-container .ast-article-single{padding-right:15px;padding-left:15px}body.learnpress-page.twentysixteen #primary .lp-entry-content{float:none;width:auto;margin:0 15%}body.learnpress-page.twentyfifteen .course-summary-sidebar .widget{width:100%;padding:0}body.learnpress-page.twentysixteen .entry-footer{display:none}body.learnpress-page.twentysixteen .lp-entry-content{float:none;width:auto}body.learnpress-page.twentyseventeen #primary article.type-page{width:100%}@media screen and (min-width:61.5625em){body.twentysixteen.learnpress-page .entry-footer{display:none}body.twentysixteen.learnpress-page .lp-entry-content{float:none;width:auto}body:not(.search-results) article:not(.type-page) .entry-footer{display:none}body:not(.search-results) article:not(.type-page) .lp-entry-content{float:none;width:auto}}body.twentyseventeen.learnpress-page #primary article.page .entry-header,body.twentyseventeen.learnpress-page #primary article.page .lp-entry-content{width:100%;float:none}@media screen and (min-width:48em){body.twentyseventeen.learnpress-page #primary article.page .entry-header,body.twentyseventeen.learnpress-page #primary article.page .lp-entry-content{width:100%;float:none}}.learn-press-tip{display:none;margin:0 5px;color:#444;font-size:13px;font-style:normal;line-height:1;vertical-align:baseline;cursor:pointer}.learn-press-tip.ready{display:inline-block}.learn-press-tip::before{font-family:"Font Awesome 5 Free";content:"\f059"}.learn-press-tip:hover{opacity:.8}.learn-press-tip-floating{position:absolute;z-index:9999999;min-width:20px;margin-right:-1px;padding:.618em 1em;color:#fff;background:#383838;font-size:12px;line-height:1.2em;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.learn-press-tip-floating>*{font-size:12px}.learn-press-tip-floating .close{display:inline-block;position:absolute;top:-8px;left:-8px;width:16px;height:16px;border:1px solid #fff;color:#fff;background:#468fbc;line-height:16px;text-align:center;cursor:pointer;-webkit-border-radius:50%;-moz-border-radius:50%;border-radius:50%}.learn-press-tip-floating .close::before{font-family:"Font Awesome 5 Free";content:"\f00d"}.learn-press-tip-floating p{margin:0}.learn-press-tip-floating::before{position:absolute;bottom:-6px;right:50%;width:0;height:0;margin-right:-6px;border:6px solid transparent;border-top-color:#383838;border-bottom-width:0;content:""}body.lp-preview.admin-bar #learn-press-content-item{top:32px !important}body.lp-preview #learn-press-course-curriculum{display:none}body.lp-preview #learn-press-content-item{top:0 !important;right:0 !important}@-webkit-keyframes rotating4{from{-webkit-transform:rotate(0);-o-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(-360deg);-o-transform:rotate(-360deg);transform:rotate(-360deg)}}@keyframes rotating4{from{-ms-transform:rotate(0);-moz-transform:rotate(0);-webkit-transform:rotate(0);-o-transform:rotate(0);transform:rotate(0)}to{-ms-transform:rotate(-360deg);-moz-transform:rotate(-360deg);-webkit-transform:rotate(-360deg);-o-transform:rotate(-360deg);transform:rotate(-360deg)}}@-webkit-keyframes animation4{from{right:-40%;width:40%}to{right:100%;width:10%}}@keyframes animation4{from{right:-40%;width:40%}to{right:100%;width:10%}}#popup_container{opacity:0;transform:scale(0.5)}body.confirm #popup_overlay{z-index:999998 !important}body.confirm #popup_container{z-index:999999 !important;max-width:90% !important;min-width:300px !important;padding:10px !important;background:#f5f5f5;transition:opacity .25s;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}body.confirm #popup_container #popup_title{display:none !important}body.confirm #popup_container #popup_message{margin:-10px;background:#FFF;padding:20px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}body.confirm #popup_container .close{position:absolute;top:3px;left:10px}body.confirm #popup_container #popup_panel{margin-top:20px;text-align:center}body.confirm #popup_container #popup_panel button,body.confirm #popup_container #popup_panel input[type=button],body.confirm #popup_container #popup_panel input[type=submit]{height:30px;line-height:30px;padding:0 25px}body.confirm #popup_container #popup_cancel{display:none}body.confirm #popup_container.ready{opacity:1;transform:scale(1)}a{text-decoration:none}.lp-content-area{width:100%;max-width:1170px;margin:0 auto}@media(max-width:1024px){.lp-content-area{padding-left:15px;padding-right:15px}}.lp-content-area::after,.lp-content-area::before{display:table;clear:both;content:""}.lp-archive-courses{width:100%;scroll-margin:30px}.lp-archive-courses.loading ul.learn-press-courses{position:relative}.lp-archive-courses.loading ul.learn-press-courses::before,.lp-archive-courses.loading ul.learn-press-courses::after{content:"";position:absolute;top:0;bottom:0;right:15px;left:15px}.lp-archive-courses.loading ul.learn-press-courses::after{z-index:3;background:#f3f3f3;background:linear-gradient(-90deg,hsla(0,0%,74.5%,0.2) 25%,hsla(0,0%,50.6%,0.24) 37%,hsla(0,0%,74.5%,0.2) 63%);background-size:400% 100%;list-style:none;animation:lp-skeleton-loading 1.4s ease infinite}.lp-archive-courses.loading ul.learn-press-courses::before{z-index:2;opacity:.8%;background:#fff}.lp-archive-courses form[name=search-course]{position:relative;margin-bottom:20px}.lp-archive-courses form[name=search-course] .search-course-input{width:100%;padding:12px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.lp-archive-courses form[name=search-course] .search-course-button{position:absolute;top:1px;left:1px;bottom:1px;height:auto;padding:15px;line-height:1px}.lp-archive-courses .learn-press-courses-header{float:right;padding-top:4px}.lp-archive-courses .learn-press-courses-header h1{margin:0;font-size:30px;font-weight:600}@media(max-width:767px){.lp-archive-courses .learn-press-courses-header{margin-bottom:20px}}.lp-archive-courses .course-item{flex-direction:column;display:flex;transition:all .3s}.lp-archive-courses .course-item:hover .course-thumbnail .thumbnail::before{opacity:1}.lp-archive-courses .course-item:hover .course-thumbnail a img{transform:scale(1.05)}.lp-archive-courses .course-item:hover .course-wishlist{opacity:1}.lp-archive-courses .course-item .course-wishlist.filled{opacity:1}.lp-archive-courses .course-item .course-instructor{float:right;margin-bottom:16px;font-size:14px;font-weight:300;line-height:25px;text-transform:capitalize}.lp-archive-courses .course-item .course-instructor a{color:#059de9}.lp-archive-courses .course-item .course-instructor a:hover{color:var(--lp-primary-color)}.lp-archive-courses .course-content{position:relative;border-top:0}.lp-archive-courses .course-content .course-permalink{display:-webkit-box;clear:both;overflow:hidden;position:relative;border:0;color:#fff;text-decoration:none;text-transform:none;-webkit-line-clamp:2;-webkit-box-orient:vertical;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.lp-archive-courses .course-content .course-permalink:focus{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.lp-archive-courses .course-content .course-review{display:none}.lp-archive-courses .course-content .course-categories,.lp-archive-courses .course-content .course-tags{display:block;font-size:14px;font-weight:300}.lp-archive-courses .course-content .course-categories{float:right;position:relative;margin-left:10px;margin-bottom:16px}.lp-archive-courses .course-content .course-categories a{display:inline-block;display:none;margin:0 10px;color:#fff;text-decoration:none}.lp-archive-courses .course-content .course-categories a:first-child{display:block;margin-right:0;padding:2px 16px;background:var(--lp-primary-color)}.lp-archive-courses .course-content .course-categories a:hover{color:#333}.lp-archive-courses .course-content .course-categories::after{position:absolute;top:50%;left:-2px;width:1px;height:12px;opacity:.5;background:#999;content:"";transform:translate(0,-50%)}.lp-archive-courses .course-content .course-info{color:#666;font-size:14px;font-weight:300}.lp-archive-courses .course-content .course-info>span{display:block}.lp-archive-courses .course-content .course-info .course-price{float:left}.lp-archive-courses .course-content .course-info .course-price .origin-price,.lp-archive-courses .course-content .course-info .course-price .price{color:#333;font-size:16px;font-weight:600}.lp-archive-courses .course-content .course-info .course-price .origin-price{margin-left:10px;color:#666;font-size:14px;font-weight:300;text-decoration:line-through}.lp-archive-courses .course-content .course-info .course-instructor{float:left}.lp-archive-courses .course-content .course-info::after{display:block;clear:both;content:""}.lp-archive-courses .course-content .course-excerpt{display:-webkit-box;overflow:hidden;margin-bottom:28px;color:#666;font-size:16px;font-weight:300;line-height:26px;-webkit-line-clamp:2;-webkit-box-orient:vertical}.lp-archive-courses .course-content .separator{display:none}.lp-archive-courses .course-wrap-thumbnail{overflow:hidden;position:relative}.lp-archive-courses .course-wrap-thumbnail .lp-badge.featured{position:absolute;z-index:100;top:28px;right:-110px;width:300px;text-align:center;transform:rotate(45deg)}.lp-archive-courses .course-wrap-thumbnail .course-wishlist{position:absolute;z-index:2;top:6px;left:6px;opacity:0;color:#fff;cursor:pointer}.lp-archive-courses .course-wrap-thumbnail .course-wishlist::before{font-family:"Font Awesome 5 Free";font-weight:900;content:"\f004"}.lp-archive-courses .course-wrap-thumbnail .course-wishlist .course-wishlist__btn{display:none}.lp-archive-courses .course-wrap-thumbnail .course-wishlist:hover{color:var(--lp-primary-color)}.lp-archive-courses .course-wrap-thumbnail:hover::before{opacity:1}.lp-archive-courses .course-wrap-thumbnail:hover .course-thumbnail a img{transform:scale(1.05)}.lp-archive-courses .course-wrap-thumbnail:hover .course-wishlist{opacity:1}.lp-archive-courses .course-thumbnail a{display:block;overflow:hidden}.lp-archive-courses .course-thumbnail .thumbnail{margin:0;padding:0;border:0;border-radius:unset;line-height:unset}.lp-archive-courses .course-thumbnail .thumbnail::before{position:absolute;z-index:1;top:0;left:0;bottom:0;right:0;opacity:0;background:rgba(0,0,0,0.5);content:"";transition:all .3s}.lp-archive-courses .course-thumbnail img{display:block;width:100%;height:auto;transition:all .5s ease;transform:scale(1)}.lp-archive-courses .course-title{margin:0;padding:0;color:#333;font-size:16px;font-weight:600;line-height:24px}.lp-archive-courses .course-title:hover{color:var(--lp-primary-color)}@media(min-width:769px){.lp-archive-courses .course-summary-content .course-info-left{width:calc(100% - 330px)}}.lp-archive-courses .course-summary-content .course-title{margin-bottom:42px;color:#fff;font-size:1.5rem;font-weight:500;line-height:1}.lp-archive-courses .course-summary-content .course-meta.course-meta-secondary{margin-bottom:0}@media(max-width:768px){.lp-archive-courses .course-summary-content{width:100%}}.lp-archive-courses .course-detail-info{padding:40px 0 10px 0;color:#fff;background:var(--lp-secondary-color);position:relative}.lp-archive-courses .course-detail-info::before,.lp-archive-courses .course-detail-info::after{content:"";width:50%;height:100%;background:var(--lp-secondary-color);position:absolute;top:0}.lp-archive-courses .course-detail-info::before{left:100%;right:auto}.lp-archive-courses .course-detail-info::after{right:100%;left:auto}.lp-archive-courses .course-meta__pull-left .meta-item{display:flex;height:46px;margin-left:50px;font-size:16px;font-weight:300;text-transform:capitalize}.lp-archive-courses .course-meta__pull-left .meta-item span{padding-left:4px;padding-right:0}.lp-archive-courses .course-meta__pull-left .meta-item:last-child{margin-left:0}.lp-archive-courses .course-meta__pull-left .meta-item::before{margin-left:8px;color:var(--lp-primary-color);font-family:"Font Awesome 5 Free";font-weight:900}.lp-archive-courses .course-meta__pull-left .meta-item .meta-item__image{margin-left:10px;flex:0 0 46px}.lp-archive-courses .course-meta__pull-left .meta-item .meta-item__image img{overflow:hidden;position:relative;width:46px;height:46px;border-radius:50%}.lp-archive-courses .course-meta__pull-left .meta-item.meta-item-duration::before{content:"\f017"}.lp-archive-courses .course-meta__pull-left .meta-item.meta-item-level::before{content:"\f012"}.lp-archive-courses .course-meta__pull-left .meta-item.meta-item-lesson::before{content:"\f0c5"}.lp-archive-courses .course-meta__pull-left .meta-item.meta-item-quiz::before{content:"\f12e"}.lp-archive-courses .course-meta__pull-left .meta-item.meta-item-student::before{content:"\f501"}@media(max-width:1024px){.lp-archive-courses .course-meta__pull-left .meta-item{margin-left:30px}}@media(max-width:767px){.lp-archive-courses .course-meta__pull-left .meta-item{margin-left:0}}.lp-archive-courses .course-meta__pull-left .meta-item__value label{margin:0;color:#999;font-size:14px;font-weight:300;line-height:1.5}.lp-archive-courses .course-meta__pull-left .meta-item__value>div{line-height:1.5}.lp-archive-courses .course-meta__pull-left .meta-item__value>div a{color:#fff;font-size:16px;font-weight:400;text-transform:capitalize}.lp-archive-courses .course-meta__pull-left .meta-item__value>div a:hover{color:var(--lp-primary-color)}.lp-archive-courses .course-meta__pull-left .meta-item-categories{align-items:center}.lp-archive-courses .course-meta__pull-left .meta-item-categories::before{margin-left:10px;font-size:36px;content:"\f02e"}.lp-archive-courses .course-meta__pull-left .meta-item-categories .meta-item__value div span{padding:0 5px}.lp-archive-courses .course-meta__pull-left .meta-item-categories .meta-item__value div a:hover{color:var(--lp-primary-color)}.lp-archive-courses .course-meta__pull-left .meta-item-review .meta-item__value{display:flex;flex-direction:column-reverse;justify-content:flex-end;align-items:flex-end}.lp-archive-courses .course-meta__pull-left .meta-item-review .meta-item__value .review-stars-rated{margin-bottom:0;line-height:1}@media(max-width:767px){.lp-archive-courses .course-meta__pull-left{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:20px}}.lp-archive-courses .course-meta-primary{margin-bottom:36px}.lp-archive-courses .course-meta-primary .meta-item-categories::before{font-weight:400}.lp-archive-courses .lp-entry-content{display:flex;flex-direction:row}.lp-archive-courses .lp-entry-content .entry-content-left{width:calc(100% - 300px);max-width:100%;margin:0;padding-left:40px;padding-top:60px}@media(max-width:768px){.lp-archive-courses .lp-entry-content .entry-content-left{width:100%;padding-left:0;margin-bottom:50px}}@media(max-width:768px){.lp-archive-courses .lp-entry-content{flex-direction:column}}.lp-archive-courses .course-summary-sidebar{width:300px;max-width:100%;margin-top:-272px}@media(max-width:768px){.lp-archive-courses .course-summary-sidebar{width:100%;margin-top:0}.lp-archive-courses .course-summary-sidebar .course-summary-sidebar__inner{width:100%}}@media(max-width:767px){.lp-archive-courses .course-summary-sidebar{width:100%;padding-right:0}}.lp-archive-courses .course-summary-sidebar__inner{width:300px}.lp-archive-courses .course-summary-sidebar__inner .course-sidebar-top{box-shadow:0 15px 20px 0 rgba(0,0,0,0.05)}.lp-archive-courses .course-summary-sidebar__inner .course-sidebar-secondary{margin-top:30px;padding:0}.lp-archive-courses .course-summary-sidebar__inner .learn-press-course-wishlist{color:#fff;background:transparent !important;font-size:0}.lp-archive-courses .course-summary-sidebar__inner .learn-press-course-wishlist.on,.lp-archive-courses .course-summary-sidebar__inner .learn-press-course-wishlist:hover{color:var(--lp-primary-color)}.lp-archive-courses .course-summary-sidebar__inner .learn-press-course-wishlist::before{font-family:"Font Awesome 5 Free";font-size:16px;font-weight:900;content:"\f004"}.lp-archive-courses .course-summary-sidebar__inner>div{overflow:hidden;padding:20px;background:#fff}.lp-archive-courses .course-summary-sidebar__inner>div ul{list-style:none}.lp-archive-courses .course-summary-sidebar__inner>div ul li a{color:#666;font-size:16px;font-weight:300;line-height:24px}.lp-archive-courses .course-summary-sidebar__inner>div ul li a:hover{color:var(--lp-primary-color);box-shadow:unset}.learn-press-courses{clear:both;margin:0 -15px;padding:0 !important;min-height:300px;list-style:none;position:relative;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-moz-flex;display:-webkit-flex;display:flex;-webkit-flex-wrap:wrap;flex-wrap:wrap}.learn-press-courses .course{width:25%;margin:0 0 60px 0;box-shadow:none;list-style:none}.learn-press-courses[data-layout=list]{margin:0}.learn-press-courses[data-layout=list] .course{display:flex;width:100%;padding:24px;border:1px solid rgba(204,204,204,0.3);border-radius:4px;flex-wrap:wrap;justify-content:flex-end}@media(max-width:767px){.learn-press-courses[data-layout=list] .course{padding:15px}}.learn-press-courses[data-layout=list] .course-item{flex-direction:row;width:100%;border:unset;justify-content:space-between}@media(max-width:767px){.learn-press-courses[data-layout=list] .course-item{flex-direction:column}}.learn-press-courses[data-layout=list] .course-content{float:left;width:calc(64.2% - 76px);padding-top:5px}@media(max-width:1200px){.learn-press-courses[data-layout=list] .course-content{width:calc(64.2% - 40px)}}@media(max-width:1200px){.learn-press-courses[data-layout=list] .course-content{width:calc(64.2% - 25px)}}@media(max-width:767px){.learn-press-courses[data-layout=list] .course-content{width:100%;padding-top:20px}}.learn-press-courses[data-layout=list] .course-content .course-categories a{position:relative;padding:2px 15px 2px 20px;-webkit-clip-path:polygon(0 0,100% 0,88% 50%,100% 100%,0 100%);clip-path:polygon(0 0,100% 0,88% 50%,100% 100%,0 100%)}.learn-press-courses[data-layout=list] .course-content .course-permalink{height:25px;margin-bottom:5px;-webkit-line-clamp:1}.learn-press-courses[data-layout=list] .course-content .course-tags a{margin:0 0 10px 10px;padding:3px 5px;border-radius:3px;color:#fff;background:#e4a2a2;line-height:1}.learn-press-courses[data-layout=list] .course-content .course-footer{float:right;margin-left:20px}.learn-press-courses[data-layout=list] .course-content .course-footer .course-students{display:none}.learn-press-courses[data-layout=list] .course-content .course-footer .course-price{float:unset}@media(max-width:767px){.learn-press-courses[data-layout=list] .course-content .course-footer{margin-bottom:30px}}.learn-press-courses[data-layout=list] .course-content .course-readmore{float:left;position:relative;left:4px}.learn-press-courses[data-layout=list] .course-content .course-readmore a{padding:9px 24px;border-radius:3px;color:#fff;background:var(--lp-primary-color);font-weight:400;line-height:1;transition:all .3s;display:block}.learn-press-courses[data-layout=list] .course-content .course-readmore a:hover{opacity:.5;background:var(--lp-primary-color)}@media(max-width:767px){.learn-press-courses[data-layout=list] .course-content .course-readmore{display:flex;float:unset;clear:both}}.learn-press-courses[data-layout=list] .course-wrap-meta{display:flex;padding-top:12px;padding-bottom:18px;color:#333;font-size:14px;font-weight:400}.learn-press-courses[data-layout=list] .course-wrap-meta .meta-item{padding-left:28px;text-transform:capitalize}@media(max-width:1024px){.learn-press-courses[data-layout=list] .course-wrap-meta .meta-item{padding-left:20px}}.learn-press-courses[data-layout=list] .course-wrap-meta .meta-item::before{position:relative;top:-1px;margin-left:8px;color:var(--lp-primary-color);font-family:"Font Awesome 5 Free";font-weight:900}.learn-press-courses[data-layout=list] .course-wrap-meta .meta-item-level::before{content:"\f012"}.learn-press-courses[data-layout=list] .course-wrap-meta .meta-item-duration::before{content:"\f017"}.learn-press-courses[data-layout=list] .course-wrap-meta .meta-item-lesson::before{content:"\f0c5"}.learn-press-courses[data-layout=list] .course-wrap-meta .meta-item-quiz::before{content:"\f12e"}.learn-press-courses[data-layout=list] .course-wrap-meta .meta-item-student::before{content:"\f501"}@media(max-width:815px){.learn-press-courses[data-layout=list] .course-wrap-meta{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:15px}.learn-press-courses[data-layout=list] .course-wrap-meta .meta-item{padding-left:15px}}@media(max-width:767px){.learn-press-courses[data-layout=list] .course-wrap-meta{grid-template-columns:repeat(3,1fr)}}.learn-press-courses[data-layout=list] .course-wrap-thumbnail{float:right;width:35.8%}@media(max-width:767px){.learn-press-courses[data-layout=list] .course-wrap-thumbnail{width:100%}}.learn-press-courses[data-layout=list] .course-title{font-size:18px}.learn-press-courses[data-layout=grid] .course{padding:0 15px}@media(max-width:992px){.learn-press-courses[data-layout=grid] .course{width:50%}}@media(max-width:767px){.learn-press-courses[data-layout=grid] .course{width:100%}}.learn-press-courses[data-layout=grid] .course-item:hover{box-shadow:0 15px 20px 0 rgba(0,0,0,0.2)}.learn-press-courses[data-layout=grid] .course-item .course-instructor{margin-bottom:7px}.learn-press-courses[data-layout=grid] .course-content{padding:15px 20px 12px 20px;border:1px solid #f0f0f0;border-top:0;flex-grow:1}.learn-press-courses[data-layout=grid] .course-content .course-categories{float:left;position:absolute;z-index:1;top:-34px;left:-1px;margin-left:0}.learn-press-courses[data-layout=grid] .course-content .course-categories::after{display:none}.learn-press-courses[data-layout=grid] .course-content .course-categories a{position:relative;margin:0;padding:2px 22px 2px 12px;-webkit-clip-path:polygon(0 0,100% 0,100% 100%,0 100%,12px 50%);clip-path:polygon(0 0,100% 0,100% 100%,0 100%,12px 50%)}.learn-press-courses[data-layout=grid] .course-content .course-permalink{height:48px;margin-bottom:20px}.learn-press-courses[data-layout=grid] .course-content .course-info{display:flex;flex-direction:column;flex-grow:1}.learn-press-courses[data-layout=grid] .course-content .course-wrap-meta,.learn-press-courses[data-layout=grid] .course-content .course-excerpt,.learn-press-courses[data-layout=grid] .course-content .course-readmore{display:none}.learn-press-courses[data-layout=grid] .course-content .course-footer{padding-top:18px;border-top:1px solid rgba(153,153,153,0.2)}.learn-press-courses[data-layout=grid] .course-content .course-footer .course-students{float:right;text-transform:capitalize}.learn-press-courses[data-layout=grid] .course-content .course-footer .course-students::before{position:relative;top:-1px;margin-left:8px;color:var(--lp-primary-color);font-family:"Font Awesome 5 Free";font-weight:900;content:"\f501"}.learn-press-courses[data-layout=grid] .learn-press-message{margin-right:15px;margin-left:15px}.learn-press-courses[data-size="3"] .course{width:33.3333%}@media(max-width:767px){.learn-press-courses[data-size="3"] .course{width:100%}}.learn-press-courses .lp-archive-course-skeleton{position:absolute;height:100%;background:linear-gradient(-90deg,hsla(0,0%,74.5%,0.2) 25%,hsla(0,0%,50.6%,0.24) 37%,hsla(0,0%,74.5%,0.2) 63%);animation:lp-skeleton-loading 1.4s ease infinite;background-size:400% 100%}.learn-press-courses .lp-archive-course-skeleton li{display:none}.lp-courses-bar{display:flex;float:left;margin-bottom:48px}@media(max-width:767px){.lp-courses-bar{flex-direction:row;width:100%;justify-content:space-between}}.lp-courses-bar .search-courses{position:relative;width:306px;max-width:100%;margin-left:20px;line-height:1;flex:1}.lp-courses-bar .search-courses input[type=text]{width:100%;height:44px;padding:6px 18px 6px 32px;border:1px solid #ccc;border-radius:5px;background:#fff;font-size:14px;font-style:italic;line-height:1}.lp-courses-bar .search-courses input[type=text]:focus{border-color:var(--lp-primary-color);outline:0}.lp-courses-bar .search-courses button{position:absolute;top:50%;left:12px;width:30px;height:30px;padding:0;border:0;color:#333;background:transparent;font-size:16px;line-height:1;transform:translate(0,-50%)}.lp-courses-bar .search-courses button:focus{border:0;outline:0}.lp-courses-bar .search-courses button.loading>i::before{display:inline-block;font-family:"Font Awesome 5 Free";font-weight:900;content:"\f110";-webkit-animation:lp-rotating 1s linear infinite;-moz-animation:lp-rotating 1s linear infinite;animation:lp-rotating 1s linear infinite}.lp-courses-bar .search-courses ::-webkit-input-placeholder{color:#999}.lp-courses-bar .search-courses :-ms-input-placeholder{color:#999}.lp-courses-bar .search-courses ::placeholder{color:#999}@media(max-width:767px){.lp-courses-bar .search-courses{width:100%}}.lp-courses-bar .switch-layout{display:flex;height:44px;line-height:1;text-align:left;flex:0 0 40px;align-items:center;justify-content:center}.lp-courses-bar .switch-layout input[type=radio]{display:none}.lp-courses-bar .switch-layout .switch-btn{display:block;width:40px;height:40px;margin:0;padding:0;border-radius:5px;font-size:16px;line-height:40px;text-align:center;cursor:pointer}.lp-courses-bar .switch-layout .switch-btn::before{display:inline-block;margin:8px 6px;color:#333;font-family:"Font Awesome 5 Free";font-weight:900;line-height:1}.lp-courses-bar .switch-layout .switch-btn.grid::before{content:"\f00a"}.lp-courses-bar .switch-layout .switch-btn.list{margin-right:3px}.lp-courses-bar .switch-layout .switch-btn.list::before{content:"\f03a"}input[type=radio]:nth-child(1):checked ~ .switch-btn:nth-child(2){background:#f5f5f5}input[type=radio]:nth-child(1):checked ~ .switch-btn:nth-child(2)::before{color:var(--lp-primary-color)}input[type=radio]:nth-child(3):checked ~ .switch-btn:nth-child(4){background:#f5f5f5}input[type=radio]:nth-child(3):checked ~ .switch-btn:nth-child(4)::before{color:var(--lp-primary-color)}input[type=radio]:nth-child(5):checked ~ .switch-btn:nth-child(6){background:#f5f5f5}input[type=radio]:nth-child(5):checked ~ .switch-btn:nth-child(6)::before{color:var(--lp-primary-color)}input[type=radio]:nth-child(7):checked ~ .switch-btn:nth-child(8){background:#f5f5f5}input[type=radio]:nth-child(7):checked ~ .switch-btn:nth-child(8)::before{color:var(--lp-primary-color)}input[type=radio]:nth-child(9):checked ~ .switch-btn:nth-child(10){background:#f5f5f5}input[type=radio]:nth-child(9):checked ~ .switch-btn:nth-child(10)::before{color:var(--lp-primary-color)}input[type=radio]:nth-child(11):checked ~ .switch-btn:nth-child(12){background:#f5f5f5}input[type=radio]:nth-child(11):checked ~ .switch-btn:nth-child(12)::before{color:var(--lp-primary-color)}input[type=radio]:nth-child(13):checked ~ .switch-btn:nth-child(14){background:#f5f5f5}input[type=radio]:nth-child(13):checked ~ .switch-btn:nth-child(14)::before{color:var(--lp-primary-color)}input[type=radio]:nth-child(15):checked ~ .switch-btn:nth-child(16){background:#f5f5f5}input[type=radio]:nth-child(15):checked ~ .switch-btn:nth-child(16)::before{color:var(--lp-primary-color)}input[type=radio]:nth-child(17):checked ~ .switch-btn:nth-child(18){background:#f5f5f5}input[type=radio]:nth-child(17):checked ~ .switch-btn:nth-child(18)::before{color:var(--lp-primary-color)}input[type=radio]:nth-child(19):checked ~ .switch-btn:nth-child(20){background:#f5f5f5}input[type=radio]:nth-child(19):checked ~ .switch-btn:nth-child(20)::before{color:var(--lp-primary-color)}.lp_allow_repuchase_select{padding:20px;background:#f7f7f7}.lp_allow_repuchase_select>ul{padding:0;list-style:none}.lp_allow_repuchase_select>a{display:inline-block;margin-top:10px;color:#fff;background-color:#222}.comment-respond .comment-reply-title{font-size:30px;font-weight:500;line-height:1.2;margin-bottom:15px}.comment-respond .comment-form{margin:0 -15px}.comment-respond .comment-form>p label{display:block;margin-bottom:10px;font-size:16px;font-weight:500}.comment-respond .comment-form>p.comment-notes,.comment-respond .comment-form>p.logged-in-as{color:#666;font-size:16px}.comment-respond .comment-form>p.logged-in-as a{color:#666;text-decoration:underline}.comment-respond .comment-form>p.logged-in-as a:hover,.comment-respond .comment-form>p.logged-in-as a:focus{color:var(--lp-primary-color)}.comment-respond .comment-form>p.comment-form-cookies-consent{clear:both}.comment-respond .comment-form>p.comment-form-cookies-consent input{padding:0;margin-left:8px}.comment-respond .comment-form>p.comment-form-cookies-consent label{display:inline}.comment-respond .comment-form>p,.comment-respond .comment-form>div{padding:0 15px;margin-bottom:15px}.comment-respond .comment-form input[type=text],.comment-respond .comment-form input[type=email],.comment-respond .comment-form input[type=url]{height:40px;line-height:normal;width:100% !important;margin-bottom:15px}.comment-respond .comment-form input[type=submit]{background-color:var(--lp-primary-color);border:0;min-height:40px;line-height:40px;padding:0 15px;font-size:16px;text-transform:capitalize;font-weight:500;margin-top:15px;cursor:pointer;color:white}.comment-respond .comment-form .comment-form-author,.comment-respond .comment-form .comment-form-email,.comment-respond .comment-form .comment-form-url{width:33.33%;float:right}@media(max-width:575px){.comment-respond .comment-form .comment-form-author,.comment-respond .comment-form .comment-form-email,.comment-respond .comment-form .comment-form-url{width:100%;float:unset}}.comment-respond .comment-form textarea,.comment-respond .comment-form input{border:1px solid #ccc;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;max-width:100%}.comment-respond .comment-form textarea{width:100%;display:block;padding:20px 15px;resize:none}.course-summary-sidebar .course-sidebar-preview{margin-bottom:35px;background:#fff}.course-summary-sidebar .lp-course-buttons{margin-bottom:34px}.course-summary-sidebar .lp-course-buttons>*{margin-bottom:10px}.course-summary-sidebar .lp-course-buttons>*:last-child{margin-bottom:0}.course-summary-sidebar .lp-course-buttons form,.course-summary-sidebar .lp-course-buttons button{width:100%;text-decoration:none}.course-summary-sidebar .lp-course-buttons button{font-weight:500}.course-summary-sidebar .lp-course-buttons button:hover{border-color:var(--lp-primary-color)}.course-summary-sidebar .lp-course-buttons button.button-enroll-course{border-color:var(--lp-primary-color);color:#fff;background:var(--lp-primary-color)}.course-summary-sidebar .lp-course-buttons button.button-enroll-course:hover{opacity:.5;background:var(--lp-primary-color)}.course-summary-sidebar .lp-course-buttons button.button-enroll-course.loading::before{display:inline-block;font-family:"Font Awesome 5 Free";font-weight:900;content:"\f110";animation:lp-rotating 1s linear infinite}.course-summary-sidebar .lp-course-buttons button ~ .lp-enroll-notice{margin-top:20px;padding:20px;border:2px solid #059601;border-radius:9px;font-size:15px;line-height:1.4}.course-summary-sidebar .lp-course-buttons button ~ .lp-enroll-notice.error{border-color:#d85554}.course-summary-sidebar .course-results-progress .items-progress,.course-summary-sidebar .course-results-progress .course-progress{display:flex;flex-direction:row;margin:0 0 5px;padding:0;justify-content:space-between;flex-wrap:wrap}.course-summary-sidebar .course-results-progress .items-progress__heading,.course-summary-sidebar .course-results-progress .course-progress__heading{margin:0;margin-bottom:7px;padding:0;color:#333;font-size:1rem;font-weight:500;flex:1 1 auto;width:auto}.course-summary-sidebar .course-results-progress .items-progress .learn-press-progress,.course-summary-sidebar .course-results-progress .course-progress .learn-press-progress{clear:both;width:100%}.course-summary-sidebar .course-results-progress .number{display:block;margin:0;color:#666;font-size:16px;font-weight:300;line-height:16px;text-align:left}.course-sidebar-preview .course-price{text-align:center}.course-sidebar-preview .course-price .origin-price{color:#666;font-size:18px;font-weight:300;font-style:unset}.course-sidebar-preview .course-price .price{color:#333;font-size:1.8rem;font-weight:500}.course-sidebar-preview .media-preview{overflow:hidden;position:relative;margin:-20px -20px 20px}.course-sidebar-preview .media-preview img{max-width:100%;height:auto;vertical-align:top}.course-sidebar-preview .course-time{margin-bottom:28px;padding-bottom:8px;border-bottom:1px solid rgba(204,204,204,0.3)}.course-sidebar-preview .course-time-row{display:flex;color:#666;font-size:16px;font-weight:300;justify-content:space-between}.course-sidebar-preview .course-time-row strong{color:#333;font-weight:500}.course-sidebar-preview .course-time-row time{color:#666;font-size:1rem;font-weight:300;line-height:24px}.course-sidebar-preview>*:last-child{margin-bottom:0}.learnpress-page .lp-button.secondary{background:#9198ab}.learnpress-page .lp-button.secondary:hover{background:#9ba6c5}.learnpress-page .lp-button:disabled,.learnpress-page .lp-button[disabled]{background:#ddd;pointer-events:none}.learnpress-page:hover{text-decoration:none}#popup-course{display:flex;position:fixed;z-index:99999;top:0;left:0;bottom:0;right:0;background:#fff}#popup-course .back-course{padding-right:30px;padding-left:30px;line-height:70px;background:rgba(255,255,255,0.1);color:#fff}#popup-course .back-course:hover{background:rgba(255,255,255,0.15)}@media(max-width:768px){#popup-course .back-course{background:transparent;opacity:.6;padding-right:15px;padding-left:15px}#popup-course .back-course:hover{background:transparent;opacity:1}}#popup-course #popup-header{display:flex;position:fixed;z-index:100;left:0;right:475px;padding:0;border-bottom:1px solid #d9e0f1;background:var(--lp-secondary-color);-webkit-transition:right .25s;-moz-transition:right .25s;-ms-transition:right .25s;-o-transition:right .25s;transition:right .25s}#popup-course #popup-header .course-title{margin:0;padding:0;line-height:70px;letter-spacing:unset}#popup-course #popup-header .course-title a{display:-webkit-box;overflow:hidden;color:#fff;font-size:16px;font-weight:400;text-overflow:ellipsis;-webkit-line-clamp:1;-webkit-box-orient:vertical}#popup-course #popup-header .course-title a:hover{color:var(--lp-primary-color)}@media(max-width:768px){#popup-course #popup-header .course-title{flex:1}}#popup-course #popup-header .items-progress{display:flex;justify-content:center;align-items:center;column-gap:10px}@media(max-width:768px){#popup-course #popup-header .items-progress{flex:1}}@media(max-width:767px){#popup-course #popup-header .items-progress{padding-bottom:20px;justify-content:end}}#popup-course #popup-header .number{padding-left:10px;color:#fff;font-size:14px;font-weight:300}#popup-course #popup-header .lp-button{display:flex;position:relative;height:40px;margin:9px;border:0;color:#fff;background:var(--lp-primary-color);font-size:14px;font-weight:400;justify-content:center;line-height:40px;align-items:center}#popup-course #popup-header .lp-button:hover{opacity:.8}#popup-course #popup-header .lp-button-back{float:left;margin:9px 10px}#popup-course #popup-header .lp-button-back button::before,#popup-course #popup-header .lp-button-back button::after{content:""}#popup-course #popup-header .lp-button-back button::before{border:1px solid #ddd}#popup-course #popup-header .lp-button-back button::after{border:1px solid #ddd}#popup-course .popup-header__inner{display:flex;width:792px;margin:0 auto;justify-content:space-between;align-items:center;padding-right:15px;padding-left:15px}@media(max-width:1024px){#popup-course .popup-header__inner{width:100%}}@media(max-width:767px){#popup-course .popup-header__inner{flex-direction:column}}#popup-course #popup-sidebar{overflow:auto;position:relative;box-shadow:0 15px 30px 0 rgba(0,0,0,0.1);flex:0 0 475px;-webkit-transition:.25s;-moz-transition:.25s;-ms-transition:.25s;-o-transition:.25s;transition:.25s}#popup-course #popup-sidebar .search-course{display:flex;position:relative;height:70px;background:#f9fafc}#popup-course #popup-sidebar .search-course input[name=s]{display:block;width:100%;margin:6px 0;padding-right:20px;border:0;color:#999;background:transparent;box-shadow:none;font-size:14px;line-height:1;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}#popup-course #popup-sidebar .search-course input[name=s]::-webkit-input-placeholder{color:#999}#popup-course #popup-sidebar .search-course input[name=s]::-moz-placeholder{color:#999}#popup-course #popup-sidebar .search-course input[name=s]:-ms-input-placeholder{color:#999}#popup-course #popup-sidebar .search-course input[name=s]:-moz-placeholder{color:#999}#popup-course #popup-sidebar .search-course input[name=s]::placeholder{color:#999}#popup-course #popup-sidebar .search-course input[name=s]::-webkit-input-placeholder{font-style:italic}#popup-course #popup-sidebar .search-course input[name=s]::-moz-placeholder{font-style:italic}#popup-course #popup-sidebar .search-course input[name=s]:-ms-input-placeholder{font-style:italic}#popup-course #popup-sidebar .search-course input[name=s]:-moz-placeholder{font-style:italic}#popup-course #popup-sidebar .search-course input[name=s]::placeholder{font-style:italic}#popup-course #popup-sidebar .search-course input[name=s]:focus{outline:0;color:#222}#popup-course #popup-sidebar .search-course button{position:absolute;top:0;left:10px;width:16px;height:70px;margin:0 10px;padding:0;border:0;background:transparent;line-height:1px}#popup-course #popup-sidebar .search-course button::before{color:#666;font-family:"Font Awesome 5 Free";font-size:16px;font-weight:900;content:"\f002"}#popup-course #popup-sidebar .search-course button.clear{display:none}#popup-course #popup-sidebar .search-course button.clear::before{content:"\f00d"}#popup-course #popup-sidebar .search-course .search-results{display:none;overflow:auto;position:fixed;z-index:99999999;top:92px;bottom:0;right:0;width:400px;margin:0;border-top-color:transparent;border-left:1px solid #d9e0f1;background:#fbfcff}#popup-course #popup-sidebar .search-course .search-results .search-results__item{border-bottom:1px solid #d9e0f1;background:#fff}#popup-course #popup-sidebar .search-course .search-results .search-results__item img{position:absolute;right:10px;width:40px;height:40px}#popup-course #popup-sidebar .search-course .search-results .search-results__item a{display:-webkit-box;overflow:hidden;position:relative;box-sizing:content-box;height:40px;padding:10px 60px 10px 10px;color:#777;text-overflow:ellipsis;-webkit-line-clamp:1;-webkit-box-orient:vertical}#popup-course #popup-sidebar .search-course .search-results .search-results__item:hover{background:#d9e0f1}#popup-course #popup-sidebar .search-course .search-results .search-results__item-title{overflow:hidden;margin:0 0 -2px 0;padding:0;font-size:16px;font-weight:normal}#popup-course #popup-sidebar .search-course .search-results .search-results__item-author{font-size:12px}#popup-course #popup-sidebar .search-course .search-results .course-price{position:absolute;left:10px;bottom:10px;font-size:12px}#popup-course #popup-sidebar .search-course .search-results .course-price .origin-price{font-size:smaller;text-decoration:line-through}#popup-course #popup-sidebar .search-course .search-results .search-results__not-found{padding:10px;color:#777}#popup-course #popup-sidebar .search-course .search-results .search-results__pagination{padding:10px;text-align:center}#popup-course #popup-sidebar .search-course .search-results .search-results__pagination a,#popup-course #popup-sidebar .search-course .search-results .search-results__pagination span{display:inline-block;margin:0 2px 10px 3px;padding:5px 8px;border:1px solid #d9e0f1;border-radius:4px;color:#777;font-size:14px;line-height:1;cursor:pointer}#popup-course #popup-sidebar .search-course .search-results .search-results__pagination span{color:#999;background:#d9e0f1}#popup-course #popup-sidebar .search-course.searching .search-results{display:block}#popup-course #popup-sidebar .search-course.searching .clear{display:block}#popup-course #popup-sidebar .search-course.searching button{display:none}#popup-course #popup-sidebar .search-course.searching::after{position:absolute;z-index:1;bottom:0;right:50%;width:0;height:0;margin-right:-10px;border:10px solid transparent;border-bottom-color:#fff;content:""}#popup-course #popup-sidebar .course-curriculum{overflow:auto;position:absolute;top:70px;bottom:0;width:475px}#popup-course #popup-sidebar .course-curriculum::-webkit-scrollbar-thumb{background:#ccc}#popup-course #popup-sidebar .course-curriculum::-webkit-scrollbar{width:6px}#popup-course #popup-sidebar .course-curriculum::-webkit-scrollbar-track{background:#f5f5f5}#popup-course #popup-sidebar .section{position:relative;padding:0 0 4px 0}#popup-course #popup-sidebar .section .circle-progress{display:inline-block;position:absolute;top:50%;left:10px;width:24px;height:24px;margin-top:-12px;border:3px solid #d9e0f1;border-radius:50%}#popup-course #popup-sidebar .section.section-empty .section-header{margin:0}#popup-course #popup-sidebar .section.section-empty .learn-press-message{margin:0;padding:10px;border-bottom:1px solid #d9e0f1;border-radius:0;color:#999;background:#f5f5f5;font-size:14px}#popup-course #popup-sidebar .section.section-empty .learn-press-message::before,#popup-course #popup-sidebar .section.section-empty .learn-press-message::after{position:absolute;z-index:9999;top:-16px;right:10px;width:0;height:0;border:8px solid transparent;border-bottom-color:#f5f5f5;background:transparent;content:"";-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}#popup-course #popup-sidebar .section.section-empty .learn-press-message::after{z-index:9998;top:-20px;right:8px;border-width:10px;border-bottom-color:#d9e0f1}#popup-course #popup-sidebar .section-header{position:sticky;z-index:1000;top:0;height:94px;padding:38px 20px 20px 20px;cursor:pointer;background-color:white}#popup-course #popup-sidebar .section-header .section-title{padding:0 0 4px 0;color:#000;font-size:20px;font-weight:500}#popup-course #popup-sidebar .section-header .section-title .show-desc::before{font-family:"Font Awesome 5 Free";font-size:18px;font-weight:900;content:"\f0d7"}#popup-course #popup-sidebar .section-header .section-toggle{justify-content:flex-end;flex:0}#popup-course #popup-sidebar .section-header .section-toggle i{color:#666}#popup-course #popup-sidebar .section-header .section-meta{padding-top:6px;padding-bottom:0}#popup-course #popup-sidebar .section-content{margin-bottom:0}#popup-course #popup-sidebar .course-item{min-height:50px;margin-bottom:4px;padding:5px 20px;background:#f9fafc;align-items:center}#popup-course #popup-sidebar .course-item>span{display:none}#popup-course #popup-sidebar .course-item::before{top:-1px;bottom:-1px;height:auto;background:transparent}#popup-course #popup-sidebar .course-item::after{content:""}#popup-course #popup-sidebar .course-item.current{background:#eaeaea}#popup-course #popup-sidebar .course-item.has-status.failed .trans{color:#f02425}#popup-course #popup-sidebar .course-item.status-completed .trans{color:#3bb54a}#popup-course #popup-sidebar .section-item-link{line-height:1;padding-left:0}#popup-course #popup-sidebar .section-item-link::before{padding:12px 0;vertical-align:unset}#popup-course #popup-sidebar .section-item-link .item-name{width:100%;padding:0 17px 0 10px;font-size:14px;line-height:21px;font-weight:500}#popup-course #popup-sidebar .course-item-meta{padding:0}#popup-course #popup-sidebar .course-item-meta .item-meta{padding:0;color:#999;background:transparent;font-size:12px;line-height:1.5;height:auto}#popup-course #popup-sidebar .course-item-meta .item-meta:first-child{margin-right:0}#popup-course #popup-sidebar .course-item-meta .item-meta::before{font-size:12px;line-height:21px}#popup-course #popup-content{overflow:auto;position:relative;margin:70px 0 50px 0;flex:1;padding-right:15px;padding-left:15px}#popup-course #popup-content .lp-button{position:relative;margin:0 0 0 10px;padding:12px 29px;border-color:var(--lp-secondary-color);font-size:14px}#popup-course #popup-content .lp-button.instant-check .instant-check__icon{margin-left:5px}#popup-course #popup-content .lp-button.instant-check .instant-check__icon::before{font-family:"Font Awesome 5 Free";content:"\f058"}#popup-course #popup-content .lp-button.instant-check .instant-check__info{visibility:hidden;position:absolute;top:100%;right:0;margin-top:3px;padding:11px 20px;border-radius:3px;background:#eee;white-space:nowrap;text-transform:none}#popup-course #popup-content .lp-button.instant-check:hover .instant-check__info{visibility:visible;position:absolute;top:100%;right:0;margin-top:3px;padding:11px 11px;border-radius:3px;color:#333;background:#eee;white-space:nowrap}#popup-course #popup-content .lp-button.instant-check.loading .instant-check__icon{display:inline-block;animation:lp-rotating 1s linear infinite}#popup-course #popup-content .lp-button.instant-check.loading .instant-check__icon::before{font-weight:800;content:"\f110"}#popup-course #popup-content .lp-button:hover{border-color:var(--lp-primary-color)}#popup-course #popup-content .lp-button.completed{display:flex;flex-direction:row-reverse;margin-top:32px;border-color:transparent;color:#fff;background:#3db748;font-size:16px;align-items:center;justify-content:center}#popup-course #popup-content .lp-button.completed i{margin-right:9px;font-size:14px}#popup-course #popup-content.fixed-quiz-status .quiz-status{background:var(--lp-primary-color)}#popup-course #popup-content.fixed-quiz-status .quiz-status>div{padding:0}#popup-course #popup-footer{position:fixed;z-index:999;left:0;bottom:0;right:475px;width:100%;max-width:792px;height:50px;margin:0 auto;border-top:1px solid #ebebeb;background:#fff;-webkit-transition:right .25s;-moz-transition:right .25s;-ms-transition:right .25s;-o-transition:right .25s;transition:right .25s}@media(max-width:1024px){#popup-course #popup-footer{width:auto;padding:0 15px}}#popup-course #popup-footer .course-item-nav{justify-content:space-between}#popup-course #popup-footer .course-item-nav .prev,#popup-course #popup-footer .course-item-nav .next{display:flex;line-height:50px}#popup-course #popup-footer .course-item-nav .prev a,#popup-course #popup-footer .course-item-nav .next a{display:block;color:#666;font-size:16px}#popup-course #popup-footer .course-item-nav .prev::before,#popup-course #popup-footer .course-item-nav .next::before{color:#999;font-family:"Font Awesome 5 Free";font-size:12px;font-weight:900}#popup-course #popup-footer .course-item-nav .prev:hover a,#popup-course #popup-footer .course-item-nav .prev:hover::before,#popup-course #popup-footer .course-item-nav .next:hover a,#popup-course #popup-footer .course-item-nav .next:hover::before{color:var(--lp-primary-color)}#popup-course #popup-footer .course-item-nav .prev:hover .course-item-nav__name,#popup-course #popup-footer .course-item-nav .next:hover .course-item-nav__name{display:block}#popup-course #popup-footer .course-item-nav .next{flex-direction:row-reverse}#popup-course #popup-footer .course-item-nav .next::before{margin-right:10px;content:"\f0da"}#popup-course #popup-footer .course-item-nav[data-nav=next]{justify-content:flex-end}#popup-course #popup-footer .prev::before{margin-left:10px;content:"\f0d9"}#popup-course #popup-footer .prev .course-item-nav__name{left:auto;right:-30px}#popup-course #popup-footer .prev .course-item-nav__name::before{left:auto;right:5px}@media(max-width:1024px){#popup-course #popup-footer .prev .course-item-nav__name{right:15px}}#popup-course #popup-footer .course-item-nav__name{display:none;position:absolute;top:-20px;left:-30px;width:auto;padding:10px 15px;color:#666;background:#ccc;font-size:14px;font-weight:300;line-height:1}@media(max-width:1024px){#popup-course #popup-footer .course-item-nav__name{top:-25px;left:15px;right:auto}}#popup-course #sidebar-toggle{display:inline-block;position:absolute;z-index:100;top:198px;right:475px;width:25px;height:56px;margin:0;background:#fff;box-shadow:0 0 20px 0 rgba(0,0,0,0.15);cursor:pointer;transition:.25s;-webkit-appearance:none;border:0}#popup-course #sidebar-toggle:after{display:none}#popup-course #sidebar-toggle::before{display:inline-block;position:absolute;top:50%;right:50%;color:var(--lp-primary-color);font-family:"Font Awesome 5 Free";font-size:18px;font-weight:900;content:"\f0d9";transition:.25s;transform:translate(50%,-50%)}#popup-course #sidebar-toggle:focus{border:0;outline:0}#popup-course .lp-quiz-buttons .complete-quiz,#popup-course .lp-quiz-buttons .back-quiz,#popup-course .lp-quiz-buttons .review-quiz{float:left}#popup-course .quiz-results,#popup-course .quiz-content,#popup-course .quiz-questions,#popup-course .quiz-buttons,#popup-course .quiz-attempts{margin-bottom:60px}#popup-course .quiz-questions .lp-fib-content{margin-bottom:20px;padding:20px;border:2px solid #f5f5f5;border-radius:6px;line-height:1.6}#popup-course .quiz-questions .lp-fib-input{display:inline-block;width:auto;max-width:none}#popup-course .quiz-questions .lp-fib-input>input{height:36px;padding:6px 16px;border:1px solid #222;line-height:36px}#popup-course .quiz-questions .lp-fib-answered{padding:0 10px;background:#ececec;white-space:nowrap}#popup-course .quiz-questions .lp-fib-answered.fail{border:2px solid #d85554}#popup-course .quiz-questions .lp-fib-answered.fail .lp-fib-answered__answer{text-decoration:line-through}#popup-course .quiz-questions .lp-fib-answered.correct{border:2px solid #00adff}#popup-course .quiz-questions .lp-fib-note{display:flex;margin-right:10px;font-size:14px;font-weight:400;align-items:center}#popup-course .quiz-questions .lp-fib-note>span{display:inline-block;width:20px;height:20px;margin:0 0 0 5px}#popup-course .quiz-questions .lp-sorting-choice__check-answer{padding:5px 20px;border:2px solid #059601;border-radius:5px;font-size:1rem}#popup-course .question .answer-option input[type=radio],#popup-course .question .answer-option input[type=checkbox]{-webkit-transform:translateY(-50%);-moz-transform:translateY(-50%);-ms-transform:translateY(-50%);-o-transform:translateY(-50%);transform:translateY(-50%);margin:0 10px 0 0}#popup-course .question .answer-option input[type=radio]::before{border-radius:50%}#popup-course .question .question-response{display:flex;align-items:center;justify-content:flex-start}#popup-course .scrollbar-light>.scroll-element{z-index:9999}#popup-course .scrollbar-light>.scroll-element.scroll-y{display:none}#popup-course .scrollbar-light>.scroll-element.scroll-y .scroll-bar{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}body.admin-bar #popup-course{top:32px}body.lp-sidebar-toggle__close #popup-course>#sidebar-toggle{right:0}body.lp-sidebar-toggle__close #popup-course>#sidebar-toggle::before{content:"\f0da"}body.lp-sidebar-toggle__close #popup-course #popup-sidebar{flex:0}body.lp-sidebar-toggle__close #popup-course #popup-header,body.lp-sidebar-toggle__close #popup-course #popup-footer{right:0}@media(max-width:768px){body:not(.lp-sidebar-toggle__open) #popup-course>#sidebar-toggle{right:0}body:not(.lp-sidebar-toggle__open) #popup-course>#sidebar-toggle::before{content:"\f0da"}body:not(.lp-sidebar-toggle__open) #popup-course #popup-sidebar{flex:0}}.course-curriculum .section-header .section-meta{position:relative}@media screen and (max-width:1280px){#popup-course #popup-sidebar{flex-basis:300px}#popup-course #popup-sidebar .course-curriculum{width:300px}#popup-course #popup-header,#popup-course #popup-footer{right:300px}#popup-course #sidebar-toggle{right:299px}}@media screen and (max-width:782px){body.admin-bar #popup-course{top:46px}#popup-course #popup-sidebar{flex-basis:250px}#popup-course #popup-sidebar .course-curriculum{width:250px}#popup-course #popup-header,#popup-course #popup-footer{right:250px}#popup-course #sidebar-toggle{right:249px}#popup-course .course-item-meta .item-meta.count-questions,#popup-course .course-item-meta .item-meta.duration{display:none}}.content-item-wrap{width:792px;max-width:100%;margin:0 auto;padding-bottom:80px}@media(max-width:1024px){.content-item-wrap{width:100%}}.content-item-wrap .course-item-title{margin-top:0;margin-bottom:24px;color:#333;font-size:30px;font-weight:600}@media(max-width:767px){.content-item-wrap .course-item-title{text-align:center}}.content-item-wrap h4{font-size:1.5rem;font-weight:500;line-height:1.5}.content-item-wrap .content-item-summary{padding-top:50px}.content-item-wrap .content-item-description{margin-bottom:30px}.content-item-wrap .content-item-description h2,.content-item-wrap .content-item-description h3,.content-item-wrap .content-item-description h4,.content-item-wrap .content-item-description h5,.content-item-wrap .content-item-description h6{margin-top:0;margin-bottom:18px;font-size:18px;letter-spacing:unset}.content-item-wrap .content-item-description p{margin:0 0 18px 0;color:#666;font-size:16px;font-weight:300;line-height:26px}.content-item-wrap .content-item-description img{max-width:100%;height:auto;vertical-align:middle}.content-item-wrap #learn-press-quiz-app{margin-bottom:40px}.content-item-wrap .quiz-content{margin-bottom:40px;color:#666;font-size:16px;font-weight:300;line-height:26px}.content-item-wrap .quiz-content img{max-width:100%;height:auto;vertical-align:middle}.content-item-wrap .quiz-buttons{display:flex;justify-content:center;text-align:center}.content-item-wrap .quiz-buttons .button-right .lp-button{margin:0 15px 0 0}.content-item-wrap .quiz-buttons .lp-button[data-type=question-nav]{margin:0;border:1px solid #d9e0f1;color:#777;background:#fbfcff}.content-item-wrap .quiz-buttons .lp-button[data-type=question-nav]::before{display:inline-block;width:15px;height:15px;border:2px solid #d9e0f1;border-top-color:transparent;border-right-color:transparent;content:"";-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);-o-transform:rotate(45deg);transform:rotate(45deg)}.content-item-wrap .quiz-buttons .lp-button[data-type=question-nav].prev::before{margin-right:7px;-webkit-transform:rotate(-135deg);-moz-transform:rotate(-135deg);-ms-transform:rotate(-135deg);-o-transform:rotate(-135deg);transform:rotate(-135deg)}.content-item-wrap .quiz-buttons .lp-button[data-type=question-nav].next{margin-right:-1px}.content-item-wrap .quiz-buttons .lp-button[data-type=question-nav].next::before{margin-left:7px}.content-item-wrap .quiz-buttons .lp-button[data-type=question-nav]:hover{background:#fff}.content-item-wrap .quiz-buttons.align-center{display:block;text-align:center}.content-item-wrap .quiz-buttons.align-center .button-left{text-align:center}.content-item-wrap .quiz-buttons.align-center .button-left.fixed{position:fixed;z-index:99999;bottom:0;right:50%;width:100%;max-width:792px;height:49px;margin-right:237px;transform:translateX(50%)}@media(max-width:768px){.content-item-wrap .quiz-buttons.align-center .button-left.fixed{width:100% !important}}.content-item-wrap .quiz-buttons.align-center .button-left.nav-center{height:50px;margin-right:0 !important}.content-item-wrap .quiz-buttons:not(.infinity).is-first .prev{display:none}.content-item-wrap .quiz-buttons:not(.infinity).is-last .next{display:none}.content-item-wrap .quiz-buttons:not(.is-first):not(.is-last) .prev{border-top-left-radius:0;border-bottom-left-radius:0}.content-item-wrap .quiz-buttons:not(.is-first):not(.is-last) .next{border-top-right-radius:0;border-bottom-right-radius:0}.content-item-wrap .questions-pagination{height:33px;padding:8px 0;background:#fff;text-align:center}.content-item-wrap .questions-pagination .nav-links{text-align:center}.content-item-wrap .questions-pagination .nav-links .page-numbers{display:inline-block;vertical-align:middle;margin:0 3px 3px;padding:10px 16px;color:#666;background-color:transparent;font-size:16px;font-weight:300;line-height:1;border:1px solid;cursor:pointer}.content-item-wrap .questions-pagination .nav-links .page-numbers.next,.content-item-wrap .questions-pagination .nav-links .page-numbers.prev{display:inline-block;padding:10px;background:transparent;font-size:16px;text-align:center;text-decoration:none;text-transform:none;border:1px solid}.content-item-wrap .questions-pagination .nav-links .page-numbers.current,.content-item-wrap .questions-pagination .nav-links .page-numbers:hover{color:var(--lp-primary-color)}.course-curriculum .section-title{position:relative;margin-bottom:0;padding:8px 0;color:#5383f7;font-size:16px;font-weight:normal;line-height:1}.course-curriculum .section-title span.show-desc{display:inline-block;position:absolute;top:50%;left:30px;width:20px;height:20px;transform:translate(0,-50%)}.course-curriculum .section-title span.show-desc::before{font-family:"Font Awesome 5 Free";font-size:18px;font-weight:900;content:"\f107"}.course-curriculum .section-title span.show-desc:hover::before{border-top-color:#ccc}.lp-overlay{display:none;position:fixed;z-index:99999;top:0;left:0;bottom:0;right:0;width:100%;height:100%;background-color:rgba(209,213,219,0.8);transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:150ms;transition-property:opacity}.wp-admin .lp-modal-dialog .lp-modal-header{padding:2em}.wp-admin .lp-modal-dialog .lp-modal-header h3{font-size:1.4em}.lp-modal-dialog{display:flex;position:fixed;z-index:9999;top:0;left:0;right:0;width:100%;min-height:100vh;text-align:center;align-items:center;justify-content:center}.lp-modal-dialog .lp-modal-content{display:inline-block;overflow:hidden;z-index:2;width:auto;max-width:600px;border-radius:8px;text-align:right;vertical-align:middle;background:white;color:black}.lp-modal-dialog .lp-modal-header{background:#7c60d9;border-bottom:1px solid #eee;padding:1em}.lp-modal-dialog .lp-modal-header h3{margin:0;color:white;font-size:inherit;font-weight:400}.lp-modal-dialog .lp-modal-body .main-content{max-height:500px;overflow:auto}.lp-modal-dialog .lp-modal-body .main-content h3,.lp-modal-dialog .lp-modal-body .main-content h2,.lp-modal-dialog .lp-modal-body .main-content .pd-2em{padding:1em}.lp-modal-dialog .lp-modal-footer{padding:20px;background-color:#f9fafb;text-align:left}.lp-modal-dialog .btn-yes{color:#fff;background-color:#7c60d9}#lp-modal-overlay{display:none;position:fixed;z-index:999999;top:0;left:0;bottom:0;right:0;opacity:.5;background:#000}#lp-modal-window{display:none;position:fixed;z-index:999999;top:50%;right:50%;padding:35px 60px 28px 60px;background:#fff;transform:translate(50%,-50%);-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}#lp-modal-window #lp-modal-content{margin:0 0 24px 0;color:#333;font-size:16px;font-weight:400;line-height:26px;text-align:center}#lp-modal-window #lp-modal-content>*{margin:0 0 .5em}#lp-modal-window #lp-modal-buttons{display:flex;flex-direction:row-reverse;align-items:center;justify-content:center}#lp-modal-window #lp-modal-buttons .lp-button{position:relative;margin:0 10px 0 10px}.learn-press-comments{width:792px;max-width:100%;margin:0 auto}@media(max-width:1024px){.learn-press-comments{width:100%}}.learn-press-progress{overflow:hidden;position:relative;width:80px;height:6px;border-radius:3px}.learn-press-progress .learn-press-progress__active{position:absolute;z-index:1;right:-100%;width:100%;height:100%;border-radius:3px;background:var(--lp-primary-color);-webkit-transition:.5s;-moz-transition:.5s;-ms-transition:.5s;-o-transition:.5s;transition:.5s}.learn-press-progress::before{display:block;position:absolute;z-index:0;top:0;width:100%;height:100%;background:#ccc;content:""}.course-curriculum .section-header .section-left{display:flex}.course-curriculum .section-header .section-left .section-title{flex:1}.course-curriculum .section-header .section-left .section-toggle{flex:0 0 40px;align-items:center;text-align:center;cursor:pointer}.course-curriculum .section-header .section-left .section-toggle .fa-caret-down{display:none}.course-curriculum .section-header .learn-press-progress{width:80px}.course-curriculum .section.closed .section-toggle .fa-caret-down{display:block}.course-curriculum .section.closed .section-toggle .fa-caret-up{display:none}.course-curriculum .section.closed .section-content{overflow:hidden;height:0}*{box-sizing:border-box;margin:0;padding:0}button{cursor:pointer}input,button,select,textarea{outline:0}html{overflow-x:hidden}a{-webkit-transition:.3s;-moz-transition:.3s;-ms-transition:.3s;-o-transition:.3s;transition:.3s}.lp-skeleton-animation{margin:0;padding:0;list-style:none}.lp-skeleton-animation>li{width:100%;height:16px;margin-top:15px;border-radius:2px;background:linear-gradient(-90deg,hsla(0,0%,74.5%,0.2) 25%,hsla(0,0%,50.6%,0.24) 37%,hsla(0,0%,74.5%,0.2) 63%);background-size:400% 100%;list-style:none;animation:lp-skeleton-loading 1.4s ease infinite}@keyframes lp-skeleton-loading{0%{background-position:0 50%}to{background-position:100% 50%}}.learnpress.theme-twentytwentytwo .wp-site-blocks,.learnpress.twentytwentytwo .wp-site-blocks{max-width:none;padding-left:0;padding-right:0}.learnpress.theme-twentytwentytwo .wp-site-blocks>.wp-block-group,.learnpress.twentytwentytwo .wp-site-blocks>.wp-block-group{max-width:none;margin-left:auto;margin-right:auto}.learnpress.theme-twentytwentytwo .lp-archive-courses,.learnpress.twentytwentytwo .lp-archive-courses{max-width:none}.learnpress.twentytwentytwo .wp-container-11 .alignfull,.learnpress.twentytwentytwo .wp-container-9 .alignfull,.learnpress.twentytwentytwo .wp-container-12 .alignfull{max-width:100%;margin-right:0 !important;margin-left:0 !important;padding-right:0 !important;padding-left:0 !important}@media(max-width:1199px){.learnpress.twentytwentytwo .wp-site-blocks .wp-block-template-part{padding-right:15px;padding-left:15px}}input[type=text],input[type=email],input[type=number],input[type=password]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin:0;box-shadow:unset}body{background:#fff}body.learnpress-page{overflow-x:hidden}.wrap-fullwidth a:focus,.wrap-fullwidth button:focus,.wrap-fullwidth input:focus,.wrap-fullwidth textarea:focus{border:0;outline:0}.wrap-fullwidth a:hover{text-decoration:none}.wrap-fullwidth p{word-break:break-word}.wrap-fullwidth p:last-child{margin-bottom:0}.wrap-fullwidth label{display:block;margin:0;outline:0}.wrap-fullwidth img{max-width:100%;height:auto}.wrap-fullwidth form{margin:0}.wrap-fullwidth .col-full{box-sizing:border-box;max-width:100%;padding:0}.wrap-fullwidth .col-full .woocommerce-breadcrumb{display:none}footer{clear:both}.margin-bottom{margin-bottom:20px}.hide-if-js{display:none !important}.clearfix::after{display:block;clear:both;content:""}.lp-form-fields{margin:0;padding:0;list-style:none}.lp-form-fields .form-field{margin:0 0 20px 0;list-style:none}.lp-content-wrap{width:1170px;max-width:90%;margin:0 auto}.lp-content-wrap>h2{margin-top:0;margin-bottom:26px;color:#333;font-size:30px;font-weight:600}.learn-press-breadcrumb{max-width:1170px;width:100%;margin:0 auto 45px auto;padding:0;color:#333;font-size:14px;font-weight:400;list-style:none}.learn-press-breadcrumb li{display:inline-block;margin:0}.learn-press-breadcrumb li a:hover{color:var(--lp-primary-color)}.learn-press-breadcrumb i{margin:0 5px;color:#666;font-size:12px}@media(max-width:1024px){.learn-press-breadcrumb{padding-left:15px;padding-right:15px}}.learn-press-breadcrumb a{color:#666;font-weight:500}.learnpress-page .lp-button,.learnpress-page #lp-button{padding:16px 24px;border:1px solid #ccc;color:#333;background:transparent;box-shadow:unset;font-family:inherit;font-size:16px;font-weight:400;line-height:1;text-align:center;vertical-align:middle;text-decoration:none;text-transform:capitalize;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-transition:all .25s;-moz-transition:all .25s;-ms-transition:all .25s;-o-transition:all .25s;transition:all .25s}.learnpress-page .lp-button.large,.learnpress-page #lp-button.large{height:52px;padding:18px 30px;font-size:18px}.learnpress-page .lp-button:hover,.learnpress-page #lp-button:hover{border-color:var(--lp-primary-color);color:#fff;background:var(--lp-primary-color)}.learnpress-page .lp-button.btn-ajax-off .icon,.learnpress-page #lp-button.btn-ajax-off .icon{display:none}.learnpress-page .lp-button.btn-ajax-on .icon,.learnpress-page #lp-button.btn-ajax-on .icon{display:inline-block;margin-left:5px;-webkit-animation:lp-rotating 1s linear infinite;-moz-animation:lp-rotating 1s linear infinite;animation:lp-rotating 1s linear infinite}.learnpress-page .lp-button:focus,.learnpress-page #lp-button:focus{outline:0}.learnpress-page .lp-button.loading::before,.learnpress-page #lp-button.loading::before{display:inline-block;font-family:"Font Awesome 5 Free";font-weight:900;content:"\f110";animation:lp-rotating 1s linear infinite}.learnpress-page .rwmb-field .description{margin-top:8px;color:#999;font-size:smaller;font-style:italic}.btn-base{border-color:var(--lp-primary-color);color:white;background-color:var(--lp-primary-color)}.lp-ajax-message{display:none;margin-top:20px;padding:20px;border:2px solid #059601;border-radius:9px;font-size:15px;line-height:1.4}.lp-ajax-message.error{border-color:#d85554}.course-meta{margin-bottom:14px}.course-meta .course-students::before{font-family:"Font Awesome 5 Free";content:""}.lp-entry-content .course-tabs{margin-bottom:60px}.learn-press-checkout-comment h4{display:none}.order-comments{width:100%;padding:15px;min-height:150px;border:1px solid #ccc;resize:none}.learn-press-progress .progress-bg{overflow:hidden;position:relative;height:6px;background:#ccc;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.learn-press-progress .progress-bg .progress-active{position:absolute;right:50%;width:100%;height:100%;margin-right:-100%;background:var(--lp-primary-color);-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.retake-course,.enroll-course,.purchase-course{display:inline-block}.table-orders{font-size:16px}.table-orders th,.table-orders td{padding:5px 10px}.form-button{display:inline-block}.learn-press-pagination{padding-bottom:20px;text-align:center}.learn-press-pagination .page-numbers{display:inline-block;margin:0;padding:0;border:0;outline:0;background:transparent;list-style:none}.learn-press-pagination .page-numbers>li{display:inline-block;margin:0;padding:0 14px}.learn-press-pagination .page-numbers>li .page-numbers{float:unset;padding:0;color:#666;background:transparent;font-size:16px;font-weight:300}.learn-press-pagination .page-numbers>li .page-numbers.current{color:var(--lp-primary-color);font-weight:400}.learn-press-pagination .page-numbers>li .page-numbers:hover{color:var(--lp-primary-color)}ul.list-table-nav{display:flex;margin-right:0;list-style:none}ul.list-table-nav .nav-text{text-align:right;flex:1}ul.list-table-nav .nav-pages{text-align:left;flex:1}ul.list-table-nav .nav-pages .learn-press-pagination{display:inline-block;margin-bottom:0}.primary-color{color:#00adff}.primary-color-before::before{color:#00adff}.primary-color-after::after{color:#00adff}.primary-background-color{background:#00adff}.primary-background-color{background:#00adff}.course-origin-price{margin-left:5px;font-size:85%;text-decoration:line-through}.course-item-nav{display:flex}.course-item-nav .prev span,.course-item-nav .next span{display:block;font-weight:bold}.course-item-nav .prev a,.course-item-nav .next a{color:#999}.course-item-nav .next{text-align:left}.content-item-wrap #comments{margin-left:0;margin-right:0}.content-item-wrap #comments #comment{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.course-summary-sidebar{position:relative}@media(min-width:769px){.course-summary-sidebar.slide-down .course-summary-sidebar__inner{position:fixed;top:0}}@media(min-width:1200px){.course-summary-sidebar.slide-top .course-summary-sidebar__inner{position:absolute}}.course-graduation span{color:#999}.course-graduation .icon{margin-left:5px;font-size:20px}.course-graduation.passed .icon{color:#059601}.course-graduation.error .icon{color:#d85554}.learn-press-template-warning::before{color:#ffc107;font-family:"Font Awesome 5 Free";content:"\f071"}.lp-badge{display:flex;height:30px;padding:0;line-height:1;align-items:center;justify-content:center}.lp-badge::before,.lp-badge::after{content:""}.lp-badge::before{display:inline-block;position:relative;z-index:10;color:#fff;font-weight:bold;line-height:1}.lp-badge.featured-course{position:absolute;z-index:1;top:25px;right:-110px;width:300px;background:#93f;text-align:center;transform:rotate(45deg)}.lp-badge.featured-course::before{font-size:12px;text-transform:uppercase;content:attr(data-text)}@media(min-width:769px){#learn-press-item-comments{padding-bottom:50px}}.course-tabs input[name=learn-press-course-tab-radio],.course-tabs .course-tab-panel{display:none}.course-tabs .course-nav label{display:flex;align-items:center;justify-content:center;margin:0;padding:17px 10px;font-size:16px;line-height:1;font-weight:600;text-transform:capitalize;cursor:pointer}.no-event{pointer-events:none}@media screen and (max-width:768px){ul.learn-press-courses .course{width:48%}}@media screen and (max-width:600px){ul.learn-press-courses .course{width:100%;margin-left:0}}.course-price:empty{display:none !important}.quiz-attempts .attempts-heading{margin-bottom:15px}.quiz-attempts table{border-spacing:0;border-right:1px solid var(--lp-secondary-color);border-top:1px solid var(--lp-secondary-color);width:100%}.quiz-attempts table tr th,.quiz-attempts table tr td{border-left:1px solid var(--lp-secondary-color);border-bottom:1px solid var(--lp-secondary-color);padding:5px 15px;text-align:center}.quiz-attempts table tr th{font-weight:500}@media(max-width:575px){#popup-course .quiz-attempts{overflow-x:auto}}
|
@@ -634,7 +634,7 @@
|
|
634 |
margin-bottom: 10px;
|
635 |
font-size: 16px;
|
636 |
}
|
637 |
-
.lp-checkout-form .lp-form-fields input {
|
638 |
height: 44px;
|
639 |
line-height: normal;
|
640 |
width: 100%;
|
634 |
margin-bottom: 10px;
|
635 |
font-size: 16px;
|
636 |
}
|
637 |
+
.lp-checkout-form .lp-form-fields input:not([type=checkbox]) {
|
638 |
height: 44px;
|
639 |
line-height: normal;
|
640 |
width: 100%;
|
@@ -1 +1 @@
|
|
1 |
-
@charset "UTF-8";@-webkit-keyframes rotating4{from{-webkit-transform:rotate(0);-o-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(360deg);-o-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes rotating4{from{-ms-transform:rotate(0);-moz-transform:rotate(0);-webkit-transform:rotate(0);-o-transform:rotate(0);transform:rotate(0)}to{-ms-transform:rotate(360deg);-moz-transform:rotate(360deg);-webkit-transform:rotate(360deg);-o-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes animation4{from{left:-40%;width:40%}to{left:100%;width:10%}}@keyframes animation4{from{left:-40%;width:40%}to{left:100%;width:10%}}.learn-press-message{position:relative;margin:0 0 20px 0;padding:10px 50px 10px 15px;border-top:5px solid #00adff;border-radius:0 0 5px 5px;background:#f5f5f5;width:100%}.learn-press-message.icon{padding-left:45px}.learn-press-message.icon::before{background:#00adff}.learn-press-message.icon::after{position:absolute;top:50%;left:15px;width:10px;height:10px;margin-top:-13px;margin-right:10px;border-radius:50%;color:#fff;background:#00adff;font-family:"Font Awesome 5 Free";font-size:20px;line-height:26px;text-align:center;vertical-align:baseline;content:"\f129"}.learn-press-message::before,.learn-press-message::after{position:absolute;top:0;content:""}.learn-press-message::before{right:20px;width:20px;height:30px;background:#00adff}.learn-press-message::after{top:10px;right:20px;width:0;height:0;border:10px solid transparent;border-bottom-color:#f5f5f5}.learn-press-message.error{border-color:#d85554}.learn-press-message.error::before{background:#d85554}.learn-press-message.error.icon::before,.learn-press-message.error.icon::after{background:#d85554}.learn-press-message.error.icon::after{content:"\f00d"}.learn-press-message.warning{border-color:#ffc107}.learn-press-message.warning::before{background:#ffc107}.learn-press-message.warning.icon::before,.learn-press-message.warning.icon::after{background:#ffc107}.learn-press-message.warning.icon::after{content:"\f00d"}.learn-press-message.success{border-color:#059601}.learn-press-message.success::before{background:#059601}.learn-press-message.success.icon::before,.learn-press-message.success.icon::after{background:#059601}.learn-press-message.success.icon::after{content:"\f129"}.learn-press-message a{text-decoration:underline}@keyframes lp-rotating{from{-webkit-transform:rotate(0);-moz-transform:rotate(0);-ms-transform:rotate(0);-o-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(360deg);-moz-transform:rotate(360deg);-ms-transform:rotate(360deg);-o-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes lp-rotating{from{-webkit-transform:rotate(0);-moz-transform:rotate(0);-ms-transform:rotate(0);-o-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(360deg);-moz-transform:rotate(360deg);-ms-transform:rotate(360deg);-o-transform:rotate(360deg);transform:rotate(360deg)}}.ajaxload{display:inline-block;position:relative;width:30px;height:30px;background:#7b7b7b;content:"";-webkit-border-radius:50%;-moz-border-radius:50%;border-radius:50%;-webkit-animation:lp-rotating 1s linear infinite;-moz-animation:lp-rotating 1s linear infinite;animation:lp-rotating 1s linear infinite}.ajaxload::after{-webkit-border-radius:50%;-moz-border-radius:50%;border-radius:50%;display:inline-block;position:absolute;top:2px;left:50%;width:6px;height:6px;margin-left:-3px;background:#dedede;content:""}.lp-ajaxload-style-1{display:inline-block;position:relative;width:32px;height:32px}.lp-ajaxload-style-1::before,.lp-ajaxload-style-1::after{position:absolute;top:0;left:0;width:100%;height:100%;border:3px solid #ddd;content:""}.lp-ajaxload-style-1::after{clip:rect(0,32px,16px,16px);border-color:#2fa7ff;-webkit-border-radius:50%;-moz-border-radius:50%;border-radius:50%;-webkit-animation:lp-rotating 1s linear infinite;-moz-animation:lp-rotating 1s linear infinite;animation:lp-rotating 1s linear infinite}.learn-press-tabs{margin-bottom:34px;background:#f1f2f8}.learn-press-tabs .learn-press-tabs__checker{display:none}.learn-press-tabs .learn-press-tabs__checker:nth-child(1):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(1){border-bottom:0;background:#fff}.learn-press-tabs .learn-press-tabs__checker:nth-child(1):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(1) label{color:#ffb606}.learn-press-tabs .learn-press-tabs__checker:nth-child(1):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(1) label a{color:#ffb606}.learn-press-tabs .learn-press-tabs__checker:nth-child(1):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(1)::before{background:#ffb606}.learn-press-tabs .learn-press-tabs__checker:nth-child(1):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(1)::after{background:#fff}.learn-press-tabs .learn-press-tabs__checker:nth-child(2):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(2){border-bottom:0;background:#fff}.learn-press-tabs .learn-press-tabs__checker:nth-child(2):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(2) label{color:#ffb606}.learn-press-tabs .learn-press-tabs__checker:nth-child(2):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(2) label a{color:#ffb606}.learn-press-tabs .learn-press-tabs__checker:nth-child(2):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(2)::before{background:#ffb606}.learn-press-tabs .learn-press-tabs__checker:nth-child(2):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(2)::after{background:#fff}.learn-press-tabs .learn-press-tabs__checker:nth-child(3):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(3){border-bottom:0;background:#fff}.learn-press-tabs .learn-press-tabs__checker:nth-child(3):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(3) label{color:#ffb606}.learn-press-tabs .learn-press-tabs__checker:nth-child(3):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(3) label a{color:#ffb606}.learn-press-tabs .learn-press-tabs__checker:nth-child(3):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(3)::before{background:#ffb606}.learn-press-tabs .learn-press-tabs__checker:nth-child(3):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(3)::after{background:#fff}.learn-press-tabs .learn-press-tabs__checker:nth-child(4):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(4){border-bottom:0;background:#fff}.learn-press-tabs .learn-press-tabs__checker:nth-child(4):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(4) label{color:#ffb606}.learn-press-tabs .learn-press-tabs__checker:nth-child(4):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(4) label a{color:#ffb606}.learn-press-tabs .learn-press-tabs__checker:nth-child(4):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(4)::before{background:#ffb606}.learn-press-tabs .learn-press-tabs__checker:nth-child(4):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(4)::after{background:#fff}.learn-press-tabs .learn-press-tabs__checker:nth-child(5):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(5){border-bottom:0;background:#fff}.learn-press-tabs .learn-press-tabs__checker:nth-child(5):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(5) label{color:#ffb606}.learn-press-tabs .learn-press-tabs__checker:nth-child(5):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(5) label a{color:#ffb606}.learn-press-tabs .learn-press-tabs__checker:nth-child(5):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(5)::before{background:#ffb606}.learn-press-tabs .learn-press-tabs__checker:nth-child(5):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(5)::after{background:#fff}.learn-press-tabs .learn-press-tabs__checker:nth-child(6):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(6){border-bottom:0;background:#fff}.learn-press-tabs .learn-press-tabs__checker:nth-child(6):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(6) label{color:#ffb606}.learn-press-tabs .learn-press-tabs__checker:nth-child(6):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(6) label a{color:#ffb606}.learn-press-tabs .learn-press-tabs__checker:nth-child(6):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(6)::before{background:#ffb606}.learn-press-tabs .learn-press-tabs__checker:nth-child(6):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(6)::after{background:#fff}.learn-press-tabs .learn-press-tabs__checker:nth-child(7):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(7){border-bottom:0;background:#fff}.learn-press-tabs .learn-press-tabs__checker:nth-child(7):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(7) label{color:#ffb606}.learn-press-tabs .learn-press-tabs__checker:nth-child(7):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(7) label a{color:#ffb606}.learn-press-tabs .learn-press-tabs__checker:nth-child(7):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(7)::before{background:#ffb606}.learn-press-tabs .learn-press-tabs__checker:nth-child(7):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(7)::after{background:#fff}.learn-press-tabs .learn-press-tabs__checker:nth-child(8):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(8){border-bottom:0;background:#fff}.learn-press-tabs .learn-press-tabs__checker:nth-child(8):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(8) label{color:#ffb606}.learn-press-tabs .learn-press-tabs__checker:nth-child(8):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(8) label a{color:#ffb606}.learn-press-tabs .learn-press-tabs__checker:nth-child(8):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(8)::before{background:#ffb606}.learn-press-tabs .learn-press-tabs__checker:nth-child(8):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(8)::after{background:#fff}.learn-press-tabs .learn-press-tabs__checker:nth-child(9):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(9){border-bottom:0;background:#fff}.learn-press-tabs .learn-press-tabs__checker:nth-child(9):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(9) label{color:#ffb606}.learn-press-tabs .learn-press-tabs__checker:nth-child(9):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(9) label a{color:#ffb606}.learn-press-tabs .learn-press-tabs__checker:nth-child(9):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(9)::before{background:#ffb606}.learn-press-tabs .learn-press-tabs__checker:nth-child(9):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(9)::after{background:#fff}.learn-press-tabs .learn-press-tabs__checker:nth-child(10):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(10){border-bottom:0;background:#fff}.learn-press-tabs .learn-press-tabs__checker:nth-child(10):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(10) label{color:#ffb606}.learn-press-tabs .learn-press-tabs__checker:nth-child(10):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(10) label a{color:#ffb606}.learn-press-tabs .learn-press-tabs__checker:nth-child(10):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(10)::before{background:#ffb606}.learn-press-tabs .learn-press-tabs__checker:nth-child(10):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(10)::after{background:#fff}.learn-press-tabs .learn-press-tabs__nav{display:flex;margin:0;padding:0;border:1px solid #e5e7f2;list-style:none}.learn-press-tabs .learn-press-tabs__tab{position:relative;margin:0;border-right:1px solid #e5e7f2;background:#f1f2f8;list-style:none}.learn-press-tabs .learn-press-tabs__tab:last-child{border-right:0}.learn-press-tabs .learn-press-tabs__tab>label{display:block;margin:0;padding:18px 65px;font-size:18px;line-height:1;font-weight:600;text-align:center;text-transform:capitalize;cursor:pointer}.learn-press-tabs .learn-press-tabs__tab>label a{color:#333}.learn-press-tabs .learn-press-tabs__tab>label a:focus{outline:0;text-decoration:none}@media(max-width:767px){.learn-press-tabs .learn-press-tabs__tab>label{padding:20px 50px 14px 50px}}.learn-press-tabs .learn-press-tabs__tab::before{position:absolute;top:-1px;left:0;width:100%;height:4px;background:transparent;content:""}.learn-press-tabs .learn-press-tabs__tab::after{position:absolute;bottom:-1px;left:0;width:100%;height:4px;background:transparent;content:""}.learn-press-tabs .learn-press-tabs__tab:first-child.active label{position:relative}.learn-press-tabs .learn-press-tabs__tab:first-child.active label::before{position:absolute;top:0;left:-1px;width:1px;height:100%;background:#fff;content:""}.learn-press-tabs.stretch .learn-press-tabs__tab{flex:1}.learn-press-tabs.stretch .learn-press-tabs__tab>label{padding:18px 10px}.learn-press-filters{display:flex;margin-bottom:30px;margin-left:0;list-style:none}.learn-press-filters>li{margin:0;font-size:16px;line-height:24px}@media(max-width:767px){.learn-press-filters>li{margin-right:30px;margin-left:0}.learn-press-filters>li:last-child{margin-right:0}}.learn-press-filters>li>a,.learn-press-filters>li>span{display:inline-block;font-weight:600}.learn-press-filters>li>span.count{font-weight:400}.learn-press-filters>li>span.count::before,.learn-press-filters>li>span.count::after{display:inline-block}.learn-press-filters>li>span.count::before{content:"("}.learn-press-filters>li>span.count::after{content:")"}.learn-press-filters>li span{color:#ffb606}.learn-press-filters>li span+span{color:#ffb606}.learn-press-filters>li span+span::before,.learn-press-filters>li span+span::after{color:#ffb606}.learn-press-filters>li a{color:#333;cursor:pointer}.learn-press-filters>li a+span{color:#333}.learn-press-filters>li a+span::before,.learn-press-filters>li a+span::after{color:#333}.learn-press-filters>li::after{margin:0 35px;color:#ccc;content:"|"}@media(max-width:767px){.learn-press-filters>li::after{display:none}}.learn-press-filters>li:last-child::after{display:none}.lp-checkout-form__before,.lp-checkout-form__after{width:45%;width:-webkit-calc(50% - 30px);width:-moz-calc(50% - 30px);width:calc(50% - 30px);margin:0 15px 40px 15px}.lp-checkout-form__before .lp-checkout-block h4,.lp-checkout-form__after .lp-checkout-block h4{margin-top:0;margin-bottom:18px;color:#333;font-size:24px;font-weight:600;line-height:1;font-family:var(--wp--preset--font-family--system-font)}@media(max-width:815px){.lp-checkout-form__before,.lp-checkout-form__after{width:100%;margin:0 0 40px 0}}.lp-checkout-form__before{float:right}.lp-checkout-form__before #checkout-order{width:100%}.lp-checkout-form .lp-checkout-form__after{float:left}.lp-checkout-form .lp-checkout-remember{letter-spacing:0;margin-top:0}.lp-checkout-form .lp-checkout-remember label{width:auto;color:#666;font-size:16px;font-weight:300;line-height:26px}.lp-checkout-form .lp-checkout-remember label input[type=checkbox]{position:relative;top:3px;width:19px;height:19px;margin:0 4px 0 0;border:1px solid #ccc;cursor:pointer;-webkit-appearance:none}.lp-checkout-form .lp-checkout-remember label input[type=checkbox]:focus{outline:0}.lp-checkout-form .lp-checkout-remember label input[type=checkbox]:checked::after{position:absolute;top:2px;left:2px;color:#41abec;font-family:"Font Awesome 5 Free";font-size:14px;font-weight:900;line-height:1;content:"\f00c"}.lp-checkout-form .lp-checkout-remember a{color:#666;font-size:16px;font-weight:300;line-height:26px;text-decoration:underline;text-decoration-color:#ccc}.lp-checkout-form .lp-checkout-remember a:hover{color:var(--lp-primary-color);text-decoration-color:var(--lp-primary-color)}.lp-checkout-form .lp-form-fields{padding:0 0 14px 0}.lp-checkout-form .lp-form-fields label{display:block;margin-bottom:10px;font-size:16px}.lp-checkout-form .lp-form-fields input{height:44px;line-height:normal;width:100%;padding:0 15px;border:1px solid #ccc}.lp-checkout-form .rwmb-input input:not([type=checkbox]){width:100%;height:43px;padding:0 22px;border:1px solid #ccc;border-radius:3px;background-color:#fff;font-size:14px;font-weight:300;font-style:italic;line-height:43px}.lp-checkout-form .rwmb-input input:not([type=checkbox]):focus{border-color:var(--lp-primary-color);outline:0;color:#222}.lp-checkout-form .rwmb-input ::placeholder{opacity:1;color:#999}.lp-checkout-form .rwmb-input :-ms-input-placeholder{color:#999}.lp-checkout-form .rwmb-input ::-ms-input-placeholder{color:#999}.lp-checkout-form .rwmb-input input:-webkit-autofill,.lp-checkout-form .rwmb-input input:-webkit-autofill:hover,.lp-checkout-form .rwmb-input input:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 1000px #fff inset;-webkit-text-fill-color:#999 !important}.lp-checkout-form{margin:0 -15px;margin-top:50px}@media(max-width:815px){.lp-checkout-form{display:flex;flex-direction:column-reverse;margin:0}}.lp-checkout-form #btn-checkout-account-switch-to-guest{margin-bottom:60px}.lp-checkout-form .description{float:left}.lp-checkout-form a{color:#41abec}.lp-checkout-form a label{display:inline-block;color:inherit;font-weight:normal;cursor:pointer}.lp-checkout-form a:hover{color:#ffb606}.lp-checkout-form #checkout-account-guest{width:100%;margin-bottom:35px;padding-bottom:19px;border-bottom:1px solid rgba(204,204,204,0.3)}.lp-checkout-form #checkout-account-guest .lp-form-fields,.lp-checkout-form #checkout-account-guest .form-field{margin-bottom:0;padding-bottom:0}.lp-checkout-form div.lp-guest-checkout-output{margin-top:10px;padding:8px 20px;border:2px solid #41abec;border-radius:4px;font-size:16px;transition:all .2s ease}.lp-checkout-form label.lp-guest-checkout-output{margin-top:10px;cursor:pointer;user-select:none}.lp-checkout-form .lp-guest-checkout-notice{margin:30px 0 0 0}.lp-checkout-form .lp-guest-switch-login{margin-top:1em;color:#666;font-size:16px;font-weight:400}.lp-checkout-form .lp-guest-switch-login a{display:inline-block}.lp-checkout-form input[name=checkout-account-switch-form]{display:none}.lp-checkout-form input[name=checkout-account-switch-form]:not(:checked)+.lp-checkout-block{display:none;overflow:hidden;height:0;margin:0;padding:0;border:0;opacity:0}.lp-checkout-form input[name=checkout-account-switch-form]:not(:checked)+.lp-checkout-block>*{overflow:hidden;height:0}.lp-checkout-form input[name=checkout-account-switch-form]:checked+.lp-checkout-block{display:block;overflow:auto;height:auto}.lp-checkout-form input[name=checkout-account-switch-form][value=guest]:checked ~ #btn-checkout-account-switch-to-guest{display:none}.lp-checkout-form::after{display:block;clear:both;content:""}.lp-checkout-form:focus{outline:0}#checkout-order .lp-checkout-order__inner{padding:0 20px;border:1px solid #ccc;border-radius:4px}#checkout-order table{width:100%;margin:0;border:0}#checkout-order td,#checkout-order th{box-sizing:content-box;border:1px solid rgba(204,204,204,0.3);border-top:0;border-right:0;border-left:0;background:unset;line-height:1;text-align:left;vertical-align:inherit}#checkout-order td:last-child,#checkout-order th:last-child{padding-right:0}#checkout-order .course-name{font-size:16px;font-weight:600;line-height:26px}#checkout-order .course-name a{display:-webkit-box;overflow:hidden;color:#000;-webkit-line-clamp:1;-webkit-box-orient:vertical}#checkout-order .course-name a:hover{color:var(--lp-primary-color)}#checkout-order .col-number{min-width:50px;color:#666;font-size:16px;font-weight:600;line-height:26px;text-align:right}#checkout-order .order-total>th{padding:24px 20px 24px 0}#checkout-order .order-total .col-number{color:#333;font-size:26px}#checkout-order tfoot .cart-subtotal{color:#666;font-size:16px;font-weight:600;line-height:26px}#checkout-order tfoot .cart-subtotal>th{padding:20px 20px 17px 0}#checkout-order tfoot .order-total th{color:#333;font-size:16px;font-weight:600;line-height:26px}#checkout-order tfoot tr:last-child{border-width:0}#checkout-order tfoot tr:last-child td,#checkout-order tfoot tr:last-child th{border-width:0}#checkout-order .course-thumbnail{width:80px;padding:20px 13px 18px 0}#checkout-order .course-thumbnail>img{width:100px;max-width:100% !important;height:auto !important}#checkout-account-register,#checkout-account-login{width:100%;margin-bottom:35px;padding-bottom:19px;border-bottom:1px solid rgba(204,204,204,0.3)}#checkout-account-register .form-field .rwmb-label,#checkout-account-register .form-field .rwmb-input .description,#checkout-account-login .form-field .rwmb-label,#checkout-account-login .form-field .rwmb-input .description{display:none}#checkout-account-register .lp-checkout-remember label,#checkout-account-login .lp-checkout-remember label{display:inline-block}#checkout-account-register .lp-checkout-remember a,#checkout-account-login .lp-checkout-remember a{float:right}#checkout-account-register .lp-checkout-sign-in-link,#checkout-account-register .lp-checkout-sign-up-link,#checkout-account-login .lp-checkout-sign-in-link,#checkout-account-login .lp-checkout-sign-up-link{display:flex;margin:0;color:#666;font-size:16px;font-weight:400}#checkout-account-register .lp-checkout-sign-in-link a,#checkout-account-register .lp-checkout-sign-up-link a,#checkout-account-login .lp-checkout-sign-in-link a,#checkout-account-login .lp-checkout-sign-up-link a{margin-left:5px;color:#41abec;cursor:pointer}#checkout-account-register .lp-checkout-sign-in-link a:hover,#checkout-account-register .lp-checkout-sign-up-link a:hover,#checkout-account-login .lp-checkout-sign-in-link a:hover,#checkout-account-login .lp-checkout-sign-up-link a:hover{color:var(--lp-primary-color)}#checkout-account-register .lp-checkout-sign-in-link a label,#checkout-account-register .lp-checkout-sign-up-link a label,#checkout-account-login .lp-checkout-sign-in-link a label,#checkout-account-login .lp-checkout-sign-up-link a label{display:inline-block;float:right;color:inherit;font-weight:normal;cursor:pointer}#checkout-payment{width:100%;margin-bottom:25px}#checkout-payment h4{margin-bottom:24px}#checkout-payment .secure-connection{float:right;margin-top:5px;color:#999;font-size:12px;font-weight:normal}#checkout-payment .secure-connection i{margin-right:5px;color:#ccc;font-size:18px}@media(max-width:767px){#checkout-payment .secure-connection{margin-top:0}}#checkout-payment .payment-methods{margin:0 0 24px 0;padding:0;list-style:none}#checkout-payment .lp-payment-method{position:relative;margin:0}#checkout-payment .lp-payment-method>label{display:flex;align-items:center}#checkout-payment .lp-payment-method .gateway-input,#checkout-payment .lp-payment-method .gateway-icon{vertical-align:middle}#checkout-payment .lp-payment-method .gateway-icon{max-height:32px}#checkout-payment .lp-payment-method .gateway-input{position:relative;width:20px;height:20px;margin:0 8px 0 0;border:1px solid #ccc;background:#fff;-webkit-appearance:none;-webkit-border-radius:50%;-moz-border-radius:50%;border-radius:50%}#checkout-payment .lp-payment-method .gateway-input::before{position:absolute;top:50%;left:50%;width:6px;height:6px;background:#41abec;transform:translate(-50%,-50%);-webkit-border-radius:50%;-moz-border-radius:50%;border-radius:50%}#checkout-payment .lp-payment-method .gateway-input:checked::before{content:""}#checkout-payment .lp-payment-method .gateway-input:focus{outline:0}#checkout-payment #checkout-order-action button{width:100%;border-color:var(--lp-primary-color);color:#fff;background:var(--lp-primary-color);font-weight:500}#checkout-payment #checkout-order-action button:hover{border-color:var(--lp-primary-color);opacity:.5;background:var(--lp-primary-color)}#checkout-payment #checkout-order-action button.loading::before{display:inline-block;font-family:"Font Awesome 5 Free";font-weight:900;content:"\f110";-webkit-animation:lp-rotating 1s linear infinite;-moz-animation:lp-rotating 1s linear infinite;animation:lp-rotating 1s linear infinite}.lp-terms-and-conditions{color:#666;font-size:16px;font-weight:300;line-height:26px}.lp-terms-and-conditions a{color:#41abec}.lp-terms-and-conditions a:hover{color:var(--lp-primary-color)}.learn-press-checkout.guest-checkout{display:none}.button-continue-guest-checkout{clear:both}#learn-press-checkout .payment-methods{margin:0;padding:0;list-style:none}#learn-press-checkout .payment-methods .lp-payment-method{margin-bottom:20px}#learn-press-checkout .payment-methods .lp-payment-method>label{display:flex;flex-flow:row nowrap;padding:10px 20px;background:#f5f5f5;line-height:40px;cursor:pointer}#learn-press-checkout .payment-methods .lp-payment-method>label img{vertical-align:middle}#learn-press-checkout .payment-methods .lp-payment-method.selected>label{background:#d4d4d4}#learn-press-checkout .payment-methods .payment-method-form{display:none;padding:15px 20px;border-top:1px solid #ddd;background:#f9f9f9}#learn-press-checkout-login,#learn-press-checkout-register{margin-bottom:1.5em;padding:20px 20px 0 20px;border:1px solid #ddd;background:#fff}#learn-press-order-review,.learn-press-checkout-comment{margin-bottom:20px}#checkout-form-login,#checkout-form-register{_display:none}#checkout-form-login .learn-press-form-register,#checkout-form-login .learn-press-form-login,#checkout-form-register .learn-press-form-register,#checkout-form-register .learn-press-form-login{display:none}#checkout-guest-email{margin:0 0 20px 0}#checkout-guest-email .form-heading{margin:0}#checkout-guest-email #checkout-guest-options{margin:0;list-style:none}#checkout-guest-email #checkout-existing-account,#checkout-guest-email #checkout-new-account{display:none;margin:0}#checkout-guest-email.email-exists #checkout-existing-account{display:block}#checkout-guest-email.email-exists #checkout-new-account{display:none}.lp-list-table{width:100%;margin-bottom:20px}.lp-list-table th,.lp-list-table td{padding:20px;border:0 solid rgba(204,204,204,0.3);border-bottom-width:1px;background:#fff;font-size:16px;line-height:1;text-align:left}@media(max-width:767px){.lp-list-table th,.lp-list-table td{padding:15px}}.lp-list-table thead{box-sizing:border-box;border:1px solid #e5e7f2}.lp-list-table thead tr th{height:60px;border-bottom:0;color:#333;background:#f1f2f8;font-size:18px}.lp-list-table tbody,.lp-list-table tfoot{box-sizing:border-box;border:1px solid rgba(204,204,204,0.3);border-top:0}.lp-list-table tbody tr td,.lp-list-table tbody tr th,.lp-list-table tfoot tr td,.lp-list-table tfoot tr th{height:62px;color:#666;background:#fff;font-size:16px;font-weight:300}.lp-list-table tbody tr td a,.lp-list-table tbody tr th a,.lp-list-table tfoot tr td a,.lp-list-table tfoot tr th a{border-bottom:0;color:#666;text-decoration:none}.lp-list-table tbody tr td a:hover,.lp-list-table tbody tr th a:hover,.lp-list-table tfoot tr td a:hover,.lp-list-table tfoot tr th a:hover{color:var(--lp-primary-color)}.lp-list-table tbody tr .column-status .result-percent,.lp-list-table tfoot tr .column-status .result-percent{font-weight:500}.lp-list-table tbody tr .column-status .lp-label,.lp-list-table tfoot tr .column-status .lp-label{font-weight:600}.lp-list-table tbody tr:nth-child(odd),.lp-list-table tfoot tr:nth-child(odd){background:#f5f5f5}.lp-list-table .list-table-nav td{font-size:14px}.lp-list-table .list-table-nav td.nav-text{text-align:left}.lp-list-table .list-table-nav td.nav-pages{text-align:right}.lp-list-table .list-table-nav td.nav-pages .learn-press-pagination{text-align:right}.lp-list-table .list-table-nav td.nav-pages .page-numbers{margin-bottom:0}.lp-label{display:inline-block;color:#666;font-size:16px;font-weight:300;line-height:1}.learn-press-form .form-fields{margin:0;padding:0;list-style:none}.learn-press-form .form-fields .form-field{margin:0 0 20px 0}.learn-press-form .form-fields .form-field label{display:block;margin:0 0 10px 0}.learn-press-form .form-fields .form-field input[type=text],.learn-press-form .form-fields .form-field input[type=email],.learn-press-form .form-fields .form-field input[type=number],.learn-press-form .form-fields .form-field input[type=password],.learn-press-form .form-fields .form-field textarea{width:100%;padding:8px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.learn-press-form .form-fields .form-field .description{margin-top:10px;font-size:14px;font-style:italic;line-height:1.4}.learn-press-form .form-fields .form-field .asterisk{color:red}.learn-press-form-login,.learn-press-form-register{max-width:600px;margin-right:auto;margin-bottom:60px;margin-left:auto;padding:40px;border:1px solid #eee;border-radius:6px;box-shadow:0 4px 6px -1px rgba(0,0,0,0.1),0 2px 4px -1px rgba(0,0,0,0.06) !important}.learn-press-form-login h3,.learn-press-form-register h3{margin-bottom:20px;font-size:28px;line-height:1.4}.learn-press-form-login .form-fields .form-field label,.learn-press-form-register .form-fields .form-field label{font-size:16px;font-weight:400;user-select:none}.learn-press-form-login .form-fields .form-field input[type=text],.learn-press-form-login .form-fields .form-field input[type=password],.learn-press-form-login .form-fields .form-field input[type=tel],.learn-press-form-login .form-fields .form-field input[type=url],.learn-press-form-login .form-fields .form-field input[type=number],.learn-press-form-register .form-fields .form-field input[type=text],.learn-press-form-register .form-fields .form-field input[type=password],.learn-press-form-register .form-fields .form-field input[type=tel],.learn-press-form-register .form-fields .form-field input[type=url],.learn-press-form-register .form-fields .form-field input[type=number]{height:42px;border:1px solid #bbb;border-radius:4px;line-height:42px}.learn-press-form-login .form-fields .form-field input[type=text]:focus,.learn-press-form-login .form-fields .form-field input[type=password]:focus,.learn-press-form-login .form-fields .form-field input[type=tel]:focus,.learn-press-form-login .form-fields .form-field input[type=url]:focus,.learn-press-form-login .form-fields .form-field input[type=number]:focus,.learn-press-form-register .form-fields .form-field input[type=text]:focus,.learn-press-form-register .form-fields .form-field input[type=password]:focus,.learn-press-form-register .form-fields .form-field input[type=tel]:focus,.learn-press-form-register .form-fields .form-field input[type=url]:focus,.learn-press-form-register .form-fields .form-field input[type=number]:focus{border:0;outline:2px solid transparent !important;outline-offset:2px;box-shadow:0 0 0 2px #666 !important}.learn-press-form-login .form-fields .form-field.required label::after,.learn-press-form-register .form-fields .form-field.required label::after{content:" *";display:inline}.learn-press-form-login form[name=learn-press-login]>p>label,.learn-press-form-register form[name=learn-press-login]>p>label{color:#666;font-size:16px;cursor:pointer;user-select:none}.learn-press-form-login form[name=learn-press-login]>p>a,.learn-press-form-register form[name=learn-press-login]>p>a{color:#666;font-size:16px;line-height:1}.learn-press-form-login form[name=learn-press-login]>p:last-child,.learn-press-form-register form[name=learn-press-login]>p:last-child{margin-bottom:0}.learn-press-form-login button[type=submit],.learn-press-form-register button[type=submit]{width:100%;height:50px;border-radius:3px;outline:0;color:#fff;background:var(--lp-primary-color);box-shadow:none;font-size:16px;line-height:1;vertical-align:middle;text-decoration:none}.required label{font-weight:bold}.required label:after{content:" *";display:inline}.lp-password-input{display:flex;flex-direction:column;justify-content:center;position:relative}.lp-password-input input[type=password]{padding-right:2.5rem}.lp-password-input input::-ms-reveal{display:none}.lp-password-input .lp-show-password-input{position:absolute;top:8px;right:10px;cursor:pointer}.lp-password-input .lp-show-password-input::after{font-family:"Font Awesome 5 Free";font-weight:900;content:"\f06e"}.lp-password-input .lp-show-password-input.display-password::after{color:#585858;content:"\f070"}.form-desc{font-size:smaller;font-style:italic}.become-teacher-form{width:90%;max-width:500px;margin:0 auto}.become-teacher-form .form-field input[type=text],.become-teacher-form .form-field input[type=email],.become-teacher-form .form-field input[type=number],.become-teacher-form .form-field input[type=password]{width:100%}body div.entry-content>div.learnpress{--responsive--aligndefault-width:100%;max-width:var(--lp-content-width,100%)}.lp-user-profile{position:relative;background:#fff}.lp-user-profile .lp-user-profile-avatar img{position:relative;width:100%;height:auto;border-radius:unset;display:block}.lp-user-profile .lp-user-profile-avatar+.lp-user-profile-socials{margin-top:10px;margin-bottom:5px}.lp-user-profile .lp-user-profile-socials{display:flex;position:relative;z-index:1;justify-content:center;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.lp-user-profile .lp-user-profile-socials a{display:inline-flex;align-items:center;justify-content:center;width:35px;height:35px;margin:0 7px;border:1px solid #cfcfcf;color:#666;background:#fff;font-size:14px;line-height:35px;text-align:center;-webkit-border-radius:50%;-moz-border-radius:50%;border-radius:50%}.lp-user-profile .lp-user-profile-socials a:hover{border-color:var(--lp-primary-color);color:#fff;background:var(--lp-primary-color)}.lp-user-profile .wrapper-profile-header{color:#fff;background:var(--lp-secondary-color);position:relative}@media(max-width:990px){.lp-user-profile .wrapper-profile-header .lp-profile-content-area{min-height:inherit;padding:50px 15px}.lp-user-profile .wrapper-profile-header .lp-profile-left{float:left;position:static}.lp-user-profile .wrapper-profile-header .lp-profile-right{float:right;width:calc(100% - 270px);margin-left:0}}@media(max-width:768px){.lp-user-profile .wrapper-profile-header .lp-profile-left{width:220px}.lp-user-profile .wrapper-profile-header .lp-profile-right{width:calc(100% - 220px)}.lp-user-profile .wrapper-profile-header .lp-user-profile-socials{margin-right:-5px;margin-left:-5px}.lp-user-profile .wrapper-profile-header .lp-user-profile-socials a{width:36px;height:36px;margin:0 5px;line-height:36px}}@media(max-width:500px){.lp-user-profile .wrapper-profile-header .lp-profile-left{float:none;margin:0 auto}.lp-user-profile .wrapper-profile-header .lp-profile-right{width:100%;padding-top:30px;text-align:center}}.lp-user-profile .wrapper-profile-header::before{right:100%;left:auto}.lp-user-profile .wrapper-profile-header::after{left:100%;right:auto}.lp-user-profile .lp-profile-content-area{position:relative;padding-top:50px;padding-bottom:50px;display:flex;align-items:center}@media(max-width:650px){.lp-user-profile .lp-profile-content-area{flex-direction:column}.lp-user-profile .lp-profile-content-area .lp-profile-right{text-align:center;width:100%;padding:50px 15px 0}}.lp-user-profile .lp-profile-left{min-width:270px;max-width:270px;padding:5px;border:2px solid #eaeaea;border-radius:3px}.lp-user-profile .lp-profile-right{padding-right:15px;padding-left:35px}.lp-user-profile .lp-profile-username{padding-bottom:10px;font-size:18px;font-weight:500;text-transform:capitalize}.lp-user-profile .lp-profile-username::before,.lp-user-profile .lp-profile-username::after{content:"";width:30px;height:1px;background-color:white;display:inline-block;vertical-align:middle;margin:0}.lp-user-profile .lp-profile-username::before{margin-right:5px}.lp-user-profile .lp-profile-username::after{margin-left:5px}.lp-user-profile .lp-profile-user-bio{font-size:16px;font-weight:300;line-height:26px}.lp-user-profile #profile-sidebar{float:left;width:270px;margin-top:0;border:1px solid rgba(0,0,0,0.1);border-top:0;background:#fff;margin-top:58px}@media(max-width:990px){.lp-user-profile #profile-sidebar{width:100%}.lp-user-profile #profile-sidebar .lp-user-profile-avatar{max-width:150px}}.lp-user-profile #profile-nav .lp-profile-nav-tabs{margin:0;padding:0;list-style:none}.lp-user-profile #profile-nav .lp-profile-nav-tabs>li{position:relative;margin:0;border-top:1px solid rgba(204,204,204,0.3)}.lp-user-profile #profile-nav .lp-profile-nav-tabs>li a{display:block;padding:0 20px;color:#333;font-size:16px;font-weight:500;line-height:50px}.lp-user-profile #profile-nav .lp-profile-nav-tabs>li>a{padding:0 20px 0 52px}.lp-user-profile #profile-nav .lp-profile-nav-tabs>li>a>i{display:inline-block;position:absolute;left:24px;width:28px;color:var(--lp-primary-color);font-size:12px;line-height:53px;text-align:left}.lp-user-profile #profile-nav .lp-profile-nav-tabs>li>a::after{float:right;margin-right:4px;color:#999;font-family:"Font Awesome 5 Free";font-size:10px;font-weight:900;content:"\f054"}.lp-user-profile #profile-nav .lp-profile-nav-tabs>li ul li{margin:0}.lp-user-profile #profile-nav .lp-profile-nav-tabs>li ul li a{border-bottom:1px solid #f9f9f9}.lp-user-profile #profile-nav .lp-profile-nav-tabs>li ul li a:hover{color:var(--lp-primary-color);background:#fff}.lp-user-profile #profile-nav .lp-profile-nav-tabs>li ul li:hover>a i{color:var(--lp-primary-color);background:#fff}.lp-user-profile #profile-nav .lp-profile-nav-tabs>li.active,.lp-user-profile #profile-nav .lp-profile-nav-tabs>li:hover{background:var(--lp-primary-color)}.lp-user-profile #profile-nav .lp-profile-nav-tabs>li.active>a::after,.lp-user-profile #profile-nav .lp-profile-nav-tabs>li:hover>a::after{content:"\f053"}.lp-user-profile #profile-nav .lp-profile-nav-tabs>li.active a{padding-left:52px}.lp-user-profile #profile-nav .lp-profile-nav-tabs>li:last-child{border-bottom-right-radius:4px;border-bottom-left-radius:4px}.lp-user-profile #profile-nav .lp-profile-nav-tabs>li.wishlist>a::before{position:absolute;left:25px;color:var(--lp-primary-color);font-family:"Font Awesome 5 Free";font-size:12px;font-weight:900;content:"\f004"}.lp-user-profile #profile-nav .lp-profile-nav-tabs>li.wishlist:hover a::before{color:#fff}.lp-user-profile #profile-nav .lp-profile-nav-tabs>li.logout>a::after{display:none}.lp-user-profile #profile-nav .lp-profile-nav-tabs li>a{box-sizing:border-box;height:50px}.lp-user-profile #profile-nav .lp-profile-nav-tabs li>ul{display:none;position:absolute;z-index:1000;top:0;left:100%;min-width:150px;margin:0;padding:0;background:#fff;box-shadow:0 15px 20px 0 rgba(0,0,0,0.05);list-style:none}.lp-user-profile #profile-nav .lp-profile-nav-tabs li.active>a,.lp-user-profile #profile-nav .lp-profile-nav-tabs li:hover>a{color:#fff}.lp-user-profile #profile-nav .lp-profile-nav-tabs li.active>a i,.lp-user-profile #profile-nav .lp-profile-nav-tabs li.active>a::after,.lp-user-profile #profile-nav .lp-profile-nav-tabs li:hover>a i,.lp-user-profile #profile-nav .lp-profile-nav-tabs li:hover>a::after{color:#fff}.lp-user-profile #profile-nav .lp-profile-nav-tabs li.active>ul,.lp-user-profile #profile-nav .lp-profile-nav-tabs li:hover>ul{display:block}.lp-user-profile #profile-nav .lp-profile-nav-tabs li.active>ul{position:relative;left:0}.lp-user-profile #profile-nav .lp-profile-nav-tabs li.active>ul .active{background:#fff}.lp-user-profile #profile-nav .lp-profile-nav-tabs li.active>ul .active>a{color:#ffb606}.lp-user-profile #profile-nav .lp-profile-nav-tabs li.active>ul .active>a i{color:#ffb606}@media(max-width:990px){.lp-user-profile #profile-nav{overflow-x:scroll;border-top:1px solid rgba(204,204,204,0.3)}.lp-user-profile #profile-nav .lp-profile-nav-tabs{width:max-content}.lp-user-profile #profile-nav .lp-profile-nav-tabs::after{display:table;clear:both;content:""}.lp-user-profile #profile-nav .lp-profile-nav-tabs>li{float:left;border:0;border-right:1px solid rgba(204,204,204,0.3)}.lp-user-profile #profile-nav .lp-profile-nav-tabs>li>a{height:auto;padding:0 20px 0 45px}.lp-user-profile #profile-nav .lp-profile-nav-tabs>li>a::after{margin-left:10px}.lp-user-profile #profile-nav .lp-profile-nav-tabs>li.has-child a::after{content:"\f077"}.lp-user-profile #profile-nav .lp-profile-nav-tabs>li.active a{padding-left:45px}.lp-user-profile #profile-nav .lp-profile-nav-tabs>li.active a::after{content:"\f078"}.lp-user-profile #profile-nav .lp-profile-nav-tabs>li.active.has-child ul{display:none;width:max-content;transform:translateX(-20%)}.lp-user-profile #profile-nav .lp-profile-nav-tabs>li.active.has-child ul::after{display:table;clear:both;box-shadow:0 0;content:""}.lp-user-profile #profile-nav .lp-profile-nav-tabs>li.active.has-child ul li{float:left;border-right:1px solid rgba(204,204,204,0.3)}.lp-user-profile #profile-nav .lp-profile-nav-tabs>li.active.has-child ul li:last-child{border-right:0}.lp-user-profile #profile-nav .lp-profile-nav-tabs>li.active.has-child ul li a{padding:0 10px}.lp-user-profile #profile-nav .lp-profile-nav-tabs li:hover ul{display:none !important}.lp-user-profile #profile-nav .lp-profile-nav-tabs li:not(.has-child)>a::after{display:none}}@media(max-width:560px){.lp-user-profile #profile-nav .lp-profile-nav-tabs>li{max-width:80px}.lp-user-profile #profile-nav .lp-profile-nav-tabs>li>a{font-size:0}.lp-user-profile #profile-nav .lp-profile-nav-tabs>li>a::after{margin-left:0}}.lp-user-profile .lp-profile-content{float:right;width:calc(100% - 300px);margin-bottom:60px;padding-top:58px}@media(max-width:990px){.lp-user-profile .lp-profile-content{width:100%}}@media(max-width:767px){.lp-user-profile .lp-profile-content .learn-press-tabs__nav{display:block;width:100%;border:0}.lp-user-profile .lp-profile-content .learn-press-tabs__nav::after{display:table;clear:both;content:""}.lp-user-profile .lp-profile-content .learn-press-tabs__tab{float:left;border-right:0}.lp-user-profile .lp-profile-content .learn-press-tabs__tab label{padding-right:25px;padding-left:25px}.lp-user-profile .lp-profile-content .profile-orders{overflow-x:scroll}}.lp-user-profile .lp-profile-content .course-categories,.lp-user-profile .lp-profile-content .course-instructor{margin-bottom:14px}.lp-user-profile .lp-profile-content .course-categories{padding:0}.lp-user-profile .lp-profile-content .lp-button{display:block;margin:0 auto 52px auto;padding:13px 34px;border-color:var(--lp-secondary-color);font-size:14px;font-weight:500;-webkit-border-radius:9px;-moz-border-radius:9px;border-radius:9px}.lp-user-profile .lp-profile-content .lp-button:hover{border-color:var(--lp-primary-color)}.lp-user-profile ul.learn-press-courses .course{margin:0 0 40px 0}.lp-user-profile .profile-orders .profile-heading{display:none}.lp-user-profile .profile-orders table{margin-top:0}.lp-user-profile .profile-orders .column-order-actions a{margin-right:6px;color:black;text-decoration:underline;font-weight:500}.lp-user-profile .profile-orders .column-order-actions a:hover,.lp-user-profile .profile-orders .column-order-actions a:focus{color:var(--lp-primary-color)}.lp-user-profile #dashboard-general-statistic{margin-bottom:55px;padding-bottom:20px;border-bottom:1px solid #ddd}.lp-user-profile .dashboard-general-statistic__row{display:flex;margin:0 -15px;justify-content:center;flex-wrap:wrap}.lp-user-profile .dashboard-general-statistic__row .statistic-box{min-width:200px;max-width:270px;margin:0 15px 40px 15px;padding:15px 20px;border:1px solid #ccc;border-radius:4px;background:#f9fafc;text-align:center}@media(max-width:990px){.lp-user-profile .dashboard-general-statistic__row .statistic-box{width:45%}}@media(max-width:767px){.lp-user-profile .dashboard-general-statistic__row .statistic-box{width:100%;margin:0 15px 15px}}.lp-user-profile .dashboard-general-statistic__row .statistic-box:hover{background:#eaeaea}.lp-user-profile .dashboard-general-statistic__row[data-col="2"] .statistic-box{width:50%}.lp-user-profile .dashboard-general-statistic__row[data-col="4"] .statistic-box{width:25%}.lp-user-profile .dashboard-general-statistic__row[data-col="5"] .statistic-box{width:20%}.lp-user-profile .statistic-box .statistic-box__text{margin:0 0 7px 0;padding:0;color:#666;font-size:18px;font-weight:400;line-height:1}.lp-user-profile .statistic-box .statistic-box__number{color:#333;font-size:18px;font-weight:500;line-height:1}.lp-user-profile .profile-courses>h3{margin-top:0;margin-bottom:36px;color:#333;font-size:30px;font-weight:600;line-height:1;text-transform:capitalize}.lp-profile-content table.lp-list-table{border-spacing:0;border-top:1px solid #ccc;border-left:1px solid #ccc;margin-bottom:40px}.lp-profile-content table.lp-list-table tr th,.lp-profile-content table.lp-list-table tr td{border-right:1px solid #ccc;border-bottom:1px solid #ccc;text-align:center}.lp-profile-content table.lp-list-table tr td a{color:var(--wp--preset--color--foreground);font-weight:400}.lp-profile-content table.lp-list-table tr td a:hover{color:var(--lp-primary-color)}.lp-profile-content #profile-content-order-details h3{margin-top:0;font-size:30px;line-height:1.5;font-weight:500;margin-bottom:15px;font-family:var(--wp--preset--font-family--system-font)}.profile-basic-information .form-field,form[name=profile-change-password] .form-field{margin:0 10px 24px 10px}.profile-basic-information .form-field>label,form[name=profile-change-password] .form-field>label{margin:0 0 12px 0;color:#333;font-size:16px;font-weight:500;font-style:italic}.profile-basic-information .form-field .form-field-input input,form[name=profile-change-password] .form-field .form-field-input input{height:43px;padding:8px 20px;font-weight:400}.profile-basic-information .form-field .form-field-input input[type=password],form[name=profile-change-password] .form-field .form-field-input input[type=password]{padding:8px 20px}.profile-basic-information .form-field .form-field-input textarea,form[name=profile-change-password] .form-field .form-field-input textarea{padding:9px 20px 16px 20px;font-weight:300;line-height:24px}.profile-basic-information .form-field .form-field-input input,.profile-basic-information .form-field .form-field-input textarea,form[name=profile-change-password] .form-field .form-field-input input,form[name=profile-change-password] .form-field .form-field-input textarea{border:1px solid #ccc;color:#999;font-size:14px;font-style:italic}.profile-basic-information .form-field .form-field-input input:focus,.profile-basic-information .form-field .form-field-input textarea:focus,form[name=profile-change-password] .form-field .form-field-input input:focus,form[name=profile-change-password] .form-field .form-field-input textarea:focus{border-color:var(--lp-primary-color);outline:0;color:#222}.profile-basic-information .form-field .form-field-input ::placeholder,form[name=profile-change-password] .form-field .form-field-input ::placeholder{opacity:1;color:#999}.profile-basic-information .form-field .form-field-input :-ms-input-placeholder,form[name=profile-change-password] .form-field .form-field-input :-ms-input-placeholder{color:#999}.profile-basic-information .form-field .form-field-input ::-ms-input-placeholder,form[name=profile-change-password] .form-field .form-field-input ::-ms-input-placeholder{color:#999}.profile-basic-information .form-field .form-field-input .description,form[name=profile-change-password] .form-field .form-field-input .description{margin-top:15px}@media(max-width:767px){.profile-basic-information .form-field,form[name=profile-change-password] .form-field{margin:0 0 24px 0}}.profile-basic-information .form-field__50,form[name=profile-change-password] .form-field__50{float:left;width:calc(50% - 20px);margin-right:10px}@media(max-width:767px){.profile-basic-information .form-field__50,form[name=profile-change-password] .form-field__50{float:unset;width:100%;margin:0 0 24px 0}}.profile-basic-information .form-field__clear,form[name=profile-change-password] .form-field__clear{clear:both}.profile-basic-information button,form[name=profile-change-password] button{padding:16px 24px;border:0;border-radius:3px;color:#fff;background:var(--lp-primary-color);font-size:16px;font-weight:400;line-height:1}.profile-basic-information button:hover,form[name=profile-change-password] button:hover{opacity:.5;background:var(--lp-primary-color)}.profile-basic-information p,form[name=profile-change-password] p{margin:0}#learn-press-profile-basic-information .form-fields::after{display:block;clear:both;content:""}@media(max-width:767px){#learn-press-profile-basic-information .form-fields{margin:0}}#learn-press-profile-basic-information button[type=submit]{padding:0 15px;height:40px;line-height:40px;border:0;display:inline-flex;align-items:center;justify-content:center;background-color:var(--lp-primary-color);color:white;font-size:16px;font-weight:400;-webkit-transition:.3s;-moz-transition:.3s;-ms-transition:.3s;-o-transition:.3s;transition:.3s;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}#learn-press-profile-basic-information button[type=submit]:hover{opacity:.5;background-color:var(--lp-primary-color)}.recover-order__title{margin-bottom:5px}.recover-order__description{margin-bottom:20px;color:#999;font-size:.8em;font-style:italic}div.order-recover{display:flex}div.order-recover>.button-recover-order{margin:0;margin-left:20px;flex:0 0 auto}div.order-recover>.button-recover-order.loading::before{display:inline-block;margin-right:5px;font-family:"Font Awesome 5 Free";font-weight:900;content:"\f110";animation:lp-rotating 1s linear infinite}div.order-recover input[type=text]{width:100%;height:43px;margin-right:10px;padding:0 22px;border:1px solid #ccc;border-radius:3px;background-color:#fff;font-size:14px;font-weight:300;font-style:italic;line-height:43px;flex:1 1 auto}.learn-press-profile-course__progress .lp_profile_course_progress{border:1px solid #eee;border-top:0;overflow-x:auto}.learn-press-profile-course__progress .lp_profile_course_progress__item{display:grid;align-items:center;padding:15px;border-top:1px solid #eee;grid-template-columns:90px 1fr 80px 190px 140px;column-gap:20px}.learn-press-profile-course__progress .lp_profile_course_progress__item div img{max-width:60px;height:auto}@media(max-width:575px){.learn-press-profile-course__progress .lp_profile_course_progress__item div img{max-width:100%}}@media(max-width:575px){.learn-press-profile-course__progress .lp_profile_course_progress__item{display:block}}.learn-press-profile-course__progress .lp_profile_course_progress__header{background-color:#eee}@media(max-width:575px){.learn-press-profile-course__progress .lp_profile_course_progress__header{display:flex;overflow-x:auto;white-space:nowrap;justify-content:flex-end}}.lp_profile_course_progress__nav button.loading::before{display:inline-block;margin-right:5px;font-family:"Font Awesome 5 Free";font-weight:900;content:"\f110";-webkit-animation:lp-rotating 1s linear infinite;-moz-animation:lp-rotating 1s linear infinite;animation:lp-rotating 1s linear infinite}.entry-content ul.learn-press-profile-course__tab__inner{padding:0}.content ul.learn-press-courses{margin-left:-15px;margin-right:-15px}.content ul.learn-press-courses[data-layout=list]{margin:0}.learn-press-profile-course__tab__inner{display:flex;margin:40px 0 0 0 !important;padding:0 !important;background:#eee;list-style:none !important}.learn-press-profile-course__tab__inner>li{list-style:none;margin:0 !important}.learn-press-profile-course__tab__inner>li:hover{cursor:pointer}.learn-press-profile-course__tab__inner a{display:inline-block;padding:15px 30px;font-weight:600;position:relative}.learn-press-profile-course__tab__inner a.active{color:var(--lp-primary-color);background:#fff}.learn-press-profile-course__tab__inner a.active::before{content:"";height:3px;width:100%;background-color:var(--lp-primary-color);position:absolute;top:0;left:0;right:auto}.learn-press-course-tab-filters .learn-press-filters{margin-top:20px;margin-left:0;padding:0;list-style:none}.learn-press-course-tab-filters .learn-press-filters a.active{color:var(--lp-primary-color)}.lp-profile-content ul{list-style:none !important;padding:0 !important}.learnpress_avatar__form label{display:inline-block}.learnpress_avatar__form input[type=file]{display:none}.learnpress_avatar__form__upload{display:flex;width:200px;height:200px;border:1px dashed #ccc;border-radius:3px;background-color:#fafafa;font-size:14px;font-weight:300;font-style:italic;line-height:43px;text-align:center;cursor:pointer;align-items:center;justify-content:center}.learnpress_avatar__form__upload div{line-height:1.4}.learnpress_avatar__button--loading::before{display:inline-block;margin-right:5px;font-family:"Font Awesome 5 Free";font-weight:900;content:"\f110";-webkit-animation:lp-rotating 1s linear infinite;-moz-animation:lp-rotating 1s linear infinite;animation:lp-rotating 1s linear infinite}button.learnpress_avatar__button{height:40px;padding:0 15px;border:0;background:var(--lp-primary-color);color:white;margin-top:15px;border-radius:3px}button.learnpress_avatar__button+button{margin-left:15px;margin-right:0}#primary .learn-press-courses[data-size="3"] .course{width:50%}body.learnpress .learn-press-tabs .learn-press-tabs__tab,body.learnpress .attachment-recent-works-thumbnail{border-radius:0}#learn-press-course-tabs.show-all .course-tab-panel{margin-bottom:40px}#learn-press-course-tabs input[name=learn-press-course-tab-radio]:nth-child(1):checked ~ .course-tab-panels .course-tab-panel:nth-child(1){display:block}#learn-press-course-tabs input[name=learn-press-course-tab-radio]:nth-child(1):checked ~ .learn-press-nav-tabs .course-nav:nth-child(1){border-bottom:0}#learn-press-course-tabs input[name=learn-press-course-tab-radio]:nth-child(1):checked ~ .learn-press-nav-tabs .course-nav:nth-child(1) label{color:var(--lp-primary-color);background:#fff}#learn-press-course-tabs input[name=learn-press-course-tab-radio]:nth-child(2):checked ~ .course-tab-panels .course-tab-panel:nth-child(2){display:block}#learn-press-course-tabs input[name=learn-press-course-tab-radio]:nth-child(2):checked ~ .learn-press-nav-tabs .course-nav:nth-child(2){border-bottom:0}#learn-press-course-tabs input[name=learn-press-course-tab-radio]:nth-child(2):checked ~ .learn-press-nav-tabs .course-nav:nth-child(2) label{color:var(--lp-primary-color);background:#fff}#learn-press-course-tabs input[name=learn-press-course-tab-radio]:nth-child(3):checked ~ .course-tab-panels .course-tab-panel:nth-child(3){display:block}#learn-press-course-tabs input[name=learn-press-course-tab-radio]:nth-child(3):checked ~ .learn-press-nav-tabs .course-nav:nth-child(3){border-bottom:0}#learn-press-course-tabs input[name=learn-press-course-tab-radio]:nth-child(3):checked ~ .learn-press-nav-tabs .course-nav:nth-child(3) label{color:var(--lp-primary-color);background:#fff}#learn-press-course-tabs input[name=learn-press-course-tab-radio]:nth-child(4):checked ~ .course-tab-panels .course-tab-panel:nth-child(4){display:block}#learn-press-course-tabs input[name=learn-press-course-tab-radio]:nth-child(4):checked ~ .learn-press-nav-tabs .course-nav:nth-child(4){border-bottom:0}#learn-press-course-tabs input[name=learn-press-course-tab-radio]:nth-child(4):checked ~ .learn-press-nav-tabs .course-nav:nth-child(4) label{color:var(--lp-primary-color);background:#fff}#learn-press-course-tabs input[name=learn-press-course-tab-radio]:nth-child(5):checked ~ .course-tab-panels .course-tab-panel:nth-child(5){display:block}#learn-press-course-tabs input[name=learn-press-course-tab-radio]:nth-child(5):checked ~ .learn-press-nav-tabs .course-nav:nth-child(5){border-bottom:0}#learn-press-course-tabs input[name=learn-press-course-tab-radio]:nth-child(5):checked ~ .learn-press-nav-tabs .course-nav:nth-child(5) label{color:var(--lp-primary-color);background:#fff}#learn-press-course-tabs input[name=learn-press-course-tab-radio]:nth-child(6):checked ~ .course-tab-panels .course-tab-panel:nth-child(6){display:block}#learn-press-course-tabs input[name=learn-press-course-tab-radio]:nth-child(6):checked ~ .learn-press-nav-tabs .course-nav:nth-child(6){border-bottom:0}#learn-press-course-tabs input[name=learn-press-course-tab-radio]:nth-child(6):checked ~ .learn-press-nav-tabs .course-nav:nth-child(6) label{color:var(--lp-primary-color);background:#fff}#learn-press-course-tabs input[name=learn-press-course-tab-radio]:nth-child(7):checked ~ .course-tab-panels .course-tab-panel:nth-child(7){display:block}#learn-press-course-tabs input[name=learn-press-course-tab-radio]:nth-child(7):checked ~ .learn-press-nav-tabs .course-nav:nth-child(7){border-bottom:0}#learn-press-course-tabs input[name=learn-press-course-tab-radio]:nth-child(7):checked ~ .learn-press-nav-tabs .course-nav:nth-child(7) label{color:var(--lp-primary-color);background:#fff}#learn-press-course-tabs input[name=learn-press-course-tab-radio]:nth-child(8):checked ~ .course-tab-panels .course-tab-panel:nth-child(8){display:block}#learn-press-course-tabs input[name=learn-press-course-tab-radio]:nth-child(8):checked ~ .learn-press-nav-tabs .course-nav:nth-child(8){border-bottom:0}#learn-press-course-tabs input[name=learn-press-course-tab-radio]:nth-child(8):checked ~ .learn-press-nav-tabs .course-nav:nth-child(8) label{color:var(--lp-primary-color);background:#fff}#learn-press-course-tabs input[name=learn-press-course-tab-radio]:nth-child(9):checked ~ .course-tab-panels .course-tab-panel:nth-child(9){display:block}#learn-press-course-tabs input[name=learn-press-course-tab-radio]:nth-child(9):checked ~ .learn-press-nav-tabs .course-nav:nth-child(9){border-bottom:0}#learn-press-course-tabs input[name=learn-press-course-tab-radio]:nth-child(9):checked ~ .learn-press-nav-tabs .course-nav:nth-child(9) label{color:var(--lp-primary-color);background:#fff}.course-tab-panels .course-tab-panel{padding-top:30px}.course-tab-panel{display:none}.course-tab-panel.active{display:block}.course-tab-panel .course-description{color:#666;font-size:16px;font-weight:300;line-height:26px}.course-tab-panel .course-description h4{margin-top:0;margin-bottom:1.125rem;color:#333;font-size:18px;font-weight:500}.course-tab-panel .course-description p{line-height:inherit}.course-tab-panel .course-description img{max-width:100%;height:auto;vertical-align:middle}.course-tab-panel .lp-course-author{display:flex;margin-bottom:40px}@media(max-width:767px){.course-tab-panel .lp-course-author{flex-direction:column}}.course-tab-panel .lp-course-author .course-author__pull-left{margin-right:30px;text-align:center;align-items:center}@media(max-width:767px){.course-tab-panel .lp-course-author .course-author__pull-left{margin-right:0;margin-bottom:30px}}.course-tab-panel .lp-course-author img{width:50px;height:50px;margin-bottom:20px;border-radius:50%;object-fit:cover;object-position:center}.course-tab-panel .lp-course-author .course-author__pull-right{flex:1}@media(max-width:767px){.course-tab-panel .lp-course-author .course-author__pull-right{width:100%;text-align:center}}.course-tab-panel .lp-course-author .author-title{margin-bottom:18px}.course-tab-panel .lp-course-author .author-title a{color:#333;box-shadow:none;font-size:18px;font-weight:500;text-transform:capitalize}.course-tab-panel .lp-course-author .author-title a:hover{color:var(--lp-primary-color)}.course-tab-panel .lp-course-author .author-description{color:#666;font-size:16px;font-weight:300;line-height:26px}.course-tab-panel .lp-course-author .author-socials{display:grid;grid-template-columns:repeat(4,33px);gap:10px;justify-content:center}.course-tab-panel .lp-course-author .author-socials>a{display:inline-block;width:33px;height:33px;margin:0;border:1px solid #ededed;border-radius:50%;color:#878787;box-shadow:none;font-size:14px;line-height:33px;text-align:center;vertical-align:middle;transition:all .3s}.course-tab-panel .lp-course-author .author-socials>a:hover{border-color:var(--lp-primary-color);color:#fff;background:var(--lp-primary-color)}.course-tab-panel .lp-course-author .author-socials .fa-googleplus::before{content:"\f0d5"}.course-summary div.lp-list-co-instructor{display:grid;grid-template-columns:repeat(2,1fr);gap:40px}.course-summary div.lp-list-co-instructor__item{display:flex;column-gap:30px}@media(max-width:767px){.course-summary div.lp-list-co-instructor__item{align-items:center;flex-direction:column;padding:0 15px;column-gap:0;row-gap:10px}}.course-summary div.lp-list-co-instructor__avatar>img{width:100%;max-width:96px;border-radius:999px}.course-summary div.lp-list-co-instructor__bio{flex:1}.course-summary div.lp-list-co-instructor__bio__top>a{font-size:18px;font-weight:600}.course-summary div.lp-list-co-instructor__bio__description{font-size:1rem}.course-summary .course-price{margin-bottom:10px}.course-summary .course-price .origin-price,.course-summary .course-price .price{vertical-align:middle}.course-summary .course-price .origin-price{margin-right:10px;font-size:18px;font-style:italic;text-decoration:line-through}.course-summary .course-price .price{font-size:24px}.course-summary .course-summary-sidebar .lp-course-buttons{margin-bottom:20px}.course-summary .course-featured-review .featured-review__title{margin-top:0;margin-bottom:6px;font-size:1.2rem;font-weight:500}.course-summary .course-featured-review .featured-review__stars{padding-bottom:12px;color:var(--lp-primary-color);font-size:16px}.course-summary .course-featured-review .featured-review__content{position:relative;color:#666;font-size:1rem;font-style:italic;line-height:24px}.course-summary .course-featured-review .featured-review__content::after{position:absolute;top:-42px;right:-15px;color:rgba(102,102,102,0.1);font-family:Arial;font-size:180px;font-weight:700;font-style:normal;content:"‘‘";transform:rotate(180deg)}.course-summary .course-tags a{display:inline-block;padding:3px 5px;border-radius:4px;color:#fff;background:#9aa5ab;font-size:12px;line-height:1}.edit-content{margin-left:5px}ul.learn-press-nav-tabs{display:flex;margin:0;padding:0;border-bottom:0;background:#f1f2f8;list-style:none}ul.learn-press-nav-tabs .course-nav{float:left;position:relative;margin:0;list-style:none}ul.learn-press-nav-tabs .course-nav:first-child.active::after{position:absolute;top:-1px;left:-1px;width:1px;height:100%;background:#fff;content:""}ul.learn-press-nav-tabs .course-nav:last-child{border-right:0}ul.learn-press-nav-tabs .course-nav:last-child.active::after{position:absolute;top:-1px;right:-2px;width:2px;height:100%;background:#fff;content:""}ul.learn-press-nav-tabs .course-nav.active{border-bottom:0}ul.learn-press-nav-tabs .course-nav.active::before{position:absolute;top:-1px;left:0;width:100%;height:3px;background:var(--lp-primary-color);content:""}ul.learn-press-nav-tabs .course-nav.active label{color:var(--lp-primary-color);background-color:white}ul.learn-press-nav-tabs .course-nav a{display:inline-block;padding:10px 20px;border-bottom:0;outline:0;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}ul.learn-press-nav-tabs .course-nav a:focus{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}ul.learn-press-nav-tabs[data-tabs] .course-nav{flex:1}ul.learn-press-nav-tabs[data-tabs] .course-nav a{width:100%;text-align:center}ul.learn-press-nav-tabs::after{display:block;clear:both;content:""}@media(max-width:767px){ul.learn-press-nav-tabs{display:grid;grid-template-columns:repeat(2,1fr);max-height:none}}.course-item-popup #tab-curriculum{display:block}.course-curriculum ul.curriculum-sections{position:relative;z-index:499;margin:0;padding:0;list-style:none}.course-curriculum ul.curriculum-sections .closed .section-item__loadmore{display:none}.course-curriculum ul.curriculum-sections .section{margin:0;padding:0;flex-wrap:wrap}.course-curriculum ul.curriculum-sections .section:last-child{padding:0}.course-curriculum ul.curriculum-sections .section.section-empty .section-header{margin-bottom:20px}.course-curriculum ul.curriculum-sections .section.section-empty .learn-press-message{margin-right:15px;margin-left:15px}.course-curriculum ul.curriculum-sections .section-title.c+.section-desc{display:block}.course-curriculum ul.curriculum-sections .section-title.c span.show-desc::before{-webkit-transform:rotate(180deg);-moz-transform:rotate(180deg);-ms-transform:rotate(180deg);-o-transform:rotate(180deg);transform:rotate(180deg);top:0}.course-curriculum ul.curriculum-sections .item-meta.duration{background:#d9e0f1}.course-curriculum .section-item__loadmore{display:flex;justify-content:center;align-items:center}.course-curriculum .section-item__loadmore button{display:inline-flex;margin-top:10px;margin-right:auto;margin-left:auto;padding:10px 20px;border:1px solid #ccc;border-radius:4px;outline:0;color:#222;background:#f7f7f7;box-shadow:none;font-weight:500;justify-content:center;align-items:center;cursor:pointer;font-size:1rem;font-family:sans-serif}.course-curriculum .section-item__loadmore.loading button::before{display:inline-block;margin-right:5px;font-family:"Font Awesome 5 Free";font-weight:900;content:"\f110";-webkit-animation:lp-rotating 1s linear infinite;-moz-animation:lp-rotating 1s linear infinite;animation:lp-rotating 1s linear infinite}.course-curriculum .section-header{display:table;width:100%;padding:0 0 26px 0;border-bottom:0;border-bottom:1px solid #d9e0f1;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.course-curriculum .section-header .section-title,.course-curriculum .section-header .section-desc{margin:0}.course-curriculum .section-header span.show-desc{display:inline-block;position:absolute;top:50%;right:30px;width:20px;height:20px;transform:translate(0,-50%)}.course-curriculum .section-header span.show-desc::before{font-family:"Font Awesome 5 Free";font-size:18px;font-weight:900;content:"\f107"}.course-curriculum .section-header span.show-desc:hover::before{border-top-color:#ccc}.course-curriculum .section-header .section-desc{margin:0;margin-top:10px;font-size:14px;line-height:21px;color:#999;font-style:italic}.course-curriculum .section-header .section-meta{display:block;padding-top:17px;padding-bottom:15px;font-size:14px;text-align:right;vertical-align:middle;white-space:nowrap}.course-curriculum .section-item{width:100%}.course-curriculum .section-content{margin:0 0 15px 0;padding:0;list-style:none}.course-curriculum .section-content .course-item-meta{display:table-cell;padding:10px 0;text-align:right;vertical-align:middle;white-space:nowrap}.course-curriculum .section-content .course-item-meta .item-meta{display:inline-block;margin-left:14px;border-radius:3px;color:#fff;font-size:14px;line-height:23px;text-align:center;vertical-align:middle;padding:0 8px}.course-curriculum .section-content .course-item-meta .item-meta.final-quiz{background:#14c4ff}.course-curriculum .section-content .course-item-meta .item-meta.trans{padding:0}.course-curriculum .section-content .course-item-meta .count-questions{background:#9672cf}.course-curriculum .section-content .course-item-meta .duration{background:silver}.course-curriculum .section-content .course-item-meta .course-item-status{padding:0;color:#999;-webkit-border-radius:50%;-moz-border-radius:50%;border-radius:50%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.course-curriculum .section-content .course-item-meta .course-item-status::before{font-family:"Font Awesome 5 Free";font-size:14px;font-weight:900;vertical-align:middle;text-transform:lowercase;content:"\f00c"}.course-curriculum .section-content .course-item-preview{font-style:normal;padding:0}.course-curriculum .section-content .course-item-preview::before{color:#fff;padding:0 8px;background:#00adff;display:inline-flex;align-items:center;justify-content:center;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;vertical-align:baseline;content:attr(data-preview)}.course-curriculum .course-item{display:flex;position:relative;margin:0 0 2px 0;padding:0 15px 0 30px;background:rgba(241,242,248,0.4);font-size:14px;transition:padding-left linear .15s}@media(max-width:767px){.course-curriculum .course-item{padding:0 0 0 15px}}.course-curriculum .course-item>span{display:flex;width:28px;color:#666;font-size:16px;font-weight:300;align-items:center}.course-curriculum .course-item .section-item-link{display:table;padding-right:15px;padding-left:0;border-bottom:0;outline:0;box-shadow:none;line-height:1.5;color:#777;text-decoration:none}.course-curriculum .course-item .section-item-link:hover .item-name{color:var(--lp-primary-color)}.course-curriculum .course-item .section-item-link::before{display:table-cell;display:table-cell;left:0;width:20px;padding:15px 0;color:var(--lp-primary-color);font-family:"Font Awesome 5 Free";font-size:18px;font-weight:400;vertical-align:middle;transition:left linear .15s}.course-curriculum .course-item .item-icon,.course-curriculum .course-item .item-name{display:table-cell;padding:17px 16px;color:#333;font-size:16px;font-weight:600;vertical-align:middle}.course-curriculum .course-item .item-icon::before{font-size:18px}.course-curriculum .course-item .item-icon.icon-lock{float:right;margin-top:15px}.course-curriculum .course-item.course-item-lp_quiz .section-item-link::before{content:"\f059"}.course-curriculum .course-item.course-item-lp_lesson .section-item-link::before{content:"\f15b"}.course-curriculum .course-item.course-item-lp_lesson.course-item-type-video .section-item-link::before{content:"\f03d"}.course-curriculum .course-item.course-item-lp_lesson.course-item-type-audio .section-item-link::before{content:"\f028"}.course-curriculum .course-item.item-locked .course-item-status::before{color:var(--lp-secondary-color);content:"\f023"}.course-curriculum .course-item.has-status{padding-top:1px}.course-curriculum .course-item.has-status.status-completed .course-item-status::before,.course-curriculum .course-item.has-status.status-evaluated .course-item-status::before{color:#3bb54a}.course-curriculum .course-item.has-status.item-failed .course-item-status::before,.course-curriculum .course-item.has-status.failed .course-item-status::before{border-color:#f02425;color:#f02425;content:"\f00d"}.course-curriculum .course-item::before{position:absolute;top:50%;left:0;width:3px;height:0;background:#00adff;content:"";transition:height linear .15s,top linear .15s}.course-curriculum .course-item.current{padding-left:10px;background:#f9f9f9}.course-curriculum .course-item.current a::before{left:10px}.course-curriculum .course-item.current::before{top:0;height:100%}.course-curriculum .section-left{vertical-align:top}.course-curriculum .section-left .section-title{padding:0;color:#666;font-size:1.4rem;letter-spacing:0;text-transform:capitalize;display:block}.course-curriculum .curriculum-more__button{display:flex;width:100%;margin-top:20px;margin-bottom:20px;padding:10px 0;border:0;outline:0;color:#fff;background:#333;box-shadow:none;justify-content:center;align-items:center;cursor:pointer;font-size:1rem;font-family:sans-serif}.course-curriculum .curriculum-more__button.loading::before{display:inline-block;margin-right:5px;font-family:"Font Awesome 5 Free";font-weight:900;content:"\f110";-webkit-animation:lp-rotating 1s linear infinite;-moz-animation:lp-rotating 1s linear infinite;animation:lp-rotating 1s linear infinite}body.course-item-popupx{overflow:hidden;_opacity:0}body.course-item-popupx #learn-press-course-curriculum{overflow:auto;position:fixed;z-index:9999;top:32px;bottom:0;left:0;width:400px;border-right:1px solid #ddd;background:#fff}body.course-item-popupx #learn-press-course-curriculum .section-header{padding:0 15px}body.course-item-popupx #learn-press-course-curriculum .section-header .section-desc{margin:-10px 0 5px}body.course-item-popupx #learn-press-course-curriculum .course-item{padding-right:15px;padding-left:15px}body.course-item-popupx #learn-press-course-curriculum .course-item a::before{left:15px}body.course-item-popupx #learn-press-content-item{overflow:hidden;position:fixed;z-index:9999;top:32px;right:0;bottom:0;left:400px;background:#fff}body.course-item-popupx #learn-press-content-item .content-item-wrap{max-width:900px;margin:10px auto}body.course-item-popupx #learn-press-content-item .course-item-title{font-size:1.4rem}body.course-item-popupx #learn-press-content-item .content-question-summary .review-heading{text-align:center}body.course-item-popupx #learn-press-content-item .content-question-summary .question-title{margin-bottom:10px;font-size:1.2rem}body.course-item-popupx #content-item-nav{position:fixed;z-index:99999;right:0;bottom:0;left:400px;height:60px;border-top:1px solid #ddd;background:#f5f5f5}body.course-item-popupx #content-item-nav .content-item-nav-wrap{max-width:900px;margin:10px auto}body.course-item-popupx #content-item-nav button{height:40px;padding:0 20px;line-height:40px}body.course-item-popupx .comment-form-textarea{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}body.course-item-popupx.wpadminbar #learn-press-course-curriculum,body.course-item-popupx.wpadminbar #learn-press-content-item{top:92px}body.course-item-popupx.wpadminbar .content-item-description{margin-bottom:20px}body.course-item-popupx .content-item-summary{margin-bottom:50px}body.course-item-popupx .content-item-summary>h3{margin-bottom:20px}body.course-item-popupx .content-item-summary.content-item-video .entry-video{position:absolute;top:0;left:0;width:100%;background:#000;line-height:1}body.course-item-popupx .content-item-summary.content-item-video .entry-video iframe{width:100%;max-width:900px;margin-bottom:0;vertical-align:top}body.course-item-popupx .learn-press-content-protected-message{margin-bottom:50px;padding:20px;background:#ffe0e0}body.course-item-popupx.content-only #learn-press-content-item{z-index:9999999;top:0;bottom:0;left:0}body.course-item-popupx.content-only #learn-press-content-item .content-item-scrollable{bottom:0}body #ifr-course-item{position:absolute;z-index:999999;top:0;left:0;width:100%;height:100%;background:#fff}body .content-item-summary .form-button-finish-course,body .lp-quiz-buttons .form-button-finish-course{float:right}#wpadminbar #wp-admin-bar-edit-lp_quiz .ab-item::before,#wpadminbar #wp-admin-bar-edit-lp_lesson .ab-item::before,#wpadminbar #wp-admin-bar-edit-lp_question .ab-item::before{top:2px;font-family:"Font Awesome 5 Free"}#wpadminbar #wp-admin-bar-edit-lp_quiz .ab-item::before{content:"\f017"}#wpadminbar #wp-admin-bar-edit-lp_lesson .ab-item::before{content:"\f15c"}#wpadminbar #wp-admin-bar-edit-lp_question .ab-item::before{content:"\f29c"}.scroll-wrapper{overflow:hidden;opacity:0}.scroll-wrapper .scroll-element{background:transparent}.scroll-wrapper .scroll-element.scroll-y.scroll-scrolly_visible{transition:opacity .25s}.scroll-wrapper:hover .scroll-element.scroll-y.scroll-scrolly_visible{opacity:.7}.course-remaining-time .label-enrolled{font-size:inherit}.learn-press-form.completed button::before{margin-right:10px;font-family:"Font Awesome 5 Free";font-size:18px;content:"\f00c"}.lp-course-progress{position:relative}.lp-course-progress .lp-passing-conditional{position:absolute;top:0;width:3px;height:6px;margin-left:-1px;background:var(--lp-secondary-color)}.viewing-course-item .section-header .section-desc{display:none}.viewing-course-item .content-item-wrap{margin-top:50px}.course-meta{display:flex;margin-bottom:40px}.course-meta .course-meta__pull-left,.course-meta .course-meta__pull-right{display:flex;flex-wrap:wrap}.course-meta .course-meta__pull-left{flex:1}.course-meta .course-meta__pull-left .meta-item{margin-right:10px}.course-meta .course-meta__pull-right{flex:0 0 50%}.course-meta .course-meta__pull-right .meta-item{margin-left:10px}.course-meta.course-meta-primary .meta-item{flex:1}.course-meta.two-columns .course-meta{flex:1}.course-extra-box{margin-bottom:3px;border:1px solid rgba(204,204,204,0.3);border-radius:5px}.course-extra-box__title{--extra-height:50px;display:flex;align-items:center;position:relative;height:var(--extra-height);margin:0 !important;padding:0 45px 0 38px;background:rgba(181,187,211,0.15);font-size:1.1rem;font-weight:600;cursor:pointer}@media(max-width:767px){.course-extra-box__title{padding-left:15px}}.course-extra-box__title::after{position:absolute;top:0;right:20px;color:#666;font-family:"Font Awesome 5 Free";line-height:var(--extra-height);content:"\f0d7"}.course-extra-box__content{display:none}.course-extra-box__content-inner{-webkit-animation-name:course-extra-box__content-inner-transform;animation-name:course-extra-box__content-inner-transform;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;-webkit-animation-iteration-count:1;animation-iteration-count:1;-webkit-animation-direction:normal;animation-direction:normal}.course-extra-box__content ul,.course-extra-box__content li{list-style:none}.course-extra-box__content ul{margin:0;padding:0}.course-extra-box__content li{margin:0;padding:10px 38px;border-bottom:1px solid rgba(204,204,204,0.3);color:#666;font-size:16px;font-weight:300}@media(max-width:767px){.course-extra-box__content li{padding-left:30px;padding-right:30px}}.course-extra-box__content li::before{margin-right:8px;color:var(--lp-primary-color);font-family:"Font Awesome 5 Free";font-weight:900;content:"\f00c"}.course-extra-box__content li:last-child{border-bottom:0}.course-extra-box:last-child{margin-bottom:60px}.course-extra-box.active .course-extra-box__title::after{content:"\f0d8"}.course-extra-box+.comment-respond,.course-extra-box+.comments-area{margin-top:60px;margin-bottom:30px}.course-extra-box+.course-tabs{margin-top:60px}input[name=course-extra-box-ratio]{display:none}input[name=course-extra-box-ratio]:checked+.course-extra-box .course-extra-box__content{display:block}input[name=course-extra-box-ratio]:checked+.course-extra-box .course-extra-box__content .course-extra-box__content-inner{transform:scale(1)}@-webkit-keyframes course-extra-box__content-inner-transform{from{opacity:0;-webkit-transform:translateX(5%);-moz-transform:translateX(5%);-ms-transform:translateX(5%);-o-transform:translateX(5%);transform:translateX(5%)}to{opacity:1;-webkit-transform:translateX(0);-moz-transform:translateX(0);-ms-transform:translateX(0);-o-transform:translateX(0);transform:translateX(0)}}@keyframes course-extra-box__content-inner-transform{from{opacity:0;transform:translateX(5%)}to{opacity:1;transform:translateX(0)}}.course-tab-panel-faqs{padding-top:64px}.course-tab-panel-faqs .course-faqs-box{margin-bottom:20px;border:1px solid rgba(204,204,204,0.6);border-radius:5px}.course-tab-panel-faqs .course-faqs-box__title{display:block;position:relative;margin:0;padding:20px 45px 20px 25px;font-size:1.1rem;font-weight:500;line-height:1.7;cursor:pointer}.course-tab-panel-faqs .course-faqs-box__title::after{position:absolute;top:50%;right:28px;color:#6c6c6c;font-family:"Font Awesome 5 Free";font-size:12px;font-weight:900;content:"\f078";transform:translateY(-50%)}.course-tab-panel-faqs .course-faqs-box:last-child{margin-bottom:40px}.course-tab-panel-faqs .course-faqs-box:hover{background:rgba(241,242,248,0.4)}.course-tab-panel-faqs .course-faqs-box:hover .course-faqs-box__title{color:var(--lp-primary-color)}.course-tab-panel-faqs .course-faqs-box__content{display:none}.course-tab-panel-faqs .course-faqs-box__content-inner{padding:0 25px 25px 25px;color:#666;font-size:1rem;font-weight:300;line-height:26px;-webkit-animation-name:course-faqs-box__content-inner-transform;animation-name:course-faqs-box__content-inner-transform;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;-webkit-animation-iteration-count:1;animation-iteration-count:1;-webkit-animation-direction:normal;animation-direction:normal}input[name=course-faqs-box-ratio]{display:none}input[name=course-faqs-box-ratio]:checked+.course-faqs-box .course-faqs-box__content{display:block}input[name=course-faqs-box-ratio]:checked+.course-faqs-box{background:rgba(241,242,248,0.4)}input[name=course-faqs-box-ratio]:checked+.course-faqs-box .course-faqs-box__title{color:var(--lp-primary-color)}input[name=course-faqs-box-ratio]:checked+.course-faqs-box .course-faqs-box__title::after{content:"\f077"}@-webkit-keyframes course-faqs-box__content-inner-transform{from{opacity:0;-webkit-transform:translateX(5%);-moz-transform:translateX(5%);-ms-transform:translateX(5%);-o-transform:translateX(5%);transform:translateX(5%)}to{opacity:1;-webkit-transform:translateX(0);-moz-transform:translateX(0);-ms-transform:translateX(0);-o-transform:translateX(0);transform:translateX(0)}}@keyframes course-faqs-box__content-inner-transform{from{opacity:0;-webkit-transform:translateX(5%);-moz-transform:translateX(5%);-ms-transform:translateX(5%);-o-transform:translateX(5%);transform:translateX(5%)}to{opacity:1;-webkit-transform:translateX(0);-moz-transform:translateX(0);-ms-transform:translateX(0);-o-transform:translateX(0);transform:translateX(0)}}@media screen and (max-width:1300px){body.course-item-popup #learn-press-course-curriculum{width:300px}body.course-item-popup #learn-press-course-curriculum .progress-bg{width:40px}body.course-item-popup #content-item-nav{left:300px}body.course-item-popup .section-desc{display:none}}@media screen and (max-width:1200px){body.course-item-popupx #learn-press-course-curriculum{width:300px}body.course-item-popupx #content-item-nav{left:300px}}@media screen and (max-width:768px){body.course-item-popup .course-curriculum{width:200px}body.course-item-popup #content-item-nav{left:200px}body.course-item-popup.wpadminbar #learn-press-content-item,body.course-item-popup.wpadminbar #learn-press-course-curriculum{top:106px}.learn-press-course-results-progress{margin-right:0}.learn-press-course-results-progress .items-progress,.learn-press-course-results-progress .course-progress{float:none;width:100%;margin-right:0;margin-bottom:20px}}.lp-quiz-buttons{margin-bottom:20px;display:block;clear:both;content:""}.quiz-progress{margin-bottom:30px;background:#e7f7ff}.quiz-progress .progress-items{display:flex}.quiz-progress .progress-items .progress-item{position:relative;color:#777;font-size:15px;flex:1}.quiz-progress .progress-items .progress-item .progress-number,.quiz-progress .progress-items .progress-item .progress-label{display:block;line-height:1;text-align:center}.quiz-progress .progress-items .progress-item .progress-number{margin:15px 0 10px 0;font-size:20px}.quiz-progress .progress-items .progress-item .progress-label{margin-bottom:15px;font-size:14px}.quiz-progress .progress-items .progress-item i{display:none;float:left;width:60px;height:60px;color:#fff;background:#00adff;font-size:30px;line-height:60px;text-align:center}.quiz-progress .progress-items .progress-item::after{display:block;clear:both;content:""}.answer-options{margin:0;padding:0;list-style:none}.answer-options .answer-option{display:flex;overflow:hidden;position:relative;margin:0 0 18px 0;padding:10px;color:#777;background:#f5f5f5;font-size:20px;cursor:pointer;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-transition:background linear .25s;-moz-transition:background linear .25s;-ms-transition:background linear .25s;-o-transition:background linear .25s;transition:background linear .25s}.answer-options .answer-option .option-title{display:table-cell;font-size:smaller}.answer-options .answer-option .option-title .option-title-content{display:inline-block;vertical-align:middle}.answer-options .answer-option .option-title::before{position:absolute;top:0;bottom:0;left:0;width:3px;background:#ddd;content:"";-webkit-transition:background linear .25s;-moz-transition:background linear .25s;-ms-transition:background linear .25s;-o-transition:background linear .25s;transition:background linear .25s}.answer-options .answer-option input[type=checkbox],.answer-options .answer-option input[type=radio]{-webkit-appearance:initial;-moz-appearance:initial;position:relative;z-index:10;width:35px;min-width:35px;height:35px;margin:0 10px 0 3px;border:1px solid #cfcfcf;background:#f9fafc;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.answer-options .answer-option input[type=checkbox]:focus,.answer-options .answer-option input[type=radio]:focus{outline:0}.answer-options .answer-option input[type=checkbox]::after,.answer-options .answer-option input[type=radio]::after{margin-top:-10px;position:absolute;top:18px;left:9px;box-sizing:content-box;opacity:0;color:#3db748;font-family:"Font Awesome 5 Free";font-weight:900;font-size:16px;content:"\f00c"}.answer-options .answer-option input[type=checkbox]:checked ~ .option-title .option-title-content,.answer-options .answer-option input[type=radio]:checked ~ .option-title .option-title-content{position:relative}.answer-options .answer-option input[type=checkbox]:checked ~ .option-title::before,.answer-options .answer-option input[type=radio]:checked ~ .option-title::before{background:#00adff}.answer-options .answer-option input[type=checkbox]:checked::after,.answer-options .answer-option input[type=radio]:checked::after{opacity:1}.answer-options .answer-option input[type=checkbox]::after{margin-top:0;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);-moz-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);-o-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.answer-options .answer-option input[type=radio]{-webkit-border-radius:50%;-moz-border-radius:50%;border-radius:50%}.answer-options .answer-option input[type=radio]::before{border-radius:50%}.answer-options .answer-option .option-title{margin:0}.answer-options .answer-option:hover{background:#e1f5ff}.answer-options .answer-option.answer-correct{background:#e1f5ff}.answer-options .answer-option.answer-correct input[type=radio]:checked ~ .option-title::before,.answer-options .answer-option.answer-correct input[type=checkbox]:checked ~ .option-title::before{background:#e1f5ff}.answer-options .answer-option.answered-correct input[type=radio]:checked ~ .option-title::before,.answer-options .answer-option.answered-correct input[type=checkbox]:checked ~ .option-title::before{background:#00adff}.answer-options .answer-option.answered-wrong input[type=radio]::before,.answer-options .answer-option.answered-wrong input[type=radio]::after,.answer-options .answer-option.answered-wrong input[type=checkbox]::before,.answer-options .answer-option.answered-wrong input[type=checkbox]::after{border-color:red}.answer-options .answer-option.answered-wrong input[type=radio]:checked ~ .option-title::before,.answer-options .answer-option.answered-wrong input[type=checkbox]:checked ~ .option-title::before{background:red}button[data-counter]{position:relative}button[data-counter]::after{padding-left:5px;content:"(+" attr(data-counter) ")"}.quiz-result{max-width:320px;margin:20px auto 48px;text-align:center}.quiz-result .result-heading{display:none}.quiz-result.passed .result-message{background:#3bb54a}.quiz-result.passed .result-message::after{content:"\f00c"}.quiz-result .result-message{margin-bottom:30px;padding:10px 0 !important;color:#fff;background:#f02425;font-size:16px;line-height:22px;font-weight:400;display:flex;align-items:center;justify-content:center;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.quiz-result .result-message::after{margin-left:10px;font-family:"Font Awesome 5 Free";font-weight:900;content:"\f00d"}.quiz-result .result-grade .result-achieved,.quiz-result .result-grade .result-require{display:inline-block;margin:0 auto}.quiz-result .result-grade .result-achieved{padding-bottom:7px;border-bottom:1px solid #999;color:#333;font-size:28px;font-weight:500;line-height:1}.quiz-result .result-grade .result-require{display:block;padding-top:5px;color:#666;font-size:16px;font-weight:400;line-height:1}.quiz-result .result-grade .result-message{font-size:14px}.quiz-result.passed .result-achieved{color:#04adff}.quiz-result.passed .result-message strong{color:#04adff}.quiz-result .result-statistic{margin:0;padding:0;text-align:left;list-style:none}.quiz-result .result-statistic .result-statistic-field{display:flex;margin:0}.quiz-result .result-statistic .result-statistic-field+li{border-top:1px dashed #ccc}.quiz-result .result-statistic .result-statistic-field span,.quiz-result .result-statistic .result-statistic-field p{margin:0;flex:1}.quiz-result .result-statistic .result-statistic-field span{color:#666;font-size:16px;font-weight:400;line-height:35px}.quiz-result .result-statistic .result-statistic-field span::before{display:inline-block;width:15px;margin-right:10px;color:var(--lp-primary-color);font-family:"Font Awesome 5 Free";font-size:16px;font-weight:900}.quiz-result .result-statistic .result-statistic-field p{color:#333;font-size:16px;font-weight:500;line-height:35px;text-align:right}.quiz-result .result-statistic .result-statistic-field.result-time-spend label::before{font-weight:400;content:"\f017"}.quiz-result .result-statistic .result-statistic-field.result-point label::before{font-weight:400;content:"\f005"}.quiz-result .result-statistic .result-statistic-field.result-questions label::before{font-weight:400;content:"\f059"}.quiz-result .result-statistic .result-statistic-field.result-questions-correct label::before{color:#3db748;content:"\f00c"}.quiz-result .result-statistic .result-statistic-field.result-questions-wrong label::before{color:#f02425;content:"\f00d"}.quiz-result .result-statistic .result-statistic-field.result-questions-skipped label::before{color:#ddd;content:"\f2f5"}.quiz-status{position:sticky;z-index:99;top:0;right:0;left:0;margin:0 0 35px 0}.quiz-status>div{display:flex;box-sizing:border-box;width:100%;max-width:792px;height:60px;margin:0 auto;padding:5px 10px 5px 30px;border-radius:4px;background:var(--lp-primary-color);justify-content:center;align-items:center}@media(max-width:480px){.quiz-status>div{display:block;height:auto;text-align:center;padding:15px}.quiz-status>div .questions-index{margin-bottom:10px}}.quiz-status>div>div{display:flex;flex-direction:row-reverse;flex:0 0 50%;align-items:center}@media(max-width:480px){.quiz-status>div>div{justify-content:center}}.quiz-status>div .current-point{display:none}.quiz-status .questions-index{display:inline-block;color:#666;font-size:16px;font-weight:400;line-height:26px}.quiz-status .questions-index span{color:#333;font-weight:500}.quiz-status .countdown{position:relative;min-width:120px;margin-right:5px;padding:12px 29px;color:#333;background:#fff;font-size:14px;font-weight:400;line-height:1;text-align:center}.quiz-status .countdown .fas{position:absolute;top:50%;left:10px;color:#333;font-size:14px;transform:translateY(-50%)}.quiz-status .countdown .clock{display:none;width:40px;height:40px}.quiz-status .countdown .clock::before{position:absolute;width:40px;height:40px;border:4px solid #b1c1e6;border-radius:50%;content:"";-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.quiz-status .countdown .clock .circle-progress-bar{display:inline-block;position:relative;width:40px;height:40px;stroke:#5383f7}.quiz-status .countdown .clock .circle-progress-bar .circle-progress-bar__circle{transition:.35s stroke-dashoffset;transform:rotate(-90deg);transform-origin:50% 50%}.quiz-status .countdown .clock.x .circle-progress-bar__circle{stroke:red}.quiz-status .submit-quiz button{margin:0 0 0 10px;border:0;border-radius:0;background:#fff;text-transform:uppercase}.quiz-status .submit-quiz button:hover{background:var(--lp-secondary-color)}.quiz-status.submitting .submit-quiz button{background:#ddd}.question-numbers{text-align:center;list-style:none}.question-numbers li{display:inline-block;position:relative;margin-bottom:3px}.question-numbers li a{display:block;min-width:20px;padding:8px;border:1px solid #ddd;color:#999;background:#f5f5f5;box-shadow:none;font-size:12px;line-height:1}.question-numbers li a span{vertical-align:middle}.question-numbers li a:hover{border:1px solid #3880a2;color:#fff;background:#00adff}.question-numbers li.current a{border-color:#3880a2;color:#fff !important;background:#00adff}.question-numbers li.current.skipped::after{background:#fff}.question-numbers li.answered a::after{margin-left:3px;font-family:"Font Awesome 5 Free";font-size:8px;vertical-align:middle}.question-numbers li.answered.answered-wrong a{color:red}.question-numbers li.answered.answered-true a{color:#00adff}.question-numbers li.answered.answered-true.current a{color:#fff}.question-numbers li.skipped::after{position:absolute;bottom:3px;left:50%;width:10px;height:4px;margin-left:-5px;border-radius:2px;background:#aaa;content:""}.quiz-intro{display:flex;margin:0 0 20px;padding:0;list-style:none;flex-flow:row wrap}@media(max-width:768px){.quiz-intro{padding-right:10px;padding-left:10px;justify-content:space-between}}.quiz-intro-item{display:flex;margin:0 40px 0 0;align-items:center}@media(max-width:768px){.quiz-intro-item{margin:0 20px 0 0}}.quiz-intro-item::before{position:relative;top:-2px;margin-right:10px;color:var(--lp-primary-color);font-family:"Font Awesome 5 Free";font-size:16px;font-weight:900}.quiz-intro-item--passing-grade{order:2}.quiz-intro-item--passing-grade::before{content:"\f012"}.quiz-intro-item--questions-count{order:1}.quiz-intro-item--questions-count::before{content:"\f12e"}.quiz-intro-item--duration{order:2}.quiz-intro-item--duration::before{content:"\f017"}.quiz-intro-item__title{margin:0;padding:0 8px 0 0;color:#333;font-size:16px;font-weight:300;line-height:1.7}.quiz-intro-item__content{color:#222;font-size:16px;font-weight:400}.question-explanation-content,.question-hint-content{margin-bottom:20px;padding:10px 15px;background:#f5f5f5}.redo-quiz button[type=submit]{content:attr(data-counter)}.circle-bar{position:relative;width:300px;height:300px;border-color:#ddd}.circle-bar::before{position:absolute;z-index:0;top:0;left:0;box-sizing:border-box;width:100%;height:100%;border:10px solid #ddd;border-radius:50%;content:""}.circle-bar .before,.circle-bar .after{position:absolute;z-index:0;top:0;left:0;box-sizing:border-box;width:100%;height:100%;border:10px solid #14c4ff;border-radius:50%;transform:rotate(45deg)}.circle-bar .before{border-bottom-color:transparent;border-left-color:transparent;transform:rotate(45deg)}.circle-bar .after{border-color:#14c4ff;border-top-color:transparent;border-right-color:transparent;transform:rotate(45deg)}.circle-bar.bg50 .after{z-index:10;border-bottom-color:inherit;border-left-color:inherit;transform:rotate(45deg)}.lp-quiz-buttons .complete-quiz,.lp-quiz-buttons .back-quiz,.lp-quiz-buttons .review-quiz{float:right}.quiz-result .result-grade{display:flex;flex-direction:column;position:relative;box-sizing:border-box;height:200px;margin-bottom:30px;padding:50px;justify-content:center;align-items:center;-webkit-transform:none !important;-moz-transform:none !important;-ms-transform:none !important;-o-transform:none !important;transform:none !important}.quiz-result .result-grade::before,.quiz-result .result-grade svg{position:absolute;top:0;left:50%;width:200px;height:200px;margin-left:-100px;-webkit-border-radius:50%;-moz-border-radius:50%;border-radius:50%}.quiz-result .result-grade::before{box-sizing:border-box;padding:30px;border:10px solid #ccc;content:""}.quiz-result .result-grade svg{-webkit-transform:rotate(-90deg);-moz-transform:rotate(-90deg);-ms-transform:rotate(-90deg);-o-transform:rotate(-90deg);transform:rotate(-90deg)}.quiz-result .result-grade svg circle{stroke:var(--lp-primary-color)}.quiz-result.passed .result-grade svg{-webkit-transform:rotate(-90deg);-moz-transform:rotate(-90deg);-ms-transform:rotate(-90deg);-o-transform:rotate(-90deg);transform:rotate(-90deg)}.quiz-result.passed .result-grade .result-achieved{color:#333}.quiz-result.passed .result-grade .result-message strong{color:#4caf50}.quiz-questions .question{margin-bottom:60px}.question .answer-option{padding:0;_border:2px solid #d9e0f1;background:#fff}.question .answer-option input[type=radio],.question .answer-option input[type=checkbox]{position:absolute;top:50%;margin:-19px 0 0 10px;border-color:#d9e0f1;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.question .answer-option input[type=radio]::after,.question .answer-option input[type=checkbox]::after{border-color:#d9e0f1}.question .answer-option input[type=radio]:disabled,.question .answer-option input[type=checkbox]:disabled{border-color:#ddd;background:#f9f9f9}.question .answer-option input[type=radio]:disabled::after,.question .answer-option input[type=checkbox]:disabled::after{border-color:#ddd}.question .answer-option input[type=radio]:checked:not(:disabled)::after,.question .answer-option input[type=checkbox]:checked:not(:disabled)::after{border-color:#99aee4}.question .answer-option input[type=radio]{-webkit-border-radius:50%;-moz-border-radius:50%;border-radius:50%}.question .answer-option input[type=radio]::before{border-radius:50%}.question .answer-option .option-title{display:flex;width:100%;margin:0;padding:14px 10px 11px 65px;border:1px solid #ccc;color:#666;background:#fff;font-size:16px;font-weight:300;line-height:26px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.question .answer-option .option-title::after{display:inline-block;visibility:hidden !important;content:"."}.question .answer-option .option-title:hover{background:#f9f9f9}.question .answer-option .option-title::before{display:none}.question .answer-option.answer-correct .option-title{border-color:#4caf50}.question .answer-option.answered-wrong .option-title{border-color:#ff6423}.question .question-title{display:block;margin-top:0;margin-bottom:18px;color:#333;font-size:18px;font-weight:500}.question .question-title .edit-link{float:right;font-size:14px;font-weight:normal}.question .question-content{margin-bottom:30px;color:#666;font-size:16px;font-weight:300;line-height:26px}.question .question-content img{width:100%;max-width:100%}.question .question-response{margin-bottom:10px;font-size:14px}.question .question-response .label{display:inline-block;margin:0 5px 0 0;padding:8px 10px;border-radius:4px;color:#fff;line-height:1}.question .question-response .point{display:inline-block}.question .question-response.correct .label{background:#4caf50}.question .question-response.incorrect .label{background:#ff6423}.question .question-index{display:inline-block;margin:0 5px 0 0}.question .btn-show-hint{position:relative;margin:0 0 0 10px;padding:0;outline:0;color:#00adff;background:transparent;font-size:0;text-decoration:none}.question .btn-show-hint::before{font-family:"Font Awesome 5 Free";font-size:18px;content:"\f059"}.question .btn-show-hint:hover span{position:absolute;bottom:100%;left:0;width:auto;padding:6px 9px;border-radius:2px;color:#333;background:#eee;font-size:14px;font-weight:400;line-height:1;white-space:nowrap;text-transform:none}.question.question-fill_in_blanks .blanks .blank-input-wrap{display:inline-block}.question.question-fill_in_blanks .blanks .blank-block{margin-bottom:20px}.question.question-fill_in_blanks .blanks .blank-input{display:inline-block;width:auto;min-width:50px;margin:0 10px;padding:0 10px;border:0;border-bottom:1px dashed #ddd;text-align:center;white-space:nowrap}.question.question-fill_in_blanks .blanks .blank-input br{display:none}.question.question-fill_in_blanks .blanks .blank-input>*{display:inline;white-space:nowrap}.question.question-fill_in_blanks .blanks .blank-select{display:inline-block;height:30px;margin-left:4px;padding:1px}.question.question-fill_in_blanks .blanks .blank-fills{display:inline-block}.question.question-fill_in_blanks .blanks .blank-fills code{margin:0 5px;padding:0 6px;background:#ddd;line-height:1;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.question.question-fill_in_blanks .blanks.ordered{list-style-position:inside}.question.question-fill_in_blanks .blanks.one-paragraph{line-height:3}.lp-sort-bg label.option-title{background:rgba(255,182,6,0.68) !important}.learn-press-message.fixed{position:fixed;top:32px;left:0;right:0;background:rgba(0,173,255,0.6);text-align:center;z-index:100;color:#FFF;padding:10px}.learn-press-message.fixed[data-delay-in]{display:none}.lp-archive-courses ul{list-style-type:revert;padding:0 0 23px 1em}.lp-archive-courses ul.learn-press-breadcrumb,.lp-archive-courses ul.course-nav-tabs{list-style:none;padding:0}@media(max-width:768px){.lp-archive-courses ul.learn-press-breadcrumb,.lp-archive-courses ul.course-nav-tabs{padding-left:15px;padding-right:15px}}.lp-archive-courses ul,.lp-archive-courses ol{list-style-type:decimal;list-style-position:inside;padding:0 0 23px}.lp-archive-courses ol ul{padding:2px 0 2px 35px}.lp-archive-courses ol ol{padding:2px 0 2px 20px}.lp-archive-courses thead th,.lp-archive-courses tr th{padding:9px 24px}.lp-archive-courses tr td{border-top:1px solid #eee;padding:6px 24px}.learnpress #left-area ul,.learnpress .entry-content ul,.learnpress .et-l--body ul,.learnpress .et-l--footer ul,.learnpress .et-l--header ul{padding:0 !important;list-style:none !important}.learnpress.dt-the7 .learn-press-filters{margin-bottom:20px}.learnpress.dt-the7 .learn-press-courses[data-size="3"] .course{width:50%}.bridge.learnpress .lp-archive-courses{margin-top:100px}.bridge.learnpress .lp-archive-courses ul.learn-press-breadcrumb{padding-top:45px}.bridge.learnpress .content{z-index:110}.bridge.learnpress .comment-respond .comment-form{margin:0}.bridge.learnpress .comment-respond .comment-form>p,.bridge.learnpress .comment-respond .comment-form>div{padding:0}.bridge.learnpress.learnpress-profile .content{z-index:100}.bridge.learnpress #learn-press-item-comments{background:#f6f6f6}.learnpress.ast-separate-container .ast-article-single{padding-left:15px;padding-right:15px}body.learnpress-page.twentysixteen #primary .lp-entry-content{float:none;width:auto;margin:0 15%}body.learnpress-page.twentyfifteen .course-summary-sidebar .widget{width:100%;padding:0}body.learnpress-page.twentysixteen .entry-footer{display:none}body.learnpress-page.twentysixteen .lp-entry-content{float:none;width:auto}body.learnpress-page.twentyseventeen #primary article.type-page{width:100%}@media screen and (min-width:61.5625em){body.twentysixteen.learnpress-page .entry-footer{display:none}body.twentysixteen.learnpress-page .lp-entry-content{float:none;width:auto}body:not(.search-results) article:not(.type-page) .entry-footer{display:none}body:not(.search-results) article:not(.type-page) .lp-entry-content{float:none;width:auto}}body.twentyseventeen.learnpress-page #primary article.page .entry-header,body.twentyseventeen.learnpress-page #primary article.page .lp-entry-content{width:100%;float:none}@media screen and (min-width:48em){body.twentyseventeen.learnpress-page #primary article.page .entry-header,body.twentyseventeen.learnpress-page #primary article.page .lp-entry-content{width:100%;float:none}}.learn-press-tip{display:none;margin:0 5px;color:#444;font-size:13px;font-style:normal;line-height:1;vertical-align:baseline;cursor:pointer}.learn-press-tip.ready{display:inline-block}.learn-press-tip::before{font-family:"Font Awesome 5 Free";content:"\f059"}.learn-press-tip:hover{opacity:.8}.learn-press-tip-floating{position:absolute;z-index:9999999;min-width:20px;margin-left:-1px;padding:.618em 1em;color:#fff;background:#383838;font-size:12px;line-height:1.2em;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.learn-press-tip-floating>*{font-size:12px}.learn-press-tip-floating .close{display:inline-block;position:absolute;top:-8px;right:-8px;width:16px;height:16px;border:1px solid #fff;color:#fff;background:#468fbc;line-height:16px;text-align:center;cursor:pointer;-webkit-border-radius:50%;-moz-border-radius:50%;border-radius:50%}.learn-press-tip-floating .close::before{font-family:"Font Awesome 5 Free";content:"\f00d"}.learn-press-tip-floating p{margin:0}.learn-press-tip-floating::before{position:absolute;bottom:-6px;left:50%;width:0;height:0;margin-left:-6px;border:6px solid transparent;border-top-color:#383838;border-bottom-width:0;content:""}body.lp-preview.admin-bar #learn-press-content-item{top:32px !important}body.lp-preview #learn-press-course-curriculum{display:none}body.lp-preview #learn-press-content-item{top:0 !important;left:0 !important}@-webkit-keyframes rotating4{from{-webkit-transform:rotate(0);-o-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(360deg);-o-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes rotating4{from{-ms-transform:rotate(0);-moz-transform:rotate(0);-webkit-transform:rotate(0);-o-transform:rotate(0);transform:rotate(0)}to{-ms-transform:rotate(360deg);-moz-transform:rotate(360deg);-webkit-transform:rotate(360deg);-o-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes animation4{from{left:-40%;width:40%}to{left:100%;width:10%}}@keyframes animation4{from{left:-40%;width:40%}to{left:100%;width:10%}}#popup_container{opacity:0;transform:scale(0.5)}body.confirm #popup_overlay{z-index:999998 !important}body.confirm #popup_container{z-index:999999 !important;max-width:90% !important;min-width:300px !important;padding:10px !important;background:#f5f5f5;transition:opacity .25s;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}body.confirm #popup_container #popup_title{display:none !important}body.confirm #popup_container #popup_message{margin:-10px;background:#FFF;padding:20px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}body.confirm #popup_container .close{position:absolute;top:3px;right:10px}body.confirm #popup_container #popup_panel{margin-top:20px;text-align:center}body.confirm #popup_container #popup_panel button,body.confirm #popup_container #popup_panel input[type=button],body.confirm #popup_container #popup_panel input[type=submit]{height:30px;line-height:30px;padding:0 25px}body.confirm #popup_container #popup_cancel{display:none}body.confirm #popup_container.ready{opacity:1;transform:scale(1)}a{text-decoration:none}.lp-content-area{width:100%;max-width:1170px;margin:0 auto}@media(max-width:1024px){.lp-content-area{padding-right:15px;padding-left:15px}}.lp-content-area::after,.lp-content-area::before{display:table;clear:both;content:""}.lp-archive-courses{width:100%;scroll-margin:30px}.lp-archive-courses.loading ul.learn-press-courses{position:relative}.lp-archive-courses.loading ul.learn-press-courses::before,.lp-archive-courses.loading ul.learn-press-courses::after{content:"";position:absolute;top:0;bottom:0;left:15px;right:15px}.lp-archive-courses.loading ul.learn-press-courses::after{z-index:3;background:#f3f3f3;background:linear-gradient(90deg,hsla(0,0%,74.5%,0.2) 25%,hsla(0,0%,50.6%,0.24) 37%,hsla(0,0%,74.5%,0.2) 63%);background-size:400% 100%;list-style:none;animation:lp-skeleton-loading 1.4s ease infinite}.lp-archive-courses.loading ul.learn-press-courses::before{z-index:2;opacity:.8%;background:#fff}.lp-archive-courses form[name=search-course]{position:relative;margin-bottom:20px}.lp-archive-courses form[name=search-course] .search-course-input{width:100%;padding:12px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.lp-archive-courses form[name=search-course] .search-course-button{position:absolute;top:1px;right:1px;bottom:1px;height:auto;padding:15px;line-height:1px}.lp-archive-courses .learn-press-courses-header{float:left;padding-top:4px}.lp-archive-courses .learn-press-courses-header h1{margin:0;font-size:30px;font-weight:600}@media(max-width:767px){.lp-archive-courses .learn-press-courses-header{margin-bottom:20px}}.lp-archive-courses .course-item{flex-direction:column;display:flex;transition:all .3s}.lp-archive-courses .course-item:hover .course-thumbnail .thumbnail::before{opacity:1}.lp-archive-courses .course-item:hover .course-thumbnail a img{transform:scale(1.05)}.lp-archive-courses .course-item:hover .course-wishlist{opacity:1}.lp-archive-courses .course-item .course-wishlist.filled{opacity:1}.lp-archive-courses .course-item .course-instructor{float:left;margin-bottom:16px;font-size:14px;font-weight:300;line-height:25px;text-transform:capitalize}.lp-archive-courses .course-item .course-instructor a{color:#059de9}.lp-archive-courses .course-item .course-instructor a:hover{color:var(--lp-primary-color)}.lp-archive-courses .course-content{position:relative;border-top:0}.lp-archive-courses .course-content .course-permalink{display:-webkit-box;clear:both;overflow:hidden;position:relative;border:0;color:#fff;text-decoration:none;text-transform:none;-webkit-line-clamp:2;-webkit-box-orient:vertical;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.lp-archive-courses .course-content .course-permalink:focus{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.lp-archive-courses .course-content .course-review{display:none}.lp-archive-courses .course-content .course-categories,.lp-archive-courses .course-content .course-tags{display:block;font-size:14px;font-weight:300}.lp-archive-courses .course-content .course-categories{float:left;position:relative;margin-right:10px;margin-bottom:16px}.lp-archive-courses .course-content .course-categories a{display:inline-block;display:none;margin:0 10px;color:#fff;text-decoration:none}.lp-archive-courses .course-content .course-categories a:first-child{display:block;margin-left:0;padding:2px 16px;background:var(--lp-primary-color)}.lp-archive-courses .course-content .course-categories a:hover{color:#333}.lp-archive-courses .course-content .course-categories::after{position:absolute;top:50%;right:-2px;width:1px;height:12px;opacity:.5;background:#999;content:"";transform:translate(0,-50%)}.lp-archive-courses .course-content .course-info{color:#666;font-size:14px;font-weight:300}.lp-archive-courses .course-content .course-info>span{display:block}.lp-archive-courses .course-content .course-info .course-price{float:right}.lp-archive-courses .course-content .course-info .course-price .origin-price,.lp-archive-courses .course-content .course-info .course-price .price{color:#333;font-size:16px;font-weight:600}.lp-archive-courses .course-content .course-info .course-price .origin-price{margin-right:10px;color:#666;font-size:14px;font-weight:300;text-decoration:line-through}.lp-archive-courses .course-content .course-info .course-instructor{float:right}.lp-archive-courses .course-content .course-info::after{display:block;clear:both;content:""}.lp-archive-courses .course-content .course-excerpt{display:-webkit-box;overflow:hidden;margin-bottom:28px;color:#666;font-size:16px;font-weight:300;line-height:26px;-webkit-line-clamp:2;-webkit-box-orient:vertical}.lp-archive-courses .course-content .separator{display:none}.lp-archive-courses .course-wrap-thumbnail{overflow:hidden;position:relative}.lp-archive-courses .course-wrap-thumbnail .lp-badge.featured{position:absolute;z-index:100;top:28px;left:-110px;width:300px;text-align:center;transform:rotate(-45deg)}.lp-archive-courses .course-wrap-thumbnail .course-wishlist{position:absolute;z-index:2;top:6px;right:6px;opacity:0;color:#fff;cursor:pointer}.lp-archive-courses .course-wrap-thumbnail .course-wishlist::before{font-family:"Font Awesome 5 Free";font-weight:900;content:"\f004"}.lp-archive-courses .course-wrap-thumbnail .course-wishlist .course-wishlist__btn{display:none}.lp-archive-courses .course-wrap-thumbnail .course-wishlist:hover{color:var(--lp-primary-color)}.lp-archive-courses .course-wrap-thumbnail:hover::before{opacity:1}.lp-archive-courses .course-wrap-thumbnail:hover .course-thumbnail a img{transform:scale(1.05)}.lp-archive-courses .course-wrap-thumbnail:hover .course-wishlist{opacity:1}.lp-archive-courses .course-thumbnail a{display:block;overflow:hidden}.lp-archive-courses .course-thumbnail .thumbnail{margin:0;padding:0;border:0;border-radius:unset;line-height:unset}.lp-archive-courses .course-thumbnail .thumbnail::before{position:absolute;z-index:1;top:0;right:0;bottom:0;left:0;opacity:0;background:rgba(0,0,0,0.5);content:"";transition:all .3s}.lp-archive-courses .course-thumbnail img{display:block;width:100%;height:auto;transition:all .5s ease;transform:scale(1)}.lp-archive-courses .course-title{margin:0;padding:0;color:#333;font-size:16px;font-weight:600;line-height:24px}.lp-archive-courses .course-title:hover{color:var(--lp-primary-color)}@media(min-width:769px){.lp-archive-courses .course-summary-content .course-info-left{width:calc(100% - 330px)}}.lp-archive-courses .course-summary-content .course-title{margin-bottom:42px;color:#fff;font-size:1.5rem;font-weight:500;line-height:1}.lp-archive-courses .course-summary-content .course-meta.course-meta-secondary{margin-bottom:0}@media(max-width:768px){.lp-archive-courses .course-summary-content{width:100%}}.lp-archive-courses .course-detail-info{padding:40px 0 10px 0;color:#fff;background:var(--lp-secondary-color);position:relative}.lp-archive-courses .course-detail-info::before,.lp-archive-courses .course-detail-info::after{content:"";width:50%;height:100%;background:var(--lp-secondary-color);position:absolute;top:0}.lp-archive-courses .course-detail-info::before{right:100%;left:auto}.lp-archive-courses .course-detail-info::after{left:100%;right:auto}.lp-archive-courses .course-meta__pull-left .meta-item{display:flex;height:46px;margin-right:50px;font-size:16px;font-weight:300;text-transform:capitalize}.lp-archive-courses .course-meta__pull-left .meta-item span{padding-right:4px;padding-left:0}.lp-archive-courses .course-meta__pull-left .meta-item:last-child{margin-right:0}.lp-archive-courses .course-meta__pull-left .meta-item::before{margin-right:8px;color:var(--lp-primary-color);font-family:"Font Awesome 5 Free";font-weight:900}.lp-archive-courses .course-meta__pull-left .meta-item .meta-item__image{margin-right:10px;flex:0 0 46px}.lp-archive-courses .course-meta__pull-left .meta-item .meta-item__image img{overflow:hidden;position:relative;width:46px;height:46px;border-radius:50%}.lp-archive-courses .course-meta__pull-left .meta-item.meta-item-duration::before{content:"\f017"}.lp-archive-courses .course-meta__pull-left .meta-item.meta-item-level::before{content:"\f012"}.lp-archive-courses .course-meta__pull-left .meta-item.meta-item-lesson::before{content:"\f0c5"}.lp-archive-courses .course-meta__pull-left .meta-item.meta-item-quiz::before{content:"\f12e"}.lp-archive-courses .course-meta__pull-left .meta-item.meta-item-student::before{content:"\f501"}@media(max-width:1024px){.lp-archive-courses .course-meta__pull-left .meta-item{margin-right:30px}}@media(max-width:767px){.lp-archive-courses .course-meta__pull-left .meta-item{margin-right:0}}.lp-archive-courses .course-meta__pull-left .meta-item__value label{margin:0;color:#999;font-size:14px;font-weight:300;line-height:1.5}.lp-archive-courses .course-meta__pull-left .meta-item__value>div{line-height:1.5}.lp-archive-courses .course-meta__pull-left .meta-item__value>div a{color:#fff;font-size:16px;font-weight:400;text-transform:capitalize}.lp-archive-courses .course-meta__pull-left .meta-item__value>div a:hover{color:var(--lp-primary-color)}.lp-archive-courses .course-meta__pull-left .meta-item-categories{align-items:center}.lp-archive-courses .course-meta__pull-left .meta-item-categories::before{margin-right:10px;font-size:36px;content:"\f02e"}.lp-archive-courses .course-meta__pull-left .meta-item-categories .meta-item__value div span{padding:0 5px}.lp-archive-courses .course-meta__pull-left .meta-item-categories .meta-item__value div a:hover{color:var(--lp-primary-color)}.lp-archive-courses .course-meta__pull-left .meta-item-review .meta-item__value{display:flex;flex-direction:column-reverse;justify-content:flex-end;align-items:flex-end}.lp-archive-courses .course-meta__pull-left .meta-item-review .meta-item__value .review-stars-rated{margin-bottom:0;line-height:1}@media(max-width:767px){.lp-archive-courses .course-meta__pull-left{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:20px}}.lp-archive-courses .course-meta-primary{margin-bottom:36px}.lp-archive-courses .course-meta-primary .meta-item-categories::before{font-weight:400}.lp-archive-courses .lp-entry-content{display:flex;flex-direction:row}.lp-archive-courses .lp-entry-content .entry-content-left{width:calc(100% - 300px);max-width:100%;margin:0;padding-right:40px;padding-top:60px}@media(max-width:768px){.lp-archive-courses .lp-entry-content .entry-content-left{width:100%;padding-right:0;margin-bottom:50px}}@media(max-width:768px){.lp-archive-courses .lp-entry-content{flex-direction:column}}.lp-archive-courses .course-summary-sidebar{width:300px;max-width:100%;margin-top:-272px}@media(max-width:768px){.lp-archive-courses .course-summary-sidebar{width:100%;margin-top:0}.lp-archive-courses .course-summary-sidebar .course-summary-sidebar__inner{width:100%}}@media(max-width:767px){.lp-archive-courses .course-summary-sidebar{width:100%;padding-left:0}}.lp-archive-courses .course-summary-sidebar__inner{width:300px}.lp-archive-courses .course-summary-sidebar__inner .course-sidebar-top{box-shadow:0 15px 20px 0 rgba(0,0,0,0.05)}.lp-archive-courses .course-summary-sidebar__inner .course-sidebar-secondary{margin-top:30px;padding:0}.lp-archive-courses .course-summary-sidebar__inner .learn-press-course-wishlist{color:#fff;background:transparent !important;font-size:0}.lp-archive-courses .course-summary-sidebar__inner .learn-press-course-wishlist.on,.lp-archive-courses .course-summary-sidebar__inner .learn-press-course-wishlist:hover{color:var(--lp-primary-color)}.lp-archive-courses .course-summary-sidebar__inner .learn-press-course-wishlist::before{font-family:"Font Awesome 5 Free";font-size:16px;font-weight:900;content:"\f004"}.lp-archive-courses .course-summary-sidebar__inner>div{overflow:hidden;padding:20px;background:#fff}.lp-archive-courses .course-summary-sidebar__inner>div ul{list-style:none}.lp-archive-courses .course-summary-sidebar__inner>div ul li a{color:#666;font-size:16px;font-weight:300;line-height:24px}.lp-archive-courses .course-summary-sidebar__inner>div ul li a:hover{color:var(--lp-primary-color);box-shadow:unset}.learn-press-courses{clear:both;margin:0 -15px;padding:0 !important;min-height:300px;list-style:none;position:relative;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-moz-flex;display:-webkit-flex;display:flex;-webkit-flex-wrap:wrap;flex-wrap:wrap}.learn-press-courses .course{width:25%;margin:0 0 60px 0;box-shadow:none;list-style:none}.learn-press-courses[data-layout=list]{margin:0}.learn-press-courses[data-layout=list] .course{display:flex;width:100%;padding:24px;border:1px solid rgba(204,204,204,0.3);border-radius:4px;flex-wrap:wrap;justify-content:flex-end}@media(max-width:767px){.learn-press-courses[data-layout=list] .course{padding:15px}}.learn-press-courses[data-layout=list] .course-item{flex-direction:row;width:100%;border:unset;justify-content:space-between}@media(max-width:767px){.learn-press-courses[data-layout=list] .course-item{flex-direction:column}}.learn-press-courses[data-layout=list] .course-content{float:right;width:calc(64.2% - 76px);padding-top:5px}@media(max-width:1200px){.learn-press-courses[data-layout=list] .course-content{width:calc(64.2% - 40px)}}@media(max-width:1200px){.learn-press-courses[data-layout=list] .course-content{width:calc(64.2% - 25px)}}@media(max-width:767px){.learn-press-courses[data-layout=list] .course-content{width:100%;padding-top:20px}}.learn-press-courses[data-layout=list] .course-content .course-categories a{position:relative;padding:2px 20px 2px 15px;-webkit-clip-path:polygon(0 0,100% 0,88% 50%,100% 100%,0 100%);clip-path:polygon(0 0,100% 0,88% 50%,100% 100%,0 100%)}.learn-press-courses[data-layout=list] .course-content .course-permalink{height:25px;margin-bottom:5px;-webkit-line-clamp:1}.learn-press-courses[data-layout=list] .course-content .course-tags a{margin:0 10px 10px 0;padding:3px 5px;border-radius:3px;color:#fff;background:#e4a2a2;line-height:1}.learn-press-courses[data-layout=list] .course-content .course-footer{float:left;margin-right:20px}.learn-press-courses[data-layout=list] .course-content .course-footer .course-students{display:none}.learn-press-courses[data-layout=list] .course-content .course-footer .course-price{float:unset}@media(max-width:767px){.learn-press-courses[data-layout=list] .course-content .course-footer{margin-bottom:30px}}.learn-press-courses[data-layout=list] .course-content .course-readmore{float:right;position:relative;right:4px}.learn-press-courses[data-layout=list] .course-content .course-readmore a{padding:9px 24px;border-radius:3px;color:#fff;background:var(--lp-primary-color);font-weight:400;line-height:1;transition:all .3s;display:block}.learn-press-courses[data-layout=list] .course-content .course-readmore a:hover{opacity:.5;background:var(--lp-primary-color)}@media(max-width:767px){.learn-press-courses[data-layout=list] .course-content .course-readmore{display:flex;float:unset;clear:both}}.learn-press-courses[data-layout=list] .course-wrap-meta{display:flex;padding-top:12px;padding-bottom:18px;color:#333;font-size:14px;font-weight:400}.learn-press-courses[data-layout=list] .course-wrap-meta .meta-item{padding-right:28px;text-transform:capitalize}@media(max-width:1024px){.learn-press-courses[data-layout=list] .course-wrap-meta .meta-item{padding-right:20px}}.learn-press-courses[data-layout=list] .course-wrap-meta .meta-item::before{position:relative;top:-1px;margin-right:8px;color:var(--lp-primary-color);font-family:"Font Awesome 5 Free";font-weight:900}.learn-press-courses[data-layout=list] .course-wrap-meta .meta-item-level::before{content:"\f012"}.learn-press-courses[data-layout=list] .course-wrap-meta .meta-item-duration::before{content:"\f017"}.learn-press-courses[data-layout=list] .course-wrap-meta .meta-item-lesson::before{content:"\f0c5"}.learn-press-courses[data-layout=list] .course-wrap-meta .meta-item-quiz::before{content:"\f12e"}.learn-press-courses[data-layout=list] .course-wrap-meta .meta-item-student::before{content:"\f501"}@media(max-width:815px){.learn-press-courses[data-layout=list] .course-wrap-meta{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:15px}.learn-press-courses[data-layout=list] .course-wrap-meta .meta-item{padding-right:15px}}@media(max-width:767px){.learn-press-courses[data-layout=list] .course-wrap-meta{grid-template-columns:repeat(3,1fr)}}.learn-press-courses[data-layout=list] .course-wrap-thumbnail{float:left;width:35.8%}@media(max-width:767px){.learn-press-courses[data-layout=list] .course-wrap-thumbnail{width:100%}}.learn-press-courses[data-layout=list] .course-title{font-size:18px}.learn-press-courses[data-layout=grid] .course{padding:0 15px}@media(max-width:992px){.learn-press-courses[data-layout=grid] .course{width:50%}}@media(max-width:767px){.learn-press-courses[data-layout=grid] .course{width:100%}}.learn-press-courses[data-layout=grid] .course-item:hover{box-shadow:0 15px 20px 0 rgba(0,0,0,0.2)}.learn-press-courses[data-layout=grid] .course-item .course-instructor{margin-bottom:7px}.learn-press-courses[data-layout=grid] .course-content{padding:15px 20px 12px 20px;border:1px solid #f0f0f0;border-top:0;flex-grow:1}.learn-press-courses[data-layout=grid] .course-content .course-categories{float:right;position:absolute;z-index:1;top:-34px;right:-1px;margin-right:0}.learn-press-courses[data-layout=grid] .course-content .course-categories::after{display:none}.learn-press-courses[data-layout=grid] .course-content .course-categories a{position:relative;margin:0;padding:2px 12px 2px 22px;-webkit-clip-path:polygon(0 0,100% 0,100% 100%,0 100%,12px 50%);clip-path:polygon(0 0,100% 0,100% 100%,0 100%,12px 50%)}.learn-press-courses[data-layout=grid] .course-content .course-permalink{height:48px;margin-bottom:20px}.learn-press-courses[data-layout=grid] .course-content .course-info{display:flex;flex-direction:column;flex-grow:1}.learn-press-courses[data-layout=grid] .course-content .course-wrap-meta,.learn-press-courses[data-layout=grid] .course-content .course-excerpt,.learn-press-courses[data-layout=grid] .course-content .course-readmore{display:none}.learn-press-courses[data-layout=grid] .course-content .course-footer{padding-top:18px;border-top:1px solid rgba(153,153,153,0.2)}.learn-press-courses[data-layout=grid] .course-content .course-footer .course-students{float:left;text-transform:capitalize}.learn-press-courses[data-layout=grid] .course-content .course-footer .course-students::before{position:relative;top:-1px;margin-right:8px;color:var(--lp-primary-color);font-family:"Font Awesome 5 Free";font-weight:900;content:"\f501"}.learn-press-courses[data-layout=grid] .learn-press-message{margin-left:15px;margin-right:15px}.learn-press-courses[data-size="3"] .course{width:33.3333%}@media(max-width:767px){.learn-press-courses[data-size="3"] .course{width:100%}}.learn-press-courses .lp-archive-course-skeleton{position:absolute;height:100%;background:linear-gradient(90deg,hsla(0,0%,74.5%,0.2) 25%,hsla(0,0%,50.6%,0.24) 37%,hsla(0,0%,74.5%,0.2) 63%);animation:lp-skeleton-loading 1.4s ease infinite;background-size:400% 100%}.learn-press-courses .lp-archive-course-skeleton li{display:none}.lp-courses-bar{display:flex;float:right;margin-bottom:48px}@media(max-width:767px){.lp-courses-bar{flex-direction:row;width:100%;justify-content:space-between}}.lp-courses-bar .search-courses{position:relative;width:306px;max-width:100%;margin-right:20px;line-height:1;flex:1}.lp-courses-bar .search-courses input[type=text]{width:100%;height:44px;padding:6px 32px 6px 18px;border:1px solid #ccc;border-radius:5px;background:#fff;font-size:14px;font-style:italic;line-height:1}.lp-courses-bar .search-courses input[type=text]:focus{border-color:var(--lp-primary-color);outline:0}.lp-courses-bar .search-courses button{position:absolute;top:50%;right:12px;width:30px;height:30px;padding:0;border:0;color:#333;background:transparent;font-size:16px;line-height:1;transform:translate(0,-50%)}.lp-courses-bar .search-courses button:focus{border:0;outline:0}.lp-courses-bar .search-courses button.loading>i::before{display:inline-block;font-family:"Font Awesome 5 Free";font-weight:900;content:"\f110";-webkit-animation:lp-rotating 1s linear infinite;-moz-animation:lp-rotating 1s linear infinite;animation:lp-rotating 1s linear infinite}.lp-courses-bar .search-courses ::-webkit-input-placeholder{color:#999}.lp-courses-bar .search-courses :-ms-input-placeholder{color:#999}.lp-courses-bar .search-courses ::placeholder{color:#999}@media(max-width:767px){.lp-courses-bar .search-courses{width:100%}}.lp-courses-bar .switch-layout{display:flex;height:44px;line-height:1;text-align:right;flex:0 0 40px;align-items:center;justify-content:center}.lp-courses-bar .switch-layout input[type=radio]{display:none}.lp-courses-bar .switch-layout .switch-btn{display:block;width:40px;height:40px;margin:0;padding:0;border-radius:5px;font-size:16px;line-height:40px;text-align:center;cursor:pointer}.lp-courses-bar .switch-layout .switch-btn::before{display:inline-block;margin:8px 6px;color:#333;font-family:"Font Awesome 5 Free";font-weight:900;line-height:1}.lp-courses-bar .switch-layout .switch-btn.grid::before{content:"\f00a"}.lp-courses-bar .switch-layout .switch-btn.list{margin-left:3px}.lp-courses-bar .switch-layout .switch-btn.list::before{content:"\f03a"}input[type=radio]:nth-child(1):checked ~ .switch-btn:nth-child(2){background:#f5f5f5}input[type=radio]:nth-child(1):checked ~ .switch-btn:nth-child(2)::before{color:var(--lp-primary-color)}input[type=radio]:nth-child(3):checked ~ .switch-btn:nth-child(4){background:#f5f5f5}input[type=radio]:nth-child(3):checked ~ .switch-btn:nth-child(4)::before{color:var(--lp-primary-color)}input[type=radio]:nth-child(5):checked ~ .switch-btn:nth-child(6){background:#f5f5f5}input[type=radio]:nth-child(5):checked ~ .switch-btn:nth-child(6)::before{color:var(--lp-primary-color)}input[type=radio]:nth-child(7):checked ~ .switch-btn:nth-child(8){background:#f5f5f5}input[type=radio]:nth-child(7):checked ~ .switch-btn:nth-child(8)::before{color:var(--lp-primary-color)}input[type=radio]:nth-child(9):checked ~ .switch-btn:nth-child(10){background:#f5f5f5}input[type=radio]:nth-child(9):checked ~ .switch-btn:nth-child(10)::before{color:var(--lp-primary-color)}input[type=radio]:nth-child(11):checked ~ .switch-btn:nth-child(12){background:#f5f5f5}input[type=radio]:nth-child(11):checked ~ .switch-btn:nth-child(12)::before{color:var(--lp-primary-color)}input[type=radio]:nth-child(13):checked ~ .switch-btn:nth-child(14){background:#f5f5f5}input[type=radio]:nth-child(13):checked ~ .switch-btn:nth-child(14)::before{color:var(--lp-primary-color)}input[type=radio]:nth-child(15):checked ~ .switch-btn:nth-child(16){background:#f5f5f5}input[type=radio]:nth-child(15):checked ~ .switch-btn:nth-child(16)::before{color:var(--lp-primary-color)}input[type=radio]:nth-child(17):checked ~ .switch-btn:nth-child(18){background:#f5f5f5}input[type=radio]:nth-child(17):checked ~ .switch-btn:nth-child(18)::before{color:var(--lp-primary-color)}input[type=radio]:nth-child(19):checked ~ .switch-btn:nth-child(20){background:#f5f5f5}input[type=radio]:nth-child(19):checked ~ .switch-btn:nth-child(20)::before{color:var(--lp-primary-color)}.lp_allow_repuchase_select{padding:20px;background:#f7f7f7}.lp_allow_repuchase_select>ul{padding:0;list-style:none}.lp_allow_repuchase_select>a{display:inline-block;margin-top:10px;color:#fff;background-color:#222}.comment-respond .comment-reply-title{font-size:30px;font-weight:500;line-height:1.2;margin-bottom:15px}.comment-respond .comment-form{margin:0 -15px}.comment-respond .comment-form>p label{display:block;margin-bottom:10px;font-size:16px;font-weight:500}.comment-respond .comment-form>p.comment-notes,.comment-respond .comment-form>p.logged-in-as{color:#666;font-size:16px}.comment-respond .comment-form>p.logged-in-as a{color:#666;text-decoration:underline}.comment-respond .comment-form>p.logged-in-as a:hover,.comment-respond .comment-form>p.logged-in-as a:focus{color:var(--lp-primary-color)}.comment-respond .comment-form>p.comment-form-cookies-consent{clear:both}.comment-respond .comment-form>p.comment-form-cookies-consent input{padding:0;margin-right:8px}.comment-respond .comment-form>p.comment-form-cookies-consent label{display:inline}.comment-respond .comment-form>p,.comment-respond .comment-form>div{padding:0 15px;margin-bottom:15px}.comment-respond .comment-form input[type=text],.comment-respond .comment-form input[type=email],.comment-respond .comment-form input[type=url]{height:40px;line-height:normal;width:100% !important;margin-bottom:15px}.comment-respond .comment-form input[type=submit]{background-color:var(--lp-primary-color);border:0;min-height:40px;line-height:40px;padding:0 15px;font-size:16px;text-transform:capitalize;font-weight:500;margin-top:15px;cursor:pointer;color:white}.comment-respond .comment-form .comment-form-author,.comment-respond .comment-form .comment-form-email,.comment-respond .comment-form .comment-form-url{width:33.33%;float:left}@media(max-width:575px){.comment-respond .comment-form .comment-form-author,.comment-respond .comment-form .comment-form-email,.comment-respond .comment-form .comment-form-url{width:100%;float:unset}}.comment-respond .comment-form textarea,.comment-respond .comment-form input{border:1px solid #ccc;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;max-width:100%}.comment-respond .comment-form textarea{width:100%;display:block;padding:20px 15px;resize:none}.course-summary-sidebar .course-sidebar-preview{margin-bottom:35px;background:#fff}.course-summary-sidebar .lp-course-buttons{margin-bottom:34px}.course-summary-sidebar .lp-course-buttons>*{margin-bottom:10px}.course-summary-sidebar .lp-course-buttons>*:last-child{margin-bottom:0}.course-summary-sidebar .lp-course-buttons form,.course-summary-sidebar .lp-course-buttons button{width:100%;text-decoration:none}.course-summary-sidebar .lp-course-buttons button{font-weight:500}.course-summary-sidebar .lp-course-buttons button:hover{border-color:var(--lp-primary-color)}.course-summary-sidebar .lp-course-buttons button.button-enroll-course{border-color:var(--lp-primary-color);color:#fff;background:var(--lp-primary-color)}.course-summary-sidebar .lp-course-buttons button.button-enroll-course:hover{opacity:.5;background:var(--lp-primary-color)}.course-summary-sidebar .lp-course-buttons button.button-enroll-course.loading::before{display:inline-block;font-family:"Font Awesome 5 Free";font-weight:900;content:"\f110";animation:lp-rotating 1s linear infinite}.course-summary-sidebar .lp-course-buttons button ~ .lp-enroll-notice{margin-top:20px;padding:20px;border:2px solid #059601;border-radius:9px;font-size:15px;line-height:1.4}.course-summary-sidebar .lp-course-buttons button ~ .lp-enroll-notice.error{border-color:#d85554}.course-summary-sidebar .course-results-progress .items-progress,.course-summary-sidebar .course-results-progress .course-progress{display:flex;flex-direction:row;margin:0 0 5px;padding:0;justify-content:space-between;flex-wrap:wrap}.course-summary-sidebar .course-results-progress .items-progress__heading,.course-summary-sidebar .course-results-progress .course-progress__heading{margin:0;margin-bottom:7px;padding:0;color:#333;font-size:1rem;font-weight:500;flex:1 1 auto;width:auto}.course-summary-sidebar .course-results-progress .items-progress .learn-press-progress,.course-summary-sidebar .course-results-progress .course-progress .learn-press-progress{clear:both;width:100%}.course-summary-sidebar .course-results-progress .number{display:block;margin:0;color:#666;font-size:16px;font-weight:300;line-height:16px;text-align:right}.course-sidebar-preview .course-price{text-align:center}.course-sidebar-preview .course-price .origin-price{color:#666;font-size:18px;font-weight:300;font-style:unset}.course-sidebar-preview .course-price .price{color:#333;font-size:1.8rem;font-weight:500}.course-sidebar-preview .media-preview{overflow:hidden;position:relative;margin:-20px -20px 20px}.course-sidebar-preview .media-preview img{max-width:100%;height:auto;vertical-align:top}.course-sidebar-preview .course-time{margin-bottom:28px;padding-bottom:8px;border-bottom:1px solid rgba(204,204,204,0.3)}.course-sidebar-preview .course-time-row{display:flex;color:#666;font-size:16px;font-weight:300;justify-content:space-between}.course-sidebar-preview .course-time-row strong{color:#333;font-weight:500}.course-sidebar-preview .course-time-row time{color:#666;font-size:1rem;font-weight:300;line-height:24px}.course-sidebar-preview>*:last-child{margin-bottom:0}.learnpress-page .lp-button.secondary{background:#9198ab}.learnpress-page .lp-button.secondary:hover{background:#9ba6c5}.learnpress-page .lp-button:disabled,.learnpress-page .lp-button[disabled]{background:#ddd;pointer-events:none}.learnpress-page:hover{text-decoration:none}#popup-course{display:flex;position:fixed;z-index:99999;top:0;right:0;bottom:0;left:0;background:#fff}#popup-course .back-course{padding-left:30px;padding-right:30px;line-height:70px;background:rgba(255,255,255,0.1);color:#fff}#popup-course .back-course:hover{background:rgba(255,255,255,0.15)}@media(max-width:768px){#popup-course .back-course{background:transparent;opacity:.6;padding-left:15px;padding-right:15px}#popup-course .back-course:hover{background:transparent;opacity:1}}#popup-course #popup-header{display:flex;position:fixed;z-index:100;right:0;left:475px;padding:0;border-bottom:1px solid #d9e0f1;background:var(--lp-secondary-color);-webkit-transition:left .25s;-moz-transition:left .25s;-ms-transition:left .25s;-o-transition:left .25s;transition:left .25s}#popup-course #popup-header .course-title{margin:0;padding:0;line-height:70px;letter-spacing:unset}#popup-course #popup-header .course-title a{display:-webkit-box;overflow:hidden;color:#fff;font-size:16px;font-weight:400;text-overflow:ellipsis;-webkit-line-clamp:1;-webkit-box-orient:vertical}#popup-course #popup-header .course-title a:hover{color:var(--lp-primary-color)}@media(max-width:768px){#popup-course #popup-header .course-title{flex:1}}#popup-course #popup-header .items-progress{display:flex;justify-content:center;align-items:center;column-gap:10px}@media(max-width:768px){#popup-course #popup-header .items-progress{flex:1}}@media(max-width:767px){#popup-course #popup-header .items-progress{padding-bottom:20px;justify-content:end}}#popup-course #popup-header .number{padding-right:10px;color:#fff;font-size:14px;font-weight:300}#popup-course #popup-header .lp-button{display:flex;position:relative;height:40px;margin:9px;border:0;color:#fff;background:var(--lp-primary-color);font-size:14px;font-weight:400;justify-content:center;line-height:40px;align-items:center}#popup-course #popup-header .lp-button:hover{opacity:.8}#popup-course #popup-header .lp-button-back{float:right;margin:9px 10px}#popup-course #popup-header .lp-button-back button::before,#popup-course #popup-header .lp-button-back button::after{content:""}#popup-course #popup-header .lp-button-back button::before{border:1px solid #ddd}#popup-course #popup-header .lp-button-back button::after{border:1px solid #ddd}#popup-course .popup-header__inner{display:flex;width:792px;margin:0 auto;justify-content:space-between;align-items:center;padding-left:15px;padding-right:15px}@media(max-width:1024px){#popup-course .popup-header__inner{width:100%}}@media(max-width:767px){#popup-course .popup-header__inner{flex-direction:column}}#popup-course #popup-sidebar{overflow:auto;position:relative;box-shadow:0 15px 30px 0 rgba(0,0,0,0.1);flex:0 0 475px;-webkit-transition:.25s;-moz-transition:.25s;-ms-transition:.25s;-o-transition:.25s;transition:.25s}#popup-course #popup-sidebar .search-course{display:flex;position:relative;height:70px;background:#f9fafc}#popup-course #popup-sidebar .search-course input[name=s]{display:block;width:100%;margin:6px 0;padding-left:20px;border:0;color:#999;background:transparent;box-shadow:none;font-size:14px;line-height:1;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}#popup-course #popup-sidebar .search-course input[name=s]::-webkit-input-placeholder{color:#999}#popup-course #popup-sidebar .search-course input[name=s]::-moz-placeholder{color:#999}#popup-course #popup-sidebar .search-course input[name=s]:-ms-input-placeholder{color:#999}#popup-course #popup-sidebar .search-course input[name=s]:-moz-placeholder{color:#999}#popup-course #popup-sidebar .search-course input[name=s]::placeholder{color:#999}#popup-course #popup-sidebar .search-course input[name=s]::-webkit-input-placeholder{font-style:italic}#popup-course #popup-sidebar .search-course input[name=s]::-moz-placeholder{font-style:italic}#popup-course #popup-sidebar .search-course input[name=s]:-ms-input-placeholder{font-style:italic}#popup-course #popup-sidebar .search-course input[name=s]:-moz-placeholder{font-style:italic}#popup-course #popup-sidebar .search-course input[name=s]::placeholder{font-style:italic}#popup-course #popup-sidebar .search-course input[name=s]:focus{outline:0;color:#222}#popup-course #popup-sidebar .search-course button{position:absolute;top:0;right:10px;width:16px;height:70px;margin:0 10px;padding:0;border:0;background:transparent;line-height:1px}#popup-course #popup-sidebar .search-course button::before{color:#666;font-family:"Font Awesome 5 Free";font-size:16px;font-weight:900;content:"\f002"}#popup-course #popup-sidebar .search-course button.clear{display:none}#popup-course #popup-sidebar .search-course button.clear::before{content:"\f00d"}#popup-course #popup-sidebar .search-course .search-results{display:none;overflow:auto;position:fixed;z-index:99999999;top:92px;bottom:0;left:0;width:400px;margin:0;border-top-color:transparent;border-right:1px solid #d9e0f1;background:#fbfcff}#popup-course #popup-sidebar .search-course .search-results .search-results__item{border-bottom:1px solid #d9e0f1;background:#fff}#popup-course #popup-sidebar .search-course .search-results .search-results__item img{position:absolute;left:10px;width:40px;height:40px}#popup-course #popup-sidebar .search-course .search-results .search-results__item a{display:-webkit-box;overflow:hidden;position:relative;box-sizing:content-box;height:40px;padding:10px 10px 10px 60px;color:#777;text-overflow:ellipsis;-webkit-line-clamp:1;-webkit-box-orient:vertical}#popup-course #popup-sidebar .search-course .search-results .search-results__item:hover{background:#d9e0f1}#popup-course #popup-sidebar .search-course .search-results .search-results__item-title{overflow:hidden;margin:0 0 -2px 0;padding:0;font-size:16px;font-weight:normal}#popup-course #popup-sidebar .search-course .search-results .search-results__item-author{font-size:12px}#popup-course #popup-sidebar .search-course .search-results .course-price{position:absolute;right:10px;bottom:10px;font-size:12px}#popup-course #popup-sidebar .search-course .search-results .course-price .origin-price{font-size:smaller;text-decoration:line-through}#popup-course #popup-sidebar .search-course .search-results .search-results__not-found{padding:10px;color:#777}#popup-course #popup-sidebar .search-course .search-results .search-results__pagination{padding:10px;text-align:center}#popup-course #popup-sidebar .search-course .search-results .search-results__pagination a,#popup-course #popup-sidebar .search-course .search-results .search-results__pagination span{display:inline-block;margin:0 3px 10px 2px;padding:5px 8px;border:1px solid #d9e0f1;border-radius:4px;color:#777;font-size:14px;line-height:1;cursor:pointer}#popup-course #popup-sidebar .search-course .search-results .search-results__pagination span{color:#999;background:#d9e0f1}#popup-course #popup-sidebar .search-course.searching .search-results{display:block}#popup-course #popup-sidebar .search-course.searching .clear{display:block}#popup-course #popup-sidebar .search-course.searching button{display:none}#popup-course #popup-sidebar .search-course.searching::after{position:absolute;z-index:1;bottom:0;left:50%;width:0;height:0;margin-left:-10px;border:10px solid transparent;border-bottom-color:#fff;content:""}#popup-course #popup-sidebar .course-curriculum{overflow:auto;position:absolute;top:70px;bottom:0;width:475px}#popup-course #popup-sidebar .course-curriculum::-webkit-scrollbar-thumb{background:#ccc}#popup-course #popup-sidebar .course-curriculum::-webkit-scrollbar{width:6px}#popup-course #popup-sidebar .course-curriculum::-webkit-scrollbar-track{background:#f5f5f5}#popup-course #popup-sidebar .section{position:relative;padding:0 0 4px 0}#popup-course #popup-sidebar .section .circle-progress{display:inline-block;position:absolute;top:50%;right:10px;width:24px;height:24px;margin-top:-12px;border:3px solid #d9e0f1;border-radius:50%}#popup-course #popup-sidebar .section.section-empty .section-header{margin:0}#popup-course #popup-sidebar .section.section-empty .learn-press-message{margin:0;padding:10px;border-bottom:1px solid #d9e0f1;border-radius:0;color:#999;background:#f5f5f5;font-size:14px}#popup-course #popup-sidebar .section.section-empty .learn-press-message::before,#popup-course #popup-sidebar .section.section-empty .learn-press-message::after{position:absolute;z-index:9999;top:-16px;left:10px;width:0;height:0;border:8px solid transparent;border-bottom-color:#f5f5f5;background:transparent;content:"";-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}#popup-course #popup-sidebar .section.section-empty .learn-press-message::after{z-index:9998;top:-20px;left:8px;border-width:10px;border-bottom-color:#d9e0f1}#popup-course #popup-sidebar .section-header{position:sticky;z-index:1000;top:0;height:94px;padding:38px 20px 20px 20px;cursor:pointer;background-color:white}#popup-course #popup-sidebar .section-header .section-title{padding:0 0 4px 0;color:#000;font-size:20px;font-weight:500}#popup-course #popup-sidebar .section-header .section-title .show-desc::before{font-family:"Font Awesome 5 Free";font-size:18px;font-weight:900;content:"\f0d7"}#popup-course #popup-sidebar .section-header .section-toggle{justify-content:flex-end;flex:0}#popup-course #popup-sidebar .section-header .section-toggle i{color:#666}#popup-course #popup-sidebar .section-header .section-meta{padding-top:6px;padding-bottom:0}#popup-course #popup-sidebar .section-content{margin-bottom:0}#popup-course #popup-sidebar .course-item{min-height:50px;margin-bottom:4px;padding:5px 20px;background:#f9fafc;align-items:center}#popup-course #popup-sidebar .course-item>span{display:none}#popup-course #popup-sidebar .course-item::before{top:-1px;bottom:-1px;height:auto;background:transparent}#popup-course #popup-sidebar .course-item::after{content:""}#popup-course #popup-sidebar .course-item.current{background:#eaeaea}#popup-course #popup-sidebar .course-item.has-status.failed .trans{color:#f02425}#popup-course #popup-sidebar .course-item.status-completed .trans{color:#3bb54a}#popup-course #popup-sidebar .section-item-link{line-height:1;padding-right:0}#popup-course #popup-sidebar .section-item-link::before{padding:12px 0;vertical-align:unset}#popup-course #popup-sidebar .section-item-link .item-name{width:100%;padding:0 10px 0 17px;font-size:14px;line-height:21px;font-weight:500}#popup-course #popup-sidebar .course-item-meta{padding:0}#popup-course #popup-sidebar .course-item-meta .item-meta{padding:0;color:#999;background:transparent;font-size:12px;line-height:1.5;height:auto}#popup-course #popup-sidebar .course-item-meta .item-meta:first-child{margin-left:0}#popup-course #popup-sidebar .course-item-meta .item-meta::before{font-size:12px;line-height:21px}#popup-course #popup-content{overflow:auto;position:relative;margin:70px 0 50px 0;flex:1;padding-left:15px;padding-right:15px}#popup-course #popup-content .lp-button{position:relative;margin:0 10px 0 0;padding:12px 29px;border-color:var(--lp-secondary-color);font-size:14px}#popup-course #popup-content .lp-button.instant-check .instant-check__icon{margin-right:5px}#popup-course #popup-content .lp-button.instant-check .instant-check__icon::before{font-family:"Font Awesome 5 Free";content:"\f058"}#popup-course #popup-content .lp-button.instant-check .instant-check__info{visibility:hidden;position:absolute;top:100%;left:0;margin-top:3px;padding:11px 20px;border-radius:3px;background:#eee;white-space:nowrap;text-transform:none}#popup-course #popup-content .lp-button.instant-check:hover .instant-check__info{visibility:visible;position:absolute;top:100%;left:0;margin-top:3px;padding:11px 11px;border-radius:3px;color:#333;background:#eee;white-space:nowrap}#popup-course #popup-content .lp-button.instant-check.loading .instant-check__icon{display:inline-block;animation:lp-rotating 1s linear infinite}#popup-course #popup-content .lp-button.instant-check.loading .instant-check__icon::before{font-weight:800;content:"\f110"}#popup-course #popup-content .lp-button:hover{border-color:var(--lp-primary-color)}#popup-course #popup-content .lp-button.completed{display:flex;flex-direction:row-reverse;margin-top:32px;border-color:transparent;color:#fff;background:#3db748;font-size:16px;align-items:center;justify-content:center}#popup-course #popup-content .lp-button.completed i{margin-left:9px;font-size:14px}#popup-course #popup-content.fixed-quiz-status .quiz-status{background:var(--lp-primary-color)}#popup-course #popup-content.fixed-quiz-status .quiz-status>div{padding:0}#popup-course #popup-footer{position:fixed;z-index:999;right:0;bottom:0;left:475px;width:100%;max-width:792px;height:50px;margin:0 auto;border-top:1px solid #ebebeb;background:#fff;-webkit-transition:left .25s;-moz-transition:left .25s;-ms-transition:left .25s;-o-transition:left .25s;transition:left .25s}@media(max-width:1024px){#popup-course #popup-footer{width:auto;padding:0 15px}}#popup-course #popup-footer .course-item-nav{justify-content:space-between}#popup-course #popup-footer .course-item-nav .prev,#popup-course #popup-footer .course-item-nav .next{display:flex;line-height:50px}#popup-course #popup-footer .course-item-nav .prev a,#popup-course #popup-footer .course-item-nav .next a{display:block;color:#666;font-size:16px}#popup-course #popup-footer .course-item-nav .prev::before,#popup-course #popup-footer .course-item-nav .next::before{color:#999;font-family:"Font Awesome 5 Free";font-size:12px;font-weight:900}#popup-course #popup-footer .course-item-nav .prev:hover a,#popup-course #popup-footer .course-item-nav .prev:hover::before,#popup-course #popup-footer .course-item-nav .next:hover a,#popup-course #popup-footer .course-item-nav .next:hover::before{color:var(--lp-primary-color)}#popup-course #popup-footer .course-item-nav .prev:hover .course-item-nav__name,#popup-course #popup-footer .course-item-nav .next:hover .course-item-nav__name{display:block}#popup-course #popup-footer .course-item-nav .next{flex-direction:row-reverse}#popup-course #popup-footer .course-item-nav .next::before{margin-left:10px;content:"\f0da"}#popup-course #popup-footer .course-item-nav[data-nav=next]{justify-content:flex-end}#popup-course #popup-footer .prev::before{margin-right:10px;content:"\f0d9"}#popup-course #popup-footer .prev .course-item-nav__name{right:auto;left:-30px}#popup-course #popup-footer .prev .course-item-nav__name::before{right:auto;left:5px}@media(max-width:1024px){#popup-course #popup-footer .prev .course-item-nav__name{left:15px}}#popup-course #popup-footer .course-item-nav__name{display:none;position:absolute;top:-20px;right:-30px;width:auto;padding:10px 15px;color:#666;background:#ccc;font-size:14px;font-weight:300;line-height:1}@media(max-width:1024px){#popup-course #popup-footer .course-item-nav__name{top:-25px;right:15px;left:auto}}#popup-course #sidebar-toggle{display:inline-block;position:absolute;z-index:100;top:198px;left:475px;width:25px;height:56px;margin:0;background:#fff;box-shadow:0 0 20px 0 rgba(0,0,0,0.15);cursor:pointer;transition:.25s;-webkit-appearance:none;border:0}#popup-course #sidebar-toggle:after{display:none}#popup-course #sidebar-toggle::before{display:inline-block;position:absolute;top:50%;left:50%;color:var(--lp-primary-color);font-family:"Font Awesome 5 Free";font-size:18px;font-weight:900;content:"\f0d9";transition:.25s;transform:translate(-50%,-50%)}#popup-course #sidebar-toggle:focus{border:0;outline:0}#popup-course .lp-quiz-buttons .complete-quiz,#popup-course .lp-quiz-buttons .back-quiz,#popup-course .lp-quiz-buttons .review-quiz{float:right}#popup-course .quiz-results,#popup-course .quiz-content,#popup-course .quiz-questions,#popup-course .quiz-buttons,#popup-course .quiz-attempts{margin-bottom:60px}#popup-course .quiz-questions .lp-fib-content{margin-bottom:20px;padding:20px;border:2px solid #f5f5f5;border-radius:6px;line-height:1.6}#popup-course .quiz-questions .lp-fib-input{display:inline-block;width:auto;max-width:none}#popup-course .quiz-questions .lp-fib-input>input{height:36px;padding:6px 16px;border:1px solid #222;line-height:36px}#popup-course .quiz-questions .lp-fib-answered{padding:0 10px;background:#ececec;white-space:nowrap}#popup-course .quiz-questions .lp-fib-answered.fail{border:2px solid #d85554}#popup-course .quiz-questions .lp-fib-answered.fail .lp-fib-answered__answer{text-decoration:line-through}#popup-course .quiz-questions .lp-fib-answered.correct{border:2px solid #00adff}#popup-course .quiz-questions .lp-fib-note{display:flex;margin-left:10px;font-size:14px;font-weight:400;align-items:center}#popup-course .quiz-questions .lp-fib-note>span{display:inline-block;width:20px;height:20px;margin:0 5px 0 0}#popup-course .quiz-questions .lp-sorting-choice__check-answer{padding:5px 20px;border:2px solid #059601;border-radius:5px;font-size:1rem}#popup-course .question .answer-option input[type=radio],#popup-course .question .answer-option input[type=checkbox]{-webkit-transform:translateY(-50%);-moz-transform:translateY(-50%);-ms-transform:translateY(-50%);-o-transform:translateY(-50%);transform:translateY(-50%);margin:0 0 0 10px}#popup-course .question .answer-option input[type=radio]::before{border-radius:50%}#popup-course .question .question-response{display:flex;align-items:center;justify-content:flex-start}#popup-course .scrollbar-light>.scroll-element{z-index:9999}#popup-course .scrollbar-light>.scroll-element.scroll-y{display:none}#popup-course .scrollbar-light>.scroll-element.scroll-y .scroll-bar{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}body.admin-bar #popup-course{top:32px}body.lp-sidebar-toggle__close #popup-course>#sidebar-toggle{left:0}body.lp-sidebar-toggle__close #popup-course>#sidebar-toggle::before{content:"\f0da"}body.lp-sidebar-toggle__close #popup-course #popup-sidebar{flex:0}body.lp-sidebar-toggle__close #popup-course #popup-header,body.lp-sidebar-toggle__close #popup-course #popup-footer{left:0}@media(max-width:768px){body:not(.lp-sidebar-toggle__open) #popup-course>#sidebar-toggle{left:0}body:not(.lp-sidebar-toggle__open) #popup-course>#sidebar-toggle::before{content:"\f0da"}body:not(.lp-sidebar-toggle__open) #popup-course #popup-sidebar{flex:0}}.course-curriculum .section-header .section-meta{position:relative}@media screen and (max-width:1280px){#popup-course #popup-sidebar{flex-basis:300px}#popup-course #popup-sidebar .course-curriculum{width:300px}#popup-course #popup-header,#popup-course #popup-footer{left:300px}#popup-course #sidebar-toggle{left:299px}}@media screen and (max-width:782px){body.admin-bar #popup-course{top:46px}#popup-course #popup-sidebar{flex-basis:250px}#popup-course #popup-sidebar .course-curriculum{width:250px}#popup-course #popup-header,#popup-course #popup-footer{left:250px}#popup-course #sidebar-toggle{left:249px}#popup-course .course-item-meta .item-meta.count-questions,#popup-course .course-item-meta .item-meta.duration{display:none}}.content-item-wrap{width:792px;max-width:100%;margin:0 auto;padding-bottom:80px}@media(max-width:1024px){.content-item-wrap{width:100%}}.content-item-wrap .course-item-title{margin-top:0;margin-bottom:24px;color:#333;font-size:30px;font-weight:600}@media(max-width:767px){.content-item-wrap .course-item-title{text-align:center}}.content-item-wrap h4{font-size:1.5rem;font-weight:500;line-height:1.5}.content-item-wrap .content-item-summary{padding-top:50px}.content-item-wrap .content-item-description{margin-bottom:30px}.content-item-wrap .content-item-description h2,.content-item-wrap .content-item-description h3,.content-item-wrap .content-item-description h4,.content-item-wrap .content-item-description h5,.content-item-wrap .content-item-description h6{margin-top:0;margin-bottom:18px;font-size:18px;letter-spacing:unset}.content-item-wrap .content-item-description p{margin:0 0 18px 0;color:#666;font-size:16px;font-weight:300;line-height:26px}.content-item-wrap .content-item-description img{max-width:100%;height:auto;vertical-align:middle}.content-item-wrap #learn-press-quiz-app{margin-bottom:40px}.content-item-wrap .quiz-content{margin-bottom:40px;color:#666;font-size:16px;font-weight:300;line-height:26px}.content-item-wrap .quiz-content img{max-width:100%;height:auto;vertical-align:middle}.content-item-wrap .quiz-buttons{display:flex;justify-content:center;text-align:center}.content-item-wrap .quiz-buttons .button-right .lp-button{margin:0 0 0 15px}.content-item-wrap .quiz-buttons .lp-button[data-type=question-nav]{margin:0;border:1px solid #d9e0f1;color:#777;background:#fbfcff}.content-item-wrap .quiz-buttons .lp-button[data-type=question-nav]::before{display:inline-block;width:15px;height:15px;border:2px solid #d9e0f1;border-top-color:transparent;border-left-color:transparent;content:"";-webkit-transform:rotate(-45deg);-moz-transform:rotate(-45deg);-ms-transform:rotate(-45deg);-o-transform:rotate(-45deg);transform:rotate(-45deg)}.content-item-wrap .quiz-buttons .lp-button[data-type=question-nav].prev::before{margin-left:7px;-webkit-transform:rotate(135deg);-moz-transform:rotate(135deg);-ms-transform:rotate(135deg);-o-transform:rotate(135deg);transform:rotate(135deg)}.content-item-wrap .quiz-buttons .lp-button[data-type=question-nav].next{margin-left:-1px}.content-item-wrap .quiz-buttons .lp-button[data-type=question-nav].next::before{margin-right:7px}.content-item-wrap .quiz-buttons .lp-button[data-type=question-nav]:hover{background:#fff}.content-item-wrap .quiz-buttons.align-center{display:block;text-align:center}.content-item-wrap .quiz-buttons.align-center .button-left{text-align:center}.content-item-wrap .quiz-buttons.align-center .button-left.fixed{position:fixed;z-index:99999;bottom:0;left:50%;width:100%;max-width:792px;height:49px;margin-left:237px;transform:translateX(-50%)}@media(max-width:768px){.content-item-wrap .quiz-buttons.align-center .button-left.fixed{width:100% !important}}.content-item-wrap .quiz-buttons.align-center .button-left.nav-center{height:50px;margin-left:0 !important}.content-item-wrap .quiz-buttons:not(.infinity).is-first .prev{display:none}.content-item-wrap .quiz-buttons:not(.infinity).is-last .next{display:none}.content-item-wrap .quiz-buttons:not(.is-first):not(.is-last) .prev{border-top-right-radius:0;border-bottom-right-radius:0}.content-item-wrap .quiz-buttons:not(.is-first):not(.is-last) .next{border-top-left-radius:0;border-bottom-left-radius:0}.content-item-wrap .questions-pagination{height:33px;padding:8px 0;background:#fff;text-align:center}.content-item-wrap .questions-pagination .nav-links{text-align:center}.content-item-wrap .questions-pagination .nav-links .page-numbers{display:inline-block;vertical-align:middle;margin:0 3px 3px;padding:10px 16px;color:#666;background-color:transparent;font-size:16px;font-weight:300;line-height:1;border:1px solid;cursor:pointer}.content-item-wrap .questions-pagination .nav-links .page-numbers.next,.content-item-wrap .questions-pagination .nav-links .page-numbers.prev{display:inline-block;padding:10px;background:transparent;font-size:16px;text-align:center;text-decoration:none;text-transform:none;border:1px solid}.content-item-wrap .questions-pagination .nav-links .page-numbers.current,.content-item-wrap .questions-pagination .nav-links .page-numbers:hover{color:var(--lp-primary-color)}.course-curriculum .section-title{position:relative;margin-bottom:0;padding:8px 0;color:#5383f7;font-size:16px;font-weight:normal;line-height:1}.course-curriculum .section-title span.show-desc{display:inline-block;position:absolute;top:50%;right:30px;width:20px;height:20px;transform:translate(0,-50%)}.course-curriculum .section-title span.show-desc::before{font-family:"Font Awesome 5 Free";font-size:18px;font-weight:900;content:"\f107"}.course-curriculum .section-title span.show-desc:hover::before{border-top-color:#ccc}.lp-overlay{display:none;position:fixed;z-index:99999;top:0;right:0;bottom:0;left:0;width:100%;height:100%;background-color:rgba(209,213,219,0.8);transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:150ms;transition-property:opacity}.wp-admin .lp-modal-dialog .lp-modal-header{padding:2em}.wp-admin .lp-modal-dialog .lp-modal-header h3{font-size:1.4em}.lp-modal-dialog{display:flex;position:fixed;z-index:9999;top:0;right:0;left:0;width:100%;min-height:100vh;text-align:center;align-items:center;justify-content:center}.lp-modal-dialog .lp-modal-content{display:inline-block;overflow:hidden;z-index:2;width:auto;max-width:600px;border-radius:8px;text-align:left;vertical-align:middle;background:white;color:black}.lp-modal-dialog .lp-modal-header{background:#7c60d9;border-bottom:1px solid #eee;padding:1em}.lp-modal-dialog .lp-modal-header h3{margin:0;color:white;font-size:inherit;font-weight:400}.lp-modal-dialog .lp-modal-body .main-content{max-height:500px;overflow:auto}.lp-modal-dialog .lp-modal-body .main-content h3,.lp-modal-dialog .lp-modal-body .main-content h2,.lp-modal-dialog .lp-modal-body .main-content .pd-2em{padding:1em}.lp-modal-dialog .lp-modal-footer{padding:20px;background-color:#f9fafb;text-align:right}.lp-modal-dialog .btn-yes{color:#fff;background-color:#7c60d9}#lp-modal-overlay{display:none;position:fixed;z-index:999999;top:0;right:0;bottom:0;left:0;opacity:.5;background:#000}#lp-modal-window{display:none;position:fixed;z-index:999999;top:50%;left:50%;padding:35px 60px 28px 60px;background:#fff;transform:translate(-50%,-50%);-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}#lp-modal-window #lp-modal-content{margin:0 0 24px 0;color:#333;font-size:16px;font-weight:400;line-height:26px;text-align:center}#lp-modal-window #lp-modal-content>*{margin:0 0 .5em}#lp-modal-window #lp-modal-buttons{display:flex;flex-direction:row-reverse;align-items:center;justify-content:center}#lp-modal-window #lp-modal-buttons .lp-button{position:relative;margin:0 10px 0 10px}.learn-press-comments{width:792px;max-width:100%;margin:0 auto}@media(max-width:1024px){.learn-press-comments{width:100%}}.learn-press-progress{overflow:hidden;position:relative;width:80px;height:6px;border-radius:3px}.learn-press-progress .learn-press-progress__active{position:absolute;z-index:1;left:-100%;width:100%;height:100%;border-radius:3px;background:var(--lp-primary-color);-webkit-transition:.5s;-moz-transition:.5s;-ms-transition:.5s;-o-transition:.5s;transition:.5s}.learn-press-progress::before{display:block;position:absolute;z-index:0;top:0;width:100%;height:100%;background:#ccc;content:""}.course-curriculum .section-header .section-left{display:flex}.course-curriculum .section-header .section-left .section-title{flex:1}.course-curriculum .section-header .section-left .section-toggle{flex:0 0 40px;align-items:center;text-align:center;cursor:pointer}.course-curriculum .section-header .section-left .section-toggle .fa-caret-down{display:none}.course-curriculum .section-header .learn-press-progress{width:80px}.course-curriculum .section.closed .section-toggle .fa-caret-down{display:block}.course-curriculum .section.closed .section-toggle .fa-caret-up{display:none}.course-curriculum .section.closed .section-content{overflow:hidden;height:0}*{box-sizing:border-box;margin:0;padding:0}button{cursor:pointer}input,button,select,textarea{outline:0}html{overflow-x:hidden}a{-webkit-transition:.3s;-moz-transition:.3s;-ms-transition:.3s;-o-transition:.3s;transition:.3s}.lp-skeleton-animation{margin:0;padding:0;list-style:none}.lp-skeleton-animation>li{width:100%;height:16px;margin-top:15px;border-radius:2px;background:linear-gradient(90deg,hsla(0,0%,74.5%,0.2) 25%,hsla(0,0%,50.6%,0.24) 37%,hsla(0,0%,74.5%,0.2) 63%);background-size:400% 100%;list-style:none;animation:lp-skeleton-loading 1.4s ease infinite}@keyframes lp-skeleton-loading{0%{background-position:100% 50%}to{background-position:0 50%}}.learnpress.theme-twentytwentytwo .wp-site-blocks,.learnpress.twentytwentytwo .wp-site-blocks{max-width:none;padding-right:0;padding-left:0}.learnpress.theme-twentytwentytwo .wp-site-blocks>.wp-block-group,.learnpress.twentytwentytwo .wp-site-blocks>.wp-block-group{max-width:none;margin-right:auto;margin-left:auto}.learnpress.theme-twentytwentytwo .lp-archive-courses,.learnpress.twentytwentytwo .lp-archive-courses{max-width:none}.learnpress.twentytwentytwo .wp-container-11 .alignfull,.learnpress.twentytwentytwo .wp-container-9 .alignfull,.learnpress.twentytwentytwo .wp-container-12 .alignfull{max-width:100%;margin-left:0 !important;margin-right:0 !important;padding-left:0 !important;padding-right:0 !important}@media(max-width:1199px){.learnpress.twentytwentytwo .wp-site-blocks .wp-block-template-part{padding-left:15px;padding-right:15px}}input[type=text],input[type=email],input[type=number],input[type=password]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin:0;box-shadow:unset}body{background:#fff}body.learnpress-page{overflow-x:hidden}.wrap-fullwidth a:focus,.wrap-fullwidth button:focus,.wrap-fullwidth input:focus,.wrap-fullwidth textarea:focus{border:0;outline:0}.wrap-fullwidth a:hover{text-decoration:none}.wrap-fullwidth p{word-break:break-word}.wrap-fullwidth p:last-child{margin-bottom:0}.wrap-fullwidth label{display:block;margin:0;outline:0}.wrap-fullwidth img{max-width:100%;height:auto}.wrap-fullwidth form{margin:0}.wrap-fullwidth .col-full{box-sizing:border-box;max-width:100%;padding:0}.wrap-fullwidth .col-full .woocommerce-breadcrumb{display:none}footer{clear:both}.margin-bottom{margin-bottom:20px}.hide-if-js{display:none !important}.clearfix::after{display:block;clear:both;content:""}.lp-form-fields{margin:0;padding:0;list-style:none}.lp-form-fields .form-field{margin:0 0 20px 0;list-style:none}.lp-content-wrap{width:1170px;max-width:90%;margin:0 auto}.lp-content-wrap>h2{margin-top:0;margin-bottom:26px;color:#333;font-size:30px;font-weight:600}.learn-press-breadcrumb{max-width:1170px;width:100%;margin:0 auto 45px auto;padding:0;color:#333;font-size:14px;font-weight:400;list-style:none}.learn-press-breadcrumb li{display:inline-block;margin:0}.learn-press-breadcrumb li a:hover{color:var(--lp-primary-color)}.learn-press-breadcrumb i{margin:0 5px;color:#666;font-size:12px}@media(max-width:1024px){.learn-press-breadcrumb{padding-right:15px;padding-left:15px}}.learn-press-breadcrumb a{color:#666;font-weight:500}.learnpress-page .lp-button,.learnpress-page #lp-button{padding:16px 24px;border:1px solid #ccc;color:#333;background:transparent;box-shadow:unset;font-family:inherit;font-size:16px;font-weight:400;line-height:1;text-align:center;vertical-align:middle;text-decoration:none;text-transform:capitalize;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-transition:all .25s;-moz-transition:all .25s;-ms-transition:all .25s;-o-transition:all .25s;transition:all .25s}.learnpress-page .lp-button.large,.learnpress-page #lp-button.large{height:52px;padding:18px 30px;font-size:18px}.learnpress-page .lp-button:hover,.learnpress-page #lp-button:hover{border-color:var(--lp-primary-color);color:#fff;background:var(--lp-primary-color)}.learnpress-page .lp-button.btn-ajax-off .icon,.learnpress-page #lp-button.btn-ajax-off .icon{display:none}.learnpress-page .lp-button.btn-ajax-on .icon,.learnpress-page #lp-button.btn-ajax-on .icon{display:inline-block;margin-right:5px;-webkit-animation:lp-rotating 1s linear infinite;-moz-animation:lp-rotating 1s linear infinite;animation:lp-rotating 1s linear infinite}.learnpress-page .lp-button:focus,.learnpress-page #lp-button:focus{outline:0}.learnpress-page .lp-button.loading::before,.learnpress-page #lp-button.loading::before{display:inline-block;font-family:"Font Awesome 5 Free";font-weight:900;content:"\f110";animation:lp-rotating 1s linear infinite}.learnpress-page .rwmb-field .description{margin-top:8px;color:#999;font-size:smaller;font-style:italic}.btn-base{border-color:var(--lp-primary-color);color:white;background-color:var(--lp-primary-color)}.lp-ajax-message{display:none;margin-top:20px;padding:20px;border:2px solid #059601;border-radius:9px;font-size:15px;line-height:1.4}.lp-ajax-message.error{border-color:#d85554}.course-meta{margin-bottom:14px}.course-meta .course-students::before{font-family:"Font Awesome 5 Free";content:""}.lp-entry-content .course-tabs{margin-bottom:60px}.learn-press-checkout-comment h4{display:none}.order-comments{width:100%;padding:15px;min-height:150px;border:1px solid #ccc;resize:none}.learn-press-progress .progress-bg{overflow:hidden;position:relative;height:6px;background:#ccc;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.learn-press-progress .progress-bg .progress-active{position:absolute;left:50%;width:100%;height:100%;margin-left:-100%;background:var(--lp-primary-color);-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.retake-course,.enroll-course,.purchase-course{display:inline-block}.table-orders{font-size:16px}.table-orders th,.table-orders td{padding:5px 10px}.form-button{display:inline-block}.learn-press-pagination{padding-bottom:20px;text-align:center}.learn-press-pagination .page-numbers{display:inline-block;margin:0;padding:0;border:0;outline:0;background:transparent;list-style:none}.learn-press-pagination .page-numbers>li{display:inline-block;margin:0;padding:0 14px}.learn-press-pagination .page-numbers>li .page-numbers{float:unset;padding:0;color:#666;background:transparent;font-size:16px;font-weight:300}.learn-press-pagination .page-numbers>li .page-numbers.current{color:var(--lp-primary-color);font-weight:400}.learn-press-pagination .page-numbers>li .page-numbers:hover{color:var(--lp-primary-color)}ul.list-table-nav{display:flex;margin-left:0;list-style:none}ul.list-table-nav .nav-text{text-align:left;flex:1}ul.list-table-nav .nav-pages{text-align:right;flex:1}ul.list-table-nav .nav-pages .learn-press-pagination{display:inline-block;margin-bottom:0}.primary-color{color:#00adff}.primary-color-before::before{color:#00adff}.primary-color-after::after{color:#00adff}.primary-background-color{background:#00adff}.primary-background-color{background:#00adff}.course-origin-price{margin-right:5px;font-size:85%;text-decoration:line-through}.course-item-nav{display:flex}.course-item-nav .prev span,.course-item-nav .next span{display:block;font-weight:bold}.course-item-nav .prev a,.course-item-nav .next a{color:#999}.course-item-nav .next{text-align:right}.content-item-wrap #comments{margin-right:0;margin-left:0}.content-item-wrap #comments #comment{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.course-summary-sidebar{position:relative}@media(min-width:769px){.course-summary-sidebar.slide-down .course-summary-sidebar__inner{position:fixed;top:0}}@media(min-width:1200px){.course-summary-sidebar.slide-top .course-summary-sidebar__inner{position:absolute}}.course-graduation span{color:#999}.course-graduation .icon{margin-right:5px;font-size:20px}.course-graduation.passed .icon{color:#059601}.course-graduation.error .icon{color:#d85554}.learn-press-template-warning::before{color:#ffc107;font-family:"Font Awesome 5 Free";content:"\f071"}.lp-badge{display:flex;height:30px;padding:0;line-height:1;align-items:center;justify-content:center}.lp-badge::before,.lp-badge::after{content:""}.lp-badge::before{display:inline-block;position:relative;z-index:10;color:#fff;font-weight:bold;line-height:1}.lp-badge.featured-course{position:absolute;z-index:1;top:25px;left:-110px;width:300px;background:#93f;text-align:center;transform:rotate(-45deg)}.lp-badge.featured-course::before{font-size:12px;text-transform:uppercase;content:attr(data-text)}@media(min-width:769px){#learn-press-item-comments{padding-bottom:50px}}.course-tabs input[name=learn-press-course-tab-radio],.course-tabs .course-tab-panel{display:none}.course-tabs .course-nav label{display:flex;align-items:center;justify-content:center;margin:0;padding:17px 10px;font-size:16px;line-height:1;font-weight:600;text-transform:capitalize;cursor:pointer}.no-event{pointer-events:none}@media screen and (max-width:768px){ul.learn-press-courses .course{width:48%}}@media screen and (max-width:600px){ul.learn-press-courses .course{width:100%;margin-right:0}}.course-price:empty{display:none !important}.quiz-attempts .attempts-heading{margin-bottom:15px}.quiz-attempts table{border-spacing:0;border-left:1px solid var(--lp-secondary-color);border-top:1px solid var(--lp-secondary-color);width:100%}.quiz-attempts table tr th,.quiz-attempts table tr td{border-right:1px solid var(--lp-secondary-color);border-bottom:1px solid var(--lp-secondary-color);padding:5px 15px;text-align:center}.quiz-attempts table tr th{font-weight:500}@media(max-width:575px){#popup-course .quiz-attempts{overflow-x:auto}}
|
1 |
+
@charset "UTF-8";@-webkit-keyframes rotating4{from{-webkit-transform:rotate(0);-o-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(360deg);-o-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes rotating4{from{-ms-transform:rotate(0);-moz-transform:rotate(0);-webkit-transform:rotate(0);-o-transform:rotate(0);transform:rotate(0)}to{-ms-transform:rotate(360deg);-moz-transform:rotate(360deg);-webkit-transform:rotate(360deg);-o-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes animation4{from{left:-40%;width:40%}to{left:100%;width:10%}}@keyframes animation4{from{left:-40%;width:40%}to{left:100%;width:10%}}.learn-press-message{position:relative;margin:0 0 20px 0;padding:10px 50px 10px 15px;border-top:5px solid #00adff;border-radius:0 0 5px 5px;background:#f5f5f5;width:100%}.learn-press-message.icon{padding-left:45px}.learn-press-message.icon::before{background:#00adff}.learn-press-message.icon::after{position:absolute;top:50%;left:15px;width:10px;height:10px;margin-top:-13px;margin-right:10px;border-radius:50%;color:#fff;background:#00adff;font-family:"Font Awesome 5 Free";font-size:20px;line-height:26px;text-align:center;vertical-align:baseline;content:"\f129"}.learn-press-message::before,.learn-press-message::after{position:absolute;top:0;content:""}.learn-press-message::before{right:20px;width:20px;height:30px;background:#00adff}.learn-press-message::after{top:10px;right:20px;width:0;height:0;border:10px solid transparent;border-bottom-color:#f5f5f5}.learn-press-message.error{border-color:#d85554}.learn-press-message.error::before{background:#d85554}.learn-press-message.error.icon::before,.learn-press-message.error.icon::after{background:#d85554}.learn-press-message.error.icon::after{content:"\f00d"}.learn-press-message.warning{border-color:#ffc107}.learn-press-message.warning::before{background:#ffc107}.learn-press-message.warning.icon::before,.learn-press-message.warning.icon::after{background:#ffc107}.learn-press-message.warning.icon::after{content:"\f00d"}.learn-press-message.success{border-color:#059601}.learn-press-message.success::before{background:#059601}.learn-press-message.success.icon::before,.learn-press-message.success.icon::after{background:#059601}.learn-press-message.success.icon::after{content:"\f129"}.learn-press-message a{text-decoration:underline}@keyframes lp-rotating{from{-webkit-transform:rotate(0);-moz-transform:rotate(0);-ms-transform:rotate(0);-o-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(360deg);-moz-transform:rotate(360deg);-ms-transform:rotate(360deg);-o-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes lp-rotating{from{-webkit-transform:rotate(0);-moz-transform:rotate(0);-ms-transform:rotate(0);-o-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(360deg);-moz-transform:rotate(360deg);-ms-transform:rotate(360deg);-o-transform:rotate(360deg);transform:rotate(360deg)}}.ajaxload{display:inline-block;position:relative;width:30px;height:30px;background:#7b7b7b;content:"";-webkit-border-radius:50%;-moz-border-radius:50%;border-radius:50%;-webkit-animation:lp-rotating 1s linear infinite;-moz-animation:lp-rotating 1s linear infinite;animation:lp-rotating 1s linear infinite}.ajaxload::after{-webkit-border-radius:50%;-moz-border-radius:50%;border-radius:50%;display:inline-block;position:absolute;top:2px;left:50%;width:6px;height:6px;margin-left:-3px;background:#dedede;content:""}.lp-ajaxload-style-1{display:inline-block;position:relative;width:32px;height:32px}.lp-ajaxload-style-1::before,.lp-ajaxload-style-1::after{position:absolute;top:0;left:0;width:100%;height:100%;border:3px solid #ddd;content:""}.lp-ajaxload-style-1::after{clip:rect(0,32px,16px,16px);border-color:#2fa7ff;-webkit-border-radius:50%;-moz-border-radius:50%;border-radius:50%;-webkit-animation:lp-rotating 1s linear infinite;-moz-animation:lp-rotating 1s linear infinite;animation:lp-rotating 1s linear infinite}.learn-press-tabs{margin-bottom:34px;background:#f1f2f8}.learn-press-tabs .learn-press-tabs__checker{display:none}.learn-press-tabs .learn-press-tabs__checker:nth-child(1):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(1){border-bottom:0;background:#fff}.learn-press-tabs .learn-press-tabs__checker:nth-child(1):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(1) label{color:#ffb606}.learn-press-tabs .learn-press-tabs__checker:nth-child(1):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(1) label a{color:#ffb606}.learn-press-tabs .learn-press-tabs__checker:nth-child(1):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(1)::before{background:#ffb606}.learn-press-tabs .learn-press-tabs__checker:nth-child(1):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(1)::after{background:#fff}.learn-press-tabs .learn-press-tabs__checker:nth-child(2):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(2){border-bottom:0;background:#fff}.learn-press-tabs .learn-press-tabs__checker:nth-child(2):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(2) label{color:#ffb606}.learn-press-tabs .learn-press-tabs__checker:nth-child(2):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(2) label a{color:#ffb606}.learn-press-tabs .learn-press-tabs__checker:nth-child(2):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(2)::before{background:#ffb606}.learn-press-tabs .learn-press-tabs__checker:nth-child(2):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(2)::after{background:#fff}.learn-press-tabs .learn-press-tabs__checker:nth-child(3):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(3){border-bottom:0;background:#fff}.learn-press-tabs .learn-press-tabs__checker:nth-child(3):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(3) label{color:#ffb606}.learn-press-tabs .learn-press-tabs__checker:nth-child(3):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(3) label a{color:#ffb606}.learn-press-tabs .learn-press-tabs__checker:nth-child(3):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(3)::before{background:#ffb606}.learn-press-tabs .learn-press-tabs__checker:nth-child(3):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(3)::after{background:#fff}.learn-press-tabs .learn-press-tabs__checker:nth-child(4):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(4){border-bottom:0;background:#fff}.learn-press-tabs .learn-press-tabs__checker:nth-child(4):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(4) label{color:#ffb606}.learn-press-tabs .learn-press-tabs__checker:nth-child(4):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(4) label a{color:#ffb606}.learn-press-tabs .learn-press-tabs__checker:nth-child(4):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(4)::before{background:#ffb606}.learn-press-tabs .learn-press-tabs__checker:nth-child(4):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(4)::after{background:#fff}.learn-press-tabs .learn-press-tabs__checker:nth-child(5):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(5){border-bottom:0;background:#fff}.learn-press-tabs .learn-press-tabs__checker:nth-child(5):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(5) label{color:#ffb606}.learn-press-tabs .learn-press-tabs__checker:nth-child(5):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(5) label a{color:#ffb606}.learn-press-tabs .learn-press-tabs__checker:nth-child(5):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(5)::before{background:#ffb606}.learn-press-tabs .learn-press-tabs__checker:nth-child(5):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(5)::after{background:#fff}.learn-press-tabs .learn-press-tabs__checker:nth-child(6):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(6){border-bottom:0;background:#fff}.learn-press-tabs .learn-press-tabs__checker:nth-child(6):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(6) label{color:#ffb606}.learn-press-tabs .learn-press-tabs__checker:nth-child(6):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(6) label a{color:#ffb606}.learn-press-tabs .learn-press-tabs__checker:nth-child(6):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(6)::before{background:#ffb606}.learn-press-tabs .learn-press-tabs__checker:nth-child(6):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(6)::after{background:#fff}.learn-press-tabs .learn-press-tabs__checker:nth-child(7):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(7){border-bottom:0;background:#fff}.learn-press-tabs .learn-press-tabs__checker:nth-child(7):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(7) label{color:#ffb606}.learn-press-tabs .learn-press-tabs__checker:nth-child(7):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(7) label a{color:#ffb606}.learn-press-tabs .learn-press-tabs__checker:nth-child(7):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(7)::before{background:#ffb606}.learn-press-tabs .learn-press-tabs__checker:nth-child(7):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(7)::after{background:#fff}.learn-press-tabs .learn-press-tabs__checker:nth-child(8):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(8){border-bottom:0;background:#fff}.learn-press-tabs .learn-press-tabs__checker:nth-child(8):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(8) label{color:#ffb606}.learn-press-tabs .learn-press-tabs__checker:nth-child(8):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(8) label a{color:#ffb606}.learn-press-tabs .learn-press-tabs__checker:nth-child(8):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(8)::before{background:#ffb606}.learn-press-tabs .learn-press-tabs__checker:nth-child(8):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(8)::after{background:#fff}.learn-press-tabs .learn-press-tabs__checker:nth-child(9):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(9){border-bottom:0;background:#fff}.learn-press-tabs .learn-press-tabs__checker:nth-child(9):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(9) label{color:#ffb606}.learn-press-tabs .learn-press-tabs__checker:nth-child(9):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(9) label a{color:#ffb606}.learn-press-tabs .learn-press-tabs__checker:nth-child(9):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(9)::before{background:#ffb606}.learn-press-tabs .learn-press-tabs__checker:nth-child(9):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(9)::after{background:#fff}.learn-press-tabs .learn-press-tabs__checker:nth-child(10):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(10){border-bottom:0;background:#fff}.learn-press-tabs .learn-press-tabs__checker:nth-child(10):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(10) label{color:#ffb606}.learn-press-tabs .learn-press-tabs__checker:nth-child(10):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(10) label a{color:#ffb606}.learn-press-tabs .learn-press-tabs__checker:nth-child(10):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(10)::before{background:#ffb606}.learn-press-tabs .learn-press-tabs__checker:nth-child(10):checked ~ .learn-press-tabs__nav .learn-press-tabs__tab:nth-child(10)::after{background:#fff}.learn-press-tabs .learn-press-tabs__nav{display:flex;margin:0;padding:0;border:1px solid #e5e7f2;list-style:none}.learn-press-tabs .learn-press-tabs__tab{position:relative;margin:0;border-right:1px solid #e5e7f2;background:#f1f2f8;list-style:none}.learn-press-tabs .learn-press-tabs__tab:last-child{border-right:0}.learn-press-tabs .learn-press-tabs__tab>label{display:block;margin:0;padding:18px 65px;font-size:18px;line-height:1;font-weight:600;text-align:center;text-transform:capitalize;cursor:pointer}.learn-press-tabs .learn-press-tabs__tab>label a{color:#333}.learn-press-tabs .learn-press-tabs__tab>label a:focus{outline:0;text-decoration:none}@media(max-width:767px){.learn-press-tabs .learn-press-tabs__tab>label{padding:20px 50px 14px 50px}}.learn-press-tabs .learn-press-tabs__tab::before{position:absolute;top:-1px;left:0;width:100%;height:4px;background:transparent;content:""}.learn-press-tabs .learn-press-tabs__tab::after{position:absolute;bottom:-1px;left:0;width:100%;height:4px;background:transparent;content:""}.learn-press-tabs .learn-press-tabs__tab:first-child.active label{position:relative}.learn-press-tabs .learn-press-tabs__tab:first-child.active label::before{position:absolute;top:0;left:-1px;width:1px;height:100%;background:#fff;content:""}.learn-press-tabs.stretch .learn-press-tabs__tab{flex:1}.learn-press-tabs.stretch .learn-press-tabs__tab>label{padding:18px 10px}.learn-press-filters{display:flex;margin-bottom:30px;margin-left:0;list-style:none}.learn-press-filters>li{margin:0;font-size:16px;line-height:24px}@media(max-width:767px){.learn-press-filters>li{margin-right:30px;margin-left:0}.learn-press-filters>li:last-child{margin-right:0}}.learn-press-filters>li>a,.learn-press-filters>li>span{display:inline-block;font-weight:600}.learn-press-filters>li>span.count{font-weight:400}.learn-press-filters>li>span.count::before,.learn-press-filters>li>span.count::after{display:inline-block}.learn-press-filters>li>span.count::before{content:"("}.learn-press-filters>li>span.count::after{content:")"}.learn-press-filters>li span{color:#ffb606}.learn-press-filters>li span+span{color:#ffb606}.learn-press-filters>li span+span::before,.learn-press-filters>li span+span::after{color:#ffb606}.learn-press-filters>li a{color:#333;cursor:pointer}.learn-press-filters>li a+span{color:#333}.learn-press-filters>li a+span::before,.learn-press-filters>li a+span::after{color:#333}.learn-press-filters>li::after{margin:0 35px;color:#ccc;content:"|"}@media(max-width:767px){.learn-press-filters>li::after{display:none}}.learn-press-filters>li:last-child::after{display:none}.lp-checkout-form__before,.lp-checkout-form__after{width:45%;width:-webkit-calc(50% - 30px);width:-moz-calc(50% - 30px);width:calc(50% - 30px);margin:0 15px 40px 15px}.lp-checkout-form__before .lp-checkout-block h4,.lp-checkout-form__after .lp-checkout-block h4{margin-top:0;margin-bottom:18px;color:#333;font-size:24px;font-weight:600;line-height:1;font-family:var(--wp--preset--font-family--system-font)}@media(max-width:815px){.lp-checkout-form__before,.lp-checkout-form__after{width:100%;margin:0 0 40px 0}}.lp-checkout-form__before{float:right}.lp-checkout-form__before #checkout-order{width:100%}.lp-checkout-form .lp-checkout-form__after{float:left}.lp-checkout-form .lp-checkout-remember{letter-spacing:0;margin-top:0}.lp-checkout-form .lp-checkout-remember label{width:auto;color:#666;font-size:16px;font-weight:300;line-height:26px}.lp-checkout-form .lp-checkout-remember label input[type=checkbox]{position:relative;top:3px;width:19px;height:19px;margin:0 4px 0 0;border:1px solid #ccc;cursor:pointer;-webkit-appearance:none}.lp-checkout-form .lp-checkout-remember label input[type=checkbox]:focus{outline:0}.lp-checkout-form .lp-checkout-remember label input[type=checkbox]:checked::after{position:absolute;top:2px;left:2px;color:#41abec;font-family:"Font Awesome 5 Free";font-size:14px;font-weight:900;line-height:1;content:"\f00c"}.lp-checkout-form .lp-checkout-remember a{color:#666;font-size:16px;font-weight:300;line-height:26px;text-decoration:underline;text-decoration-color:#ccc}.lp-checkout-form .lp-checkout-remember a:hover{color:var(--lp-primary-color);text-decoration-color:var(--lp-primary-color)}.lp-checkout-form .lp-form-fields{padding:0 0 14px 0}.lp-checkout-form .lp-form-fields label{display:block;margin-bottom:10px;font-size:16px}.lp-checkout-form .lp-form-fields input:not([type=checkbox]){height:44px;line-height:normal;width:100%;padding:0 15px;border:1px solid #ccc}.lp-checkout-form .rwmb-input input:not([type=checkbox]){width:100%;height:43px;padding:0 22px;border:1px solid #ccc;border-radius:3px;background-color:#fff;font-size:14px;font-weight:300;font-style:italic;line-height:43px}.lp-checkout-form .rwmb-input input:not([type=checkbox]):focus{border-color:var(--lp-primary-color);outline:0;color:#222}.lp-checkout-form .rwmb-input ::placeholder{opacity:1;color:#999}.lp-checkout-form .rwmb-input :-ms-input-placeholder{color:#999}.lp-checkout-form .rwmb-input ::-ms-input-placeholder{color:#999}.lp-checkout-form .rwmb-input input:-webkit-autofill,.lp-checkout-form .rwmb-input input:-webkit-autofill:hover,.lp-checkout-form .rwmb-input input:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 1000px #fff inset;-webkit-text-fill-color:#999 !important}.lp-checkout-form{margin:0 -15px;margin-top:50px}@media(max-width:815px){.lp-checkout-form{display:flex;flex-direction:column-reverse;margin:0}}.lp-checkout-form #btn-checkout-account-switch-to-guest{margin-bottom:60px}.lp-checkout-form .description{float:left}.lp-checkout-form a{color:#41abec}.lp-checkout-form a label{display:inline-block;color:inherit;font-weight:normal;cursor:pointer}.lp-checkout-form a:hover{color:#ffb606}.lp-checkout-form #checkout-account-guest{width:100%;margin-bottom:35px;padding-bottom:19px;border-bottom:1px solid rgba(204,204,204,0.3)}.lp-checkout-form #checkout-account-guest .lp-form-fields,.lp-checkout-form #checkout-account-guest .form-field{margin-bottom:0;padding-bottom:0}.lp-checkout-form div.lp-guest-checkout-output{margin-top:10px;padding:8px 20px;border:2px solid #41abec;border-radius:4px;font-size:16px;transition:all .2s ease}.lp-checkout-form label.lp-guest-checkout-output{margin-top:10px;cursor:pointer;user-select:none}.lp-checkout-form .lp-guest-checkout-notice{margin:30px 0 0 0}.lp-checkout-form .lp-guest-switch-login{margin-top:1em;color:#666;font-size:16px;font-weight:400}.lp-checkout-form .lp-guest-switch-login a{display:inline-block}.lp-checkout-form input[name=checkout-account-switch-form]{display:none}.lp-checkout-form input[name=checkout-account-switch-form]:not(:checked)+.lp-checkout-block{display:none;overflow:hidden;height:0;margin:0;padding:0;border:0;opacity:0}.lp-checkout-form input[name=checkout-account-switch-form]:not(:checked)+.lp-checkout-block>*{overflow:hidden;height:0}.lp-checkout-form input[name=checkout-account-switch-form]:checked+.lp-checkout-block{display:block;overflow:auto;height:auto}.lp-checkout-form input[name=checkout-account-switch-form][value=guest]:checked ~ #btn-checkout-account-switch-to-guest{display:none}.lp-checkout-form::after{display:block;clear:both;content:""}.lp-checkout-form:focus{outline:0}#checkout-order .lp-checkout-order__inner{padding:0 20px;border:1px solid #ccc;border-radius:4px}#checkout-order table{width:100%;margin:0;border:0}#checkout-order td,#checkout-order th{box-sizing:content-box;border:1px solid rgba(204,204,204,0.3);border-top:0;border-right:0;border-left:0;background:unset;line-height:1;text-align:left;vertical-align:inherit}#checkout-order td:last-child,#checkout-order th:last-child{padding-right:0}#checkout-order .course-name{font-size:16px;font-weight:600;line-height:26px}#checkout-order .course-name a{display:-webkit-box;overflow:hidden;color:#000;-webkit-line-clamp:1;-webkit-box-orient:vertical}#checkout-order .course-name a:hover{color:var(--lp-primary-color)}#checkout-order .col-number{min-width:50px;color:#666;font-size:16px;font-weight:600;line-height:26px;text-align:right}#checkout-order .order-total>th{padding:24px 20px 24px 0}#checkout-order .order-total .col-number{color:#333;font-size:26px}#checkout-order tfoot .cart-subtotal{color:#666;font-size:16px;font-weight:600;line-height:26px}#checkout-order tfoot .cart-subtotal>th{padding:20px 20px 17px 0}#checkout-order tfoot .order-total th{color:#333;font-size:16px;font-weight:600;line-height:26px}#checkout-order tfoot tr:last-child{border-width:0}#checkout-order tfoot tr:last-child td,#checkout-order tfoot tr:last-child th{border-width:0}#checkout-order .course-thumbnail{width:80px;padding:20px 13px 18px 0}#checkout-order .course-thumbnail>img{width:100px;max-width:100% !important;height:auto !important}#checkout-account-register,#checkout-account-login{width:100%;margin-bottom:35px;padding-bottom:19px;border-bottom:1px solid rgba(204,204,204,0.3)}#checkout-account-register .form-field .rwmb-label,#checkout-account-register .form-field .rwmb-input .description,#checkout-account-login .form-field .rwmb-label,#checkout-account-login .form-field .rwmb-input .description{display:none}#checkout-account-register .lp-checkout-remember label,#checkout-account-login .lp-checkout-remember label{display:inline-block}#checkout-account-register .lp-checkout-remember a,#checkout-account-login .lp-checkout-remember a{float:right}#checkout-account-register .lp-checkout-sign-in-link,#checkout-account-register .lp-checkout-sign-up-link,#checkout-account-login .lp-checkout-sign-in-link,#checkout-account-login .lp-checkout-sign-up-link{display:flex;margin:0;color:#666;font-size:16px;font-weight:400}#checkout-account-register .lp-checkout-sign-in-link a,#checkout-account-register .lp-checkout-sign-up-link a,#checkout-account-login .lp-checkout-sign-in-link a,#checkout-account-login .lp-checkout-sign-up-link a{margin-left:5px;color:#41abec;cursor:pointer}#checkout-account-register .lp-checkout-sign-in-link a:hover,#checkout-account-register .lp-checkout-sign-up-link a:hover,#checkout-account-login .lp-checkout-sign-in-link a:hover,#checkout-account-login .lp-checkout-sign-up-link a:hover{color:var(--lp-primary-color)}#checkout-account-register .lp-checkout-sign-in-link a label,#checkout-account-register .lp-checkout-sign-up-link a label,#checkout-account-login .lp-checkout-sign-in-link a label,#checkout-account-login .lp-checkout-sign-up-link a label{display:inline-block;float:right;color:inherit;font-weight:normal;cursor:pointer}#checkout-payment{width:100%;margin-bottom:25px}#checkout-payment h4{margin-bottom:24px}#checkout-payment .secure-connection{float:right;margin-top:5px;color:#999;font-size:12px;font-weight:normal}#checkout-payment .secure-connection i{margin-right:5px;color:#ccc;font-size:18px}@media(max-width:767px){#checkout-payment .secure-connection{margin-top:0}}#checkout-payment .payment-methods{margin:0 0 24px 0;padding:0;list-style:none}#checkout-payment .lp-payment-method{position:relative;margin:0}#checkout-payment .lp-payment-method>label{display:flex;align-items:center}#checkout-payment .lp-payment-method .gateway-input,#checkout-payment .lp-payment-method .gateway-icon{vertical-align:middle}#checkout-payment .lp-payment-method .gateway-icon{max-height:32px}#checkout-payment .lp-payment-method .gateway-input{position:relative;width:20px;height:20px;margin:0 8px 0 0;border:1px solid #ccc;background:#fff;-webkit-appearance:none;-webkit-border-radius:50%;-moz-border-radius:50%;border-radius:50%}#checkout-payment .lp-payment-method .gateway-input::before{position:absolute;top:50%;left:50%;width:6px;height:6px;background:#41abec;transform:translate(-50%,-50%);-webkit-border-radius:50%;-moz-border-radius:50%;border-radius:50%}#checkout-payment .lp-payment-method .gateway-input:checked::before{content:""}#checkout-payment .lp-payment-method .gateway-input:focus{outline:0}#checkout-payment #checkout-order-action button{width:100%;border-color:var(--lp-primary-color);color:#fff;background:var(--lp-primary-color);font-weight:500}#checkout-payment #checkout-order-action button:hover{border-color:var(--lp-primary-color);opacity:.5;background:var(--lp-primary-color)}#checkout-payment #checkout-order-action button.loading::before{display:inline-block;font-family:"Font Awesome 5 Free";font-weight:900;content:"\f110";-webkit-animation:lp-rotating 1s linear infinite;-moz-animation:lp-rotating 1s linear infinite;animation:lp-rotating 1s linear infinite}.lp-terms-and-conditions{color:#666;font-size:16px;font-weight:300;line-height:26px}.lp-terms-and-conditions a{color:#41abec}.lp-terms-and-conditions a:hover{color:var(--lp-primary-color)}.learn-press-checkout.guest-checkout{display:none}.button-continue-guest-checkout{clear:both}#learn-press-checkout .payment-methods{margin:0;padding:0;list-style:none}#learn-press-checkout .payment-methods .lp-payment-method{margin-bottom:20px}#learn-press-checkout .payment-methods .lp-payment-method>label{display:flex;flex-flow:row nowrap;padding:10px 20px;background:#f5f5f5;line-height:40px;cursor:pointer}#learn-press-checkout .payment-methods .lp-payment-method>label img{vertical-align:middle}#learn-press-checkout .payment-methods .lp-payment-method.selected>label{background:#d4d4d4}#learn-press-checkout .payment-methods .payment-method-form{display:none;padding:15px 20px;border-top:1px solid #ddd;background:#f9f9f9}#learn-press-checkout-login,#learn-press-checkout-register{margin-bottom:1.5em;padding:20px 20px 0 20px;border:1px solid #ddd;background:#fff}#learn-press-order-review,.learn-press-checkout-comment{margin-bottom:20px}#checkout-form-login,#checkout-form-register{_display:none}#checkout-form-login .learn-press-form-register,#checkout-form-login .learn-press-form-login,#checkout-form-register .learn-press-form-register,#checkout-form-register .learn-press-form-login{display:none}#checkout-guest-email{margin:0 0 20px 0}#checkout-guest-email .form-heading{margin:0}#checkout-guest-email #checkout-guest-options{margin:0;list-style:none}#checkout-guest-email #checkout-existing-account,#checkout-guest-email #checkout-new-account{display:none;margin:0}#checkout-guest-email.email-exists #checkout-existing-account{display:block}#checkout-guest-email.email-exists #checkout-new-account{display:none}.lp-list-table{width:100%;margin-bottom:20px}.lp-list-table th,.lp-list-table td{padding:20px;border:0 solid rgba(204,204,204,0.3);border-bottom-width:1px;background:#fff;font-size:16px;line-height:1;text-align:left}@media(max-width:767px){.lp-list-table th,.lp-list-table td{padding:15px}}.lp-list-table thead{box-sizing:border-box;border:1px solid #e5e7f2}.lp-list-table thead tr th{height:60px;border-bottom:0;color:#333;background:#f1f2f8;font-size:18px}.lp-list-table tbody,.lp-list-table tfoot{box-sizing:border-box;border:1px solid rgba(204,204,204,0.3);border-top:0}.lp-list-table tbody tr td,.lp-list-table tbody tr th,.lp-list-table tfoot tr td,.lp-list-table tfoot tr th{height:62px;color:#666;background:#fff;font-size:16px;font-weight:300}.lp-list-table tbody tr td a,.lp-list-table tbody tr th a,.lp-list-table tfoot tr td a,.lp-list-table tfoot tr th a{border-bottom:0;color:#666;text-decoration:none}.lp-list-table tbody tr td a:hover,.lp-list-table tbody tr th a:hover,.lp-list-table tfoot tr td a:hover,.lp-list-table tfoot tr th a:hover{color:var(--lp-primary-color)}.lp-list-table tbody tr .column-status .result-percent,.lp-list-table tfoot tr .column-status .result-percent{font-weight:500}.lp-list-table tbody tr .column-status .lp-label,.lp-list-table tfoot tr .column-status .lp-label{font-weight:600}.lp-list-table tbody tr:nth-child(odd),.lp-list-table tfoot tr:nth-child(odd){background:#f5f5f5}.lp-list-table .list-table-nav td{font-size:14px}.lp-list-table .list-table-nav td.nav-text{text-align:left}.lp-list-table .list-table-nav td.nav-pages{text-align:right}.lp-list-table .list-table-nav td.nav-pages .learn-press-pagination{text-align:right}.lp-list-table .list-table-nav td.nav-pages .page-numbers{margin-bottom:0}.lp-label{display:inline-block;color:#666;font-size:16px;font-weight:300;line-height:1}.learn-press-form .form-fields{margin:0;padding:0;list-style:none}.learn-press-form .form-fields .form-field{margin:0 0 20px 0}.learn-press-form .form-fields .form-field label{display:block;margin:0 0 10px 0}.learn-press-form .form-fields .form-field input[type=text],.learn-press-form .form-fields .form-field input[type=email],.learn-press-form .form-fields .form-field input[type=number],.learn-press-form .form-fields .form-field input[type=password],.learn-press-form .form-fields .form-field textarea{width:100%;padding:8px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.learn-press-form .form-fields .form-field .description{margin-top:10px;font-size:14px;font-style:italic;line-height:1.4}.learn-press-form .form-fields .form-field .asterisk{color:red}.learn-press-form-login,.learn-press-form-register{max-width:600px;margin-right:auto;margin-bottom:60px;margin-left:auto;padding:40px;border:1px solid #eee;border-radius:6px;box-shadow:0 4px 6px -1px rgba(0,0,0,0.1),0 2px 4px -1px rgba(0,0,0,0.06) !important}.learn-press-form-login h3,.learn-press-form-register h3{margin-bottom:20px;font-size:28px;line-height:1.4}.learn-press-form-login .form-fields .form-field label,.learn-press-form-register .form-fields .form-field label{font-size:16px;font-weight:400;user-select:none}.learn-press-form-login .form-fields .form-field input[type=text],.learn-press-form-login .form-fields .form-field input[type=password],.learn-press-form-login .form-fields .form-field input[type=tel],.learn-press-form-login .form-fields .form-field input[type=url],.learn-press-form-login .form-fields .form-field input[type=number],.learn-press-form-register .form-fields .form-field input[type=text],.learn-press-form-register .form-fields .form-field input[type=password],.learn-press-form-register .form-fields .form-field input[type=tel],.learn-press-form-register .form-fields .form-field input[type=url],.learn-press-form-register .form-fields .form-field input[type=number]{height:42px;border:1px solid #bbb;border-radius:4px;line-height:42px}.learn-press-form-login .form-fields .form-field input[type=text]:focus,.learn-press-form-login .form-fields .form-field input[type=password]:focus,.learn-press-form-login .form-fields .form-field input[type=tel]:focus,.learn-press-form-login .form-fields .form-field input[type=url]:focus,.learn-press-form-login .form-fields .form-field input[type=number]:focus,.learn-press-form-register .form-fields .form-field input[type=text]:focus,.learn-press-form-register .form-fields .form-field input[type=password]:focus,.learn-press-form-register .form-fields .form-field input[type=tel]:focus,.learn-press-form-register .form-fields .form-field input[type=url]:focus,.learn-press-form-register .form-fields .form-field input[type=number]:focus{border:0;outline:2px solid transparent !important;outline-offset:2px;box-shadow:0 0 0 2px #666 !important}.learn-press-form-login .form-fields .form-field.required label::after,.learn-press-form-register .form-fields .form-field.required label::after{content:" *";display:inline}.learn-press-form-login form[name=learn-press-login]>p>label,.learn-press-form-register form[name=learn-press-login]>p>label{color:#666;font-size:16px;cursor:pointer;user-select:none}.learn-press-form-login form[name=learn-press-login]>p>a,.learn-press-form-register form[name=learn-press-login]>p>a{color:#666;font-size:16px;line-height:1}.learn-press-form-login form[name=learn-press-login]>p:last-child,.learn-press-form-register form[name=learn-press-login]>p:last-child{margin-bottom:0}.learn-press-form-login button[type=submit],.learn-press-form-register button[type=submit]{width:100%;height:50px;border-radius:3px;outline:0;color:#fff;background:var(--lp-primary-color);box-shadow:none;font-size:16px;line-height:1;vertical-align:middle;text-decoration:none}.required label{font-weight:bold}.required label:after{content:" *";display:inline}.lp-password-input{display:flex;flex-direction:column;justify-content:center;position:relative}.lp-password-input input[type=password]{padding-right:2.5rem}.lp-password-input input::-ms-reveal{display:none}.lp-password-input .lp-show-password-input{position:absolute;top:8px;right:10px;cursor:pointer}.lp-password-input .lp-show-password-input::after{font-family:"Font Awesome 5 Free";font-weight:900;content:"\f06e"}.lp-password-input .lp-show-password-input.display-password::after{color:#585858;content:"\f070"}.form-desc{font-size:smaller;font-style:italic}.become-teacher-form{width:90%;max-width:500px;margin:0 auto}.become-teacher-form .form-field input[type=text],.become-teacher-form .form-field input[type=email],.become-teacher-form .form-field input[type=number],.become-teacher-form .form-field input[type=password]{width:100%}body div.entry-content>div.learnpress{--responsive--aligndefault-width:100%;max-width:var(--lp-content-width,100%)}.lp-user-profile{position:relative;background:#fff}.lp-user-profile .lp-user-profile-avatar img{position:relative;width:100%;height:auto;border-radius:unset;display:block}.lp-user-profile .lp-user-profile-avatar+.lp-user-profile-socials{margin-top:10px;margin-bottom:5px}.lp-user-profile .lp-user-profile-socials{display:flex;position:relative;z-index:1;justify-content:center;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.lp-user-profile .lp-user-profile-socials a{display:inline-flex;align-items:center;justify-content:center;width:35px;height:35px;margin:0 7px;border:1px solid #cfcfcf;color:#666;background:#fff;font-size:14px;line-height:35px;text-align:center;-webkit-border-radius:50%;-moz-border-radius:50%;border-radius:50%}.lp-user-profile .lp-user-profile-socials a:hover{border-color:var(--lp-primary-color);color:#fff;background:var(--lp-primary-color)}.lp-user-profile .wrapper-profile-header{color:#fff;background:var(--lp-secondary-color);position:relative}@media(max-width:990px){.lp-user-profile .wrapper-profile-header .lp-profile-content-area{min-height:inherit;padding:50px 15px}.lp-user-profile .wrapper-profile-header .lp-profile-left{float:left;position:static}.lp-user-profile .wrapper-profile-header .lp-profile-right{float:right;width:calc(100% - 270px);margin-left:0}}@media(max-width:768px){.lp-user-profile .wrapper-profile-header .lp-profile-left{width:220px}.lp-user-profile .wrapper-profile-header .lp-profile-right{width:calc(100% - 220px)}.lp-user-profile .wrapper-profile-header .lp-user-profile-socials{margin-right:-5px;margin-left:-5px}.lp-user-profile .wrapper-profile-header .lp-user-profile-socials a{width:36px;height:36px;margin:0 5px;line-height:36px}}@media(max-width:500px){.lp-user-profile .wrapper-profile-header .lp-profile-left{float:none;margin:0 auto}.lp-user-profile .wrapper-profile-header .lp-profile-right{width:100%;padding-top:30px;text-align:center}}.lp-user-profile .wrapper-profile-header::before{right:100%;left:auto}.lp-user-profile .wrapper-profile-header::after{left:100%;right:auto}.lp-user-profile .lp-profile-content-area{position:relative;padding-top:50px;padding-bottom:50px;display:flex;align-items:center}@media(max-width:650px){.lp-user-profile .lp-profile-content-area{flex-direction:column}.lp-user-profile .lp-profile-content-area .lp-profile-right{text-align:center;width:100%;padding:50px 15px 0}}.lp-user-profile .lp-profile-left{min-width:270px;max-width:270px;padding:5px;border:2px solid #eaeaea;border-radius:3px}.lp-user-profile .lp-profile-right{padding-right:15px;padding-left:35px}.lp-user-profile .lp-profile-username{padding-bottom:10px;font-size:18px;font-weight:500;text-transform:capitalize}.lp-user-profile .lp-profile-username::before,.lp-user-profile .lp-profile-username::after{content:"";width:30px;height:1px;background-color:white;display:inline-block;vertical-align:middle;margin:0}.lp-user-profile .lp-profile-username::before{margin-right:5px}.lp-user-profile .lp-profile-username::after{margin-left:5px}.lp-user-profile .lp-profile-user-bio{font-size:16px;font-weight:300;line-height:26px}.lp-user-profile #profile-sidebar{float:left;width:270px;margin-top:0;border:1px solid rgba(0,0,0,0.1);border-top:0;background:#fff;margin-top:58px}@media(max-width:990px){.lp-user-profile #profile-sidebar{width:100%}.lp-user-profile #profile-sidebar .lp-user-profile-avatar{max-width:150px}}.lp-user-profile #profile-nav .lp-profile-nav-tabs{margin:0;padding:0;list-style:none}.lp-user-profile #profile-nav .lp-profile-nav-tabs>li{position:relative;margin:0;border-top:1px solid rgba(204,204,204,0.3)}.lp-user-profile #profile-nav .lp-profile-nav-tabs>li a{display:block;padding:0 20px;color:#333;font-size:16px;font-weight:500;line-height:50px}.lp-user-profile #profile-nav .lp-profile-nav-tabs>li>a{padding:0 20px 0 52px}.lp-user-profile #profile-nav .lp-profile-nav-tabs>li>a>i{display:inline-block;position:absolute;left:24px;width:28px;color:var(--lp-primary-color);font-size:12px;line-height:53px;text-align:left}.lp-user-profile #profile-nav .lp-profile-nav-tabs>li>a::after{float:right;margin-right:4px;color:#999;font-family:"Font Awesome 5 Free";font-size:10px;font-weight:900;content:"\f054"}.lp-user-profile #profile-nav .lp-profile-nav-tabs>li ul li{margin:0}.lp-user-profile #profile-nav .lp-profile-nav-tabs>li ul li a{border-bottom:1px solid #f9f9f9}.lp-user-profile #profile-nav .lp-profile-nav-tabs>li ul li a:hover{color:var(--lp-primary-color);background:#fff}.lp-user-profile #profile-nav .lp-profile-nav-tabs>li ul li:hover>a i{color:var(--lp-primary-color);background:#fff}.lp-user-profile #profile-nav .lp-profile-nav-tabs>li.active,.lp-user-profile #profile-nav .lp-profile-nav-tabs>li:hover{background:var(--lp-primary-color)}.lp-user-profile #profile-nav .lp-profile-nav-tabs>li.active>a::after,.lp-user-profile #profile-nav .lp-profile-nav-tabs>li:hover>a::after{content:"\f053"}.lp-user-profile #profile-nav .lp-profile-nav-tabs>li.active a{padding-left:52px}.lp-user-profile #profile-nav .lp-profile-nav-tabs>li:last-child{border-bottom-right-radius:4px;border-bottom-left-radius:4px}.lp-user-profile #profile-nav .lp-profile-nav-tabs>li.wishlist>a::before{position:absolute;left:25px;color:var(--lp-primary-color);font-family:"Font Awesome 5 Free";font-size:12px;font-weight:900;content:"\f004"}.lp-user-profile #profile-nav .lp-profile-nav-tabs>li.wishlist:hover a::before{color:#fff}.lp-user-profile #profile-nav .lp-profile-nav-tabs>li.logout>a::after{display:none}.lp-user-profile #profile-nav .lp-profile-nav-tabs li>a{box-sizing:border-box;height:50px}.lp-user-profile #profile-nav .lp-profile-nav-tabs li>ul{display:none;position:absolute;z-index:1000;top:0;left:100%;min-width:150px;margin:0;padding:0;background:#fff;box-shadow:0 15px 20px 0 rgba(0,0,0,0.05);list-style:none}.lp-user-profile #profile-nav .lp-profile-nav-tabs li.active>a,.lp-user-profile #profile-nav .lp-profile-nav-tabs li:hover>a{color:#fff}.lp-user-profile #profile-nav .lp-profile-nav-tabs li.active>a i,.lp-user-profile #profile-nav .lp-profile-nav-tabs li.active>a::after,.lp-user-profile #profile-nav .lp-profile-nav-tabs li:hover>a i,.lp-user-profile #profile-nav .lp-profile-nav-tabs li:hover>a::after{color:#fff}.lp-user-profile #profile-nav .lp-profile-nav-tabs li.active>ul,.lp-user-profile #profile-nav .lp-profile-nav-tabs li:hover>ul{display:block}.lp-user-profile #profile-nav .lp-profile-nav-tabs li.active>ul{position:relative;left:0}.lp-user-profile #profile-nav .lp-profile-nav-tabs li.active>ul .active{background:#fff}.lp-user-profile #profile-nav .lp-profile-nav-tabs li.active>ul .active>a{color:#ffb606}.lp-user-profile #profile-nav .lp-profile-nav-tabs li.active>ul .active>a i{color:#ffb606}@media(max-width:990px){.lp-user-profile #profile-nav{overflow-x:scroll;border-top:1px solid rgba(204,204,204,0.3)}.lp-user-profile #profile-nav .lp-profile-nav-tabs{width:max-content}.lp-user-profile #profile-nav .lp-profile-nav-tabs::after{display:table;clear:both;content:""}.lp-user-profile #profile-nav .lp-profile-nav-tabs>li{float:left;border:0;border-right:1px solid rgba(204,204,204,0.3)}.lp-user-profile #profile-nav .lp-profile-nav-tabs>li>a{height:auto;padding:0 20px 0 45px}.lp-user-profile #profile-nav .lp-profile-nav-tabs>li>a::after{margin-left:10px}.lp-user-profile #profile-nav .lp-profile-nav-tabs>li.has-child a::after{content:"\f077"}.lp-user-profile #profile-nav .lp-profile-nav-tabs>li.active a{padding-left:45px}.lp-user-profile #profile-nav .lp-profile-nav-tabs>li.active a::after{content:"\f078"}.lp-user-profile #profile-nav .lp-profile-nav-tabs>li.active.has-child ul{display:none;width:max-content;transform:translateX(-20%)}.lp-user-profile #profile-nav .lp-profile-nav-tabs>li.active.has-child ul::after{display:table;clear:both;box-shadow:0 0;content:""}.lp-user-profile #profile-nav .lp-profile-nav-tabs>li.active.has-child ul li{float:left;border-right:1px solid rgba(204,204,204,0.3)}.lp-user-profile #profile-nav .lp-profile-nav-tabs>li.active.has-child ul li:last-child{border-right:0}.lp-user-profile #profile-nav .lp-profile-nav-tabs>li.active.has-child ul li a{padding:0 10px}.lp-user-profile #profile-nav .lp-profile-nav-tabs li:hover ul{display:none !important}.lp-user-profile #profile-nav .lp-profile-nav-tabs li:not(.has-child)>a::after{display:none}}@media(max-width:560px){.lp-user-profile #profile-nav .lp-profile-nav-tabs>li{max-width:80px}.lp-user-profile #profile-nav .lp-profile-nav-tabs>li>a{font-size:0}.lp-user-profile #profile-nav .lp-profile-nav-tabs>li>a::after{margin-left:0}}.lp-user-profile .lp-profile-content{float:right;width:calc(100% - 300px);margin-bottom:60px;padding-top:58px}@media(max-width:990px){.lp-user-profile .lp-profile-content{width:100%}}@media(max-width:767px){.lp-user-profile .lp-profile-content .learn-press-tabs__nav{display:block;width:100%;border:0}.lp-user-profile .lp-profile-content .learn-press-tabs__nav::after{display:table;clear:both;content:""}.lp-user-profile .lp-profile-content .learn-press-tabs__tab{float:left;border-right:0}.lp-user-profile .lp-profile-content .learn-press-tabs__tab label{padding-right:25px;padding-left:25px}.lp-user-profile .lp-profile-content .profile-orders{overflow-x:scroll}}.lp-user-profile .lp-profile-content .course-categories,.lp-user-profile .lp-profile-content .course-instructor{margin-bottom:14px}.lp-user-profile .lp-profile-content .course-categories{padding:0}.lp-user-profile .lp-profile-content .lp-button{display:block;margin:0 auto 52px auto;padding:13px 34px;border-color:var(--lp-secondary-color);font-size:14px;font-weight:500;-webkit-border-radius:9px;-moz-border-radius:9px;border-radius:9px}.lp-user-profile .lp-profile-content .lp-button:hover{border-color:var(--lp-primary-color)}.lp-user-profile ul.learn-press-courses .course{margin:0 0 40px 0}.lp-user-profile .profile-orders .profile-heading{display:none}.lp-user-profile .profile-orders table{margin-top:0}.lp-user-profile .profile-orders .column-order-actions a{margin-right:6px;color:black;text-decoration:underline;font-weight:500}.lp-user-profile .profile-orders .column-order-actions a:hover,.lp-user-profile .profile-orders .column-order-actions a:focus{color:var(--lp-primary-color)}.lp-user-profile #dashboard-general-statistic{margin-bottom:55px;padding-bottom:20px;border-bottom:1px solid #ddd}.lp-user-profile .dashboard-general-statistic__row{display:flex;margin:0 -15px;justify-content:center;flex-wrap:wrap}.lp-user-profile .dashboard-general-statistic__row .statistic-box{min-width:200px;max-width:270px;margin:0 15px 40px 15px;padding:15px 20px;border:1px solid #ccc;border-radius:4px;background:#f9fafc;text-align:center}@media(max-width:990px){.lp-user-profile .dashboard-general-statistic__row .statistic-box{width:45%}}@media(max-width:767px){.lp-user-profile .dashboard-general-statistic__row .statistic-box{width:100%;margin:0 15px 15px}}.lp-user-profile .dashboard-general-statistic__row .statistic-box:hover{background:#eaeaea}.lp-user-profile .dashboard-general-statistic__row[data-col="2"] .statistic-box{width:50%}.lp-user-profile .dashboard-general-statistic__row[data-col="4"] .statistic-box{width:25%}.lp-user-profile .dashboard-general-statistic__row[data-col="5"] .statistic-box{width:20%}.lp-user-profile .statistic-box .statistic-box__text{margin:0 0 7px 0;padding:0;color:#666;font-size:18px;font-weight:400;line-height:1}.lp-user-profile .statistic-box .statistic-box__number{color:#333;font-size:18px;font-weight:500;line-height:1}.lp-user-profile .profile-courses>h3{margin-top:0;margin-bottom:36px;color:#333;font-size:30px;font-weight:600;line-height:1;text-transform:capitalize}.lp-profile-content table.lp-list-table{border-spacing:0;border-top:1px solid #ccc;border-left:1px solid #ccc;margin-bottom:40px}.lp-profile-content table.lp-list-table tr th,.lp-profile-content table.lp-list-table tr td{border-right:1px solid #ccc;border-bottom:1px solid #ccc;text-align:center}.lp-profile-content table.lp-list-table tr td a{color:var(--wp--preset--color--foreground);font-weight:400}.lp-profile-content table.lp-list-table tr td a:hover{color:var(--lp-primary-color)}.lp-profile-content #profile-content-order-details h3{margin-top:0;font-size:30px;line-height:1.5;font-weight:500;margin-bottom:15px;font-family:var(--wp--preset--font-family--system-font)}.profile-basic-information .form-field,form[name=profile-change-password] .form-field{margin:0 10px 24px 10px}.profile-basic-information .form-field>label,form[name=profile-change-password] .form-field>label{margin:0 0 12px 0;color:#333;font-size:16px;font-weight:500;font-style:italic}.profile-basic-information .form-field .form-field-input input,form[name=profile-change-password] .form-field .form-field-input input{height:43px;padding:8px 20px;font-weight:400}.profile-basic-information .form-field .form-field-input input[type=password],form[name=profile-change-password] .form-field .form-field-input input[type=password]{padding:8px 20px}.profile-basic-information .form-field .form-field-input textarea,form[name=profile-change-password] .form-field .form-field-input textarea{padding:9px 20px 16px 20px;font-weight:300;line-height:24px}.profile-basic-information .form-field .form-field-input input,.profile-basic-information .form-field .form-field-input textarea,form[name=profile-change-password] .form-field .form-field-input input,form[name=profile-change-password] .form-field .form-field-input textarea{border:1px solid #ccc;color:#999;font-size:14px;font-style:italic}.profile-basic-information .form-field .form-field-input input:focus,.profile-basic-information .form-field .form-field-input textarea:focus,form[name=profile-change-password] .form-field .form-field-input input:focus,form[name=profile-change-password] .form-field .form-field-input textarea:focus{border-color:var(--lp-primary-color);outline:0;color:#222}.profile-basic-information .form-field .form-field-input ::placeholder,form[name=profile-change-password] .form-field .form-field-input ::placeholder{opacity:1;color:#999}.profile-basic-information .form-field .form-field-input :-ms-input-placeholder,form[name=profile-change-password] .form-field .form-field-input :-ms-input-placeholder{color:#999}.profile-basic-information .form-field .form-field-input ::-ms-input-placeholder,form[name=profile-change-password] .form-field .form-field-input ::-ms-input-placeholder{color:#999}.profile-basic-information .form-field .form-field-input .description,form[name=profile-change-password] .form-field .form-field-input .description{margin-top:15px}@media(max-width:767px){.profile-basic-information .form-field,form[name=profile-change-password] .form-field{margin:0 0 24px 0}}.profile-basic-information .form-field__50,form[name=profile-change-password] .form-field__50{float:left;width:calc(50% - 20px);margin-right:10px}@media(max-width:767px){.profile-basic-information .form-field__50,form[name=profile-change-password] .form-field__50{float:unset;width:100%;margin:0 0 24px 0}}.profile-basic-information .form-field__clear,form[name=profile-change-password] .form-field__clear{clear:both}.profile-basic-information button,form[name=profile-change-password] button{padding:16px 24px;border:0;border-radius:3px;color:#fff;background:var(--lp-primary-color);font-size:16px;font-weight:400;line-height:1}.profile-basic-information button:hover,form[name=profile-change-password] button:hover{opacity:.5;background:var(--lp-primary-color)}.profile-basic-information p,form[name=profile-change-password] p{margin:0}#learn-press-profile-basic-information .form-fields::after{display:block;clear:both;content:""}@media(max-width:767px){#learn-press-profile-basic-information .form-fields{margin:0}}#learn-press-profile-basic-information button[type=submit]{padding:0 15px;height:40px;line-height:40px;border:0;display:inline-flex;align-items:center;justify-content:center;background-color:var(--lp-primary-color);color:white;font-size:16px;font-weight:400;-webkit-transition:.3s;-moz-transition:.3s;-ms-transition:.3s;-o-transition:.3s;transition:.3s;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}#learn-press-profile-basic-information button[type=submit]:hover{opacity:.5;background-color:var(--lp-primary-color)}.recover-order__title{margin-bottom:5px}.recover-order__description{margin-bottom:20px;color:#999;font-size:.8em;font-style:italic}div.order-recover{display:flex}div.order-recover>.button-recover-order{margin:0;margin-left:20px;flex:0 0 auto}div.order-recover>.button-recover-order.loading::before{display:inline-block;margin-right:5px;font-family:"Font Awesome 5 Free";font-weight:900;content:"\f110";animation:lp-rotating 1s linear infinite}div.order-recover input[type=text]{width:100%;height:43px;margin-right:10px;padding:0 22px;border:1px solid #ccc;border-radius:3px;background-color:#fff;font-size:14px;font-weight:300;font-style:italic;line-height:43px;flex:1 1 auto}.learn-press-profile-course__progress .lp_profile_course_progress{border:1px solid #eee;border-top:0;overflow-x:auto}.learn-press-profile-course__progress .lp_profile_course_progress__item{display:grid;align-items:center;padding:15px;border-top:1px solid #eee;grid-template-columns:90px 1fr 80px 190px 140px;column-gap:20px}.learn-press-profile-course__progress .lp_profile_course_progress__item div img{max-width:60px;height:auto}@media(max-width:575px){.learn-press-profile-course__progress .lp_profile_course_progress__item div img{max-width:100%}}@media(max-width:575px){.learn-press-profile-course__progress .lp_profile_course_progress__item{display:block}}.learn-press-profile-course__progress .lp_profile_course_progress__header{background-color:#eee}@media(max-width:575px){.learn-press-profile-course__progress .lp_profile_course_progress__header{display:flex;overflow-x:auto;white-space:nowrap;justify-content:flex-end}}.lp_profile_course_progress__nav button.loading::before{display:inline-block;margin-right:5px;font-family:"Font Awesome 5 Free";font-weight:900;content:"\f110";-webkit-animation:lp-rotating 1s linear infinite;-moz-animation:lp-rotating 1s linear infinite;animation:lp-rotating 1s linear infinite}.entry-content ul.learn-press-profile-course__tab__inner{padding:0}.content ul.learn-press-courses{margin-left:-15px;margin-right:-15px}.content ul.learn-press-courses[data-layout=list]{margin:0}.learn-press-profile-course__tab__inner{display:flex;margin:40px 0 0 0 !important;padding:0 !important;background:#eee;list-style:none !important}.learn-press-profile-course__tab__inner>li{list-style:none;margin:0 !important}.learn-press-profile-course__tab__inner>li:hover{cursor:pointer}.learn-press-profile-course__tab__inner a{display:inline-block;padding:15px 30px;font-weight:600;position:relative}.learn-press-profile-course__tab__inner a.active{color:var(--lp-primary-color);background:#fff}.learn-press-profile-course__tab__inner a.active::before{content:"";height:3px;width:100%;background-color:var(--lp-primary-color);position:absolute;top:0;left:0;right:auto}.learn-press-course-tab-filters .learn-press-filters{margin-top:20px;margin-left:0;padding:0;list-style:none}.learn-press-course-tab-filters .learn-press-filters a.active{color:var(--lp-primary-color)}.lp-profile-content ul{list-style:none !important;padding:0 !important}.learnpress_avatar__form label{display:inline-block}.learnpress_avatar__form input[type=file]{display:none}.learnpress_avatar__form__upload{display:flex;width:200px;height:200px;border:1px dashed #ccc;border-radius:3px;background-color:#fafafa;font-size:14px;font-weight:300;font-style:italic;line-height:43px;text-align:center;cursor:pointer;align-items:center;justify-content:center}.learnpress_avatar__form__upload div{line-height:1.4}.learnpress_avatar__button--loading::before{display:inline-block;margin-right:5px;font-family:"Font Awesome 5 Free";font-weight:900;content:"\f110";-webkit-animation:lp-rotating 1s linear infinite;-moz-animation:lp-rotating 1s linear infinite;animation:lp-rotating 1s linear infinite}button.learnpress_avatar__button{height:40px;padding:0 15px;border:0;background:var(--lp-primary-color);color:white;margin-top:15px;border-radius:3px}button.learnpress_avatar__button+button{margin-left:15px;margin-right:0}#primary .learn-press-courses[data-size="3"] .course{width:50%}body.learnpress .learn-press-tabs .learn-press-tabs__tab,body.learnpress .attachment-recent-works-thumbnail{border-radius:0}#learn-press-course-tabs.show-all .course-tab-panel{margin-bottom:40px}#learn-press-course-tabs input[name=learn-press-course-tab-radio]:nth-child(1):checked ~ .course-tab-panels .course-tab-panel:nth-child(1){display:block}#learn-press-course-tabs input[name=learn-press-course-tab-radio]:nth-child(1):checked ~ .learn-press-nav-tabs .course-nav:nth-child(1){border-bottom:0}#learn-press-course-tabs input[name=learn-press-course-tab-radio]:nth-child(1):checked ~ .learn-press-nav-tabs .course-nav:nth-child(1) label{color:var(--lp-primary-color);background:#fff}#learn-press-course-tabs input[name=learn-press-course-tab-radio]:nth-child(2):checked ~ .course-tab-panels .course-tab-panel:nth-child(2){display:block}#learn-press-course-tabs input[name=learn-press-course-tab-radio]:nth-child(2):checked ~ .learn-press-nav-tabs .course-nav:nth-child(2){border-bottom:0}#learn-press-course-tabs input[name=learn-press-course-tab-radio]:nth-child(2):checked ~ .learn-press-nav-tabs .course-nav:nth-child(2) label{color:var(--lp-primary-color);background:#fff}#learn-press-course-tabs input[name=learn-press-course-tab-radio]:nth-child(3):checked ~ .course-tab-panels .course-tab-panel:nth-child(3){display:block}#learn-press-course-tabs input[name=learn-press-course-tab-radio]:nth-child(3):checked ~ .learn-press-nav-tabs .course-nav:nth-child(3){border-bottom:0}#learn-press-course-tabs input[name=learn-press-course-tab-radio]:nth-child(3):checked ~ .learn-press-nav-tabs .course-nav:nth-child(3) label{color:var(--lp-primary-color);background:#fff}#learn-press-course-tabs input[name=learn-press-course-tab-radio]:nth-child(4):checked ~ .course-tab-panels .course-tab-panel:nth-child(4){display:block}#learn-press-course-tabs input[name=learn-press-course-tab-radio]:nth-child(4):checked ~ .learn-press-nav-tabs .course-nav:nth-child(4){border-bottom:0}#learn-press-course-tabs input[name=learn-press-course-tab-radio]:nth-child(4):checked ~ .learn-press-nav-tabs .course-nav:nth-child(4) label{color:var(--lp-primary-color);background:#fff}#learn-press-course-tabs input[name=learn-press-course-tab-radio]:nth-child(5):checked ~ .course-tab-panels .course-tab-panel:nth-child(5){display:block}#learn-press-course-tabs input[name=learn-press-course-tab-radio]:nth-child(5):checked ~ .learn-press-nav-tabs .course-nav:nth-child(5){border-bottom:0}#learn-press-course-tabs input[name=learn-press-course-tab-radio]:nth-child(5):checked ~ .learn-press-nav-tabs .course-nav:nth-child(5) label{color:var(--lp-primary-color);background:#fff}#learn-press-course-tabs input[name=learn-press-course-tab-radio]:nth-child(6):checked ~ .course-tab-panels .course-tab-panel:nth-child(6){display:block}#learn-press-course-tabs input[name=learn-press-course-tab-radio]:nth-child(6):checked ~ .learn-press-nav-tabs .course-nav:nth-child(6){border-bottom:0}#learn-press-course-tabs input[name=learn-press-course-tab-radio]:nth-child(6):checked ~ .learn-press-nav-tabs .course-nav:nth-child(6) label{color:var(--lp-primary-color);background:#fff}#learn-press-course-tabs input[name=learn-press-course-tab-radio]:nth-child(7):checked ~ .course-tab-panels .course-tab-panel:nth-child(7){display:block}#learn-press-course-tabs input[name=learn-press-course-tab-radio]:nth-child(7):checked ~ .learn-press-nav-tabs .course-nav:nth-child(7){border-bottom:0}#learn-press-course-tabs input[name=learn-press-course-tab-radio]:nth-child(7):checked ~ .learn-press-nav-tabs .course-nav:nth-child(7) label{color:var(--lp-primary-color);background:#fff}#learn-press-course-tabs input[name=learn-press-course-tab-radio]:nth-child(8):checked ~ .course-tab-panels .course-tab-panel:nth-child(8){display:block}#learn-press-course-tabs input[name=learn-press-course-tab-radio]:nth-child(8):checked ~ .learn-press-nav-tabs .course-nav:nth-child(8){border-bottom:0}#learn-press-course-tabs input[name=learn-press-course-tab-radio]:nth-child(8):checked ~ .learn-press-nav-tabs .course-nav:nth-child(8) label{color:var(--lp-primary-color);background:#fff}#learn-press-course-tabs input[name=learn-press-course-tab-radio]:nth-child(9):checked ~ .course-tab-panels .course-tab-panel:nth-child(9){display:block}#learn-press-course-tabs input[name=learn-press-course-tab-radio]:nth-child(9):checked ~ .learn-press-nav-tabs .course-nav:nth-child(9){border-bottom:0}#learn-press-course-tabs input[name=learn-press-course-tab-radio]:nth-child(9):checked ~ .learn-press-nav-tabs .course-nav:nth-child(9) label{color:var(--lp-primary-color);background:#fff}.course-tab-panels .course-tab-panel{padding-top:30px}.course-tab-panel{display:none}.course-tab-panel.active{display:block}.course-tab-panel .course-description{color:#666;font-size:16px;font-weight:300;line-height:26px}.course-tab-panel .course-description h4{margin-top:0;margin-bottom:1.125rem;color:#333;font-size:18px;font-weight:500}.course-tab-panel .course-description p{line-height:inherit}.course-tab-panel .course-description img{max-width:100%;height:auto;vertical-align:middle}.course-tab-panel .lp-course-author{display:flex;margin-bottom:40px}@media(max-width:767px){.course-tab-panel .lp-course-author{flex-direction:column}}.course-tab-panel .lp-course-author .course-author__pull-left{margin-right:30px;text-align:center;align-items:center}@media(max-width:767px){.course-tab-panel .lp-course-author .course-author__pull-left{margin-right:0;margin-bottom:30px}}.course-tab-panel .lp-course-author img{width:50px;height:50px;margin-bottom:20px;border-radius:50%;object-fit:cover;object-position:center}.course-tab-panel .lp-course-author .course-author__pull-right{flex:1}@media(max-width:767px){.course-tab-panel .lp-course-author .course-author__pull-right{width:100%;text-align:center}}.course-tab-panel .lp-course-author .author-title{margin-bottom:18px}.course-tab-panel .lp-course-author .author-title a{color:#333;box-shadow:none;font-size:18px;font-weight:500;text-transform:capitalize}.course-tab-panel .lp-course-author .author-title a:hover{color:var(--lp-primary-color)}.course-tab-panel .lp-course-author .author-description{color:#666;font-size:16px;font-weight:300;line-height:26px}.course-tab-panel .lp-course-author .author-socials{display:grid;grid-template-columns:repeat(4,33px);gap:10px;justify-content:center}.course-tab-panel .lp-course-author .author-socials>a{display:inline-block;width:33px;height:33px;margin:0;border:1px solid #ededed;border-radius:50%;color:#878787;box-shadow:none;font-size:14px;line-height:33px;text-align:center;vertical-align:middle;transition:all .3s}.course-tab-panel .lp-course-author .author-socials>a:hover{border-color:var(--lp-primary-color);color:#fff;background:var(--lp-primary-color)}.course-tab-panel .lp-course-author .author-socials .fa-googleplus::before{content:"\f0d5"}.course-summary div.lp-list-co-instructor{display:grid;grid-template-columns:repeat(2,1fr);gap:40px}.course-summary div.lp-list-co-instructor__item{display:flex;column-gap:30px}@media(max-width:767px){.course-summary div.lp-list-co-instructor__item{align-items:center;flex-direction:column;padding:0 15px;column-gap:0;row-gap:10px}}.course-summary div.lp-list-co-instructor__avatar>img{width:100%;max-width:96px;border-radius:999px}.course-summary div.lp-list-co-instructor__bio{flex:1}.course-summary div.lp-list-co-instructor__bio__top>a{font-size:18px;font-weight:600}.course-summary div.lp-list-co-instructor__bio__description{font-size:1rem}.course-summary .course-price{margin-bottom:10px}.course-summary .course-price .origin-price,.course-summary .course-price .price{vertical-align:middle}.course-summary .course-price .origin-price{margin-right:10px;font-size:18px;font-style:italic;text-decoration:line-through}.course-summary .course-price .price{font-size:24px}.course-summary .course-summary-sidebar .lp-course-buttons{margin-bottom:20px}.course-summary .course-featured-review .featured-review__title{margin-top:0;margin-bottom:6px;font-size:1.2rem;font-weight:500}.course-summary .course-featured-review .featured-review__stars{padding-bottom:12px;color:var(--lp-primary-color);font-size:16px}.course-summary .course-featured-review .featured-review__content{position:relative;color:#666;font-size:1rem;font-style:italic;line-height:24px}.course-summary .course-featured-review .featured-review__content::after{position:absolute;top:-42px;right:-15px;color:rgba(102,102,102,0.1);font-family:Arial;font-size:180px;font-weight:700;font-style:normal;content:"‘‘";transform:rotate(180deg)}.course-summary .course-tags a{display:inline-block;padding:3px 5px;border-radius:4px;color:#fff;background:#9aa5ab;font-size:12px;line-height:1}.edit-content{margin-left:5px}ul.learn-press-nav-tabs{display:flex;margin:0;padding:0;border-bottom:0;background:#f1f2f8;list-style:none}ul.learn-press-nav-tabs .course-nav{float:left;position:relative;margin:0;list-style:none}ul.learn-press-nav-tabs .course-nav:first-child.active::after{position:absolute;top:-1px;left:-1px;width:1px;height:100%;background:#fff;content:""}ul.learn-press-nav-tabs .course-nav:last-child{border-right:0}ul.learn-press-nav-tabs .course-nav:last-child.active::after{position:absolute;top:-1px;right:-2px;width:2px;height:100%;background:#fff;content:""}ul.learn-press-nav-tabs .course-nav.active{border-bottom:0}ul.learn-press-nav-tabs .course-nav.active::before{position:absolute;top:-1px;left:0;width:100%;height:3px;background:var(--lp-primary-color);content:""}ul.learn-press-nav-tabs .course-nav.active label{color:var(--lp-primary-color);background-color:white}ul.learn-press-nav-tabs .course-nav a{display:inline-block;padding:10px 20px;border-bottom:0;outline:0;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}ul.learn-press-nav-tabs .course-nav a:focus{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}ul.learn-press-nav-tabs[data-tabs] .course-nav{flex:1}ul.learn-press-nav-tabs[data-tabs] .course-nav a{width:100%;text-align:center}ul.learn-press-nav-tabs::after{display:block;clear:both;content:""}@media(max-width:767px){ul.learn-press-nav-tabs{display:grid;grid-template-columns:repeat(2,1fr);max-height:none}}.course-item-popup #tab-curriculum{display:block}.course-curriculum ul.curriculum-sections{position:relative;z-index:499;margin:0;padding:0;list-style:none}.course-curriculum ul.curriculum-sections .closed .section-item__loadmore{display:none}.course-curriculum ul.curriculum-sections .section{margin:0;padding:0;flex-wrap:wrap}.course-curriculum ul.curriculum-sections .section:last-child{padding:0}.course-curriculum ul.curriculum-sections .section.section-empty .section-header{margin-bottom:20px}.course-curriculum ul.curriculum-sections .section.section-empty .learn-press-message{margin-right:15px;margin-left:15px}.course-curriculum ul.curriculum-sections .section-title.c+.section-desc{display:block}.course-curriculum ul.curriculum-sections .section-title.c span.show-desc::before{-webkit-transform:rotate(180deg);-moz-transform:rotate(180deg);-ms-transform:rotate(180deg);-o-transform:rotate(180deg);transform:rotate(180deg);top:0}.course-curriculum ul.curriculum-sections .item-meta.duration{background:#d9e0f1}.course-curriculum .section-item__loadmore{display:flex;justify-content:center;align-items:center}.course-curriculum .section-item__loadmore button{display:inline-flex;margin-top:10px;margin-right:auto;margin-left:auto;padding:10px 20px;border:1px solid #ccc;border-radius:4px;outline:0;color:#222;background:#f7f7f7;box-shadow:none;font-weight:500;justify-content:center;align-items:center;cursor:pointer;font-size:1rem;font-family:sans-serif}.course-curriculum .section-item__loadmore.loading button::before{display:inline-block;margin-right:5px;font-family:"Font Awesome 5 Free";font-weight:900;content:"\f110";-webkit-animation:lp-rotating 1s linear infinite;-moz-animation:lp-rotating 1s linear infinite;animation:lp-rotating 1s linear infinite}.course-curriculum .section-header{display:table;width:100%;padding:0 0 26px 0;border-bottom:0;border-bottom:1px solid #d9e0f1;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.course-curriculum .section-header .section-title,.course-curriculum .section-header .section-desc{margin:0}.course-curriculum .section-header span.show-desc{display:inline-block;position:absolute;top:50%;right:30px;width:20px;height:20px;transform:translate(0,-50%)}.course-curriculum .section-header span.show-desc::before{font-family:"Font Awesome 5 Free";font-size:18px;font-weight:900;content:"\f107"}.course-curriculum .section-header span.show-desc:hover::before{border-top-color:#ccc}.course-curriculum .section-header .section-desc{margin:0;margin-top:10px;font-size:14px;line-height:21px;color:#999;font-style:italic}.course-curriculum .section-header .section-meta{display:block;padding-top:17px;padding-bottom:15px;font-size:14px;text-align:right;vertical-align:middle;white-space:nowrap}.course-curriculum .section-item{width:100%}.course-curriculum .section-content{margin:0 0 15px 0;padding:0;list-style:none}.course-curriculum .section-content .course-item-meta{display:table-cell;padding:10px 0;text-align:right;vertical-align:middle;white-space:nowrap}.course-curriculum .section-content .course-item-meta .item-meta{display:inline-block;margin-left:14px;border-radius:3px;color:#fff;font-size:14px;line-height:23px;text-align:center;vertical-align:middle;padding:0 8px}.course-curriculum .section-content .course-item-meta .item-meta.final-quiz{background:#14c4ff}.course-curriculum .section-content .course-item-meta .item-meta.trans{padding:0}.course-curriculum .section-content .course-item-meta .count-questions{background:#9672cf}.course-curriculum .section-content .course-item-meta .duration{background:silver}.course-curriculum .section-content .course-item-meta .course-item-status{padding:0;color:#999;-webkit-border-radius:50%;-moz-border-radius:50%;border-radius:50%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.course-curriculum .section-content .course-item-meta .course-item-status::before{font-family:"Font Awesome 5 Free";font-size:14px;font-weight:900;vertical-align:middle;text-transform:lowercase;content:"\f00c"}.course-curriculum .section-content .course-item-preview{font-style:normal;padding:0}.course-curriculum .section-content .course-item-preview::before{color:#fff;padding:0 8px;background:#00adff;display:inline-flex;align-items:center;justify-content:center;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;vertical-align:baseline;content:attr(data-preview)}.course-curriculum .course-item{display:flex;position:relative;margin:0 0 2px 0;padding:0 15px 0 30px;background:rgba(241,242,248,0.4);font-size:14px;transition:padding-left linear .15s}@media(max-width:767px){.course-curriculum .course-item{padding:0 0 0 15px}}.course-curriculum .course-item>span{display:flex;width:28px;color:#666;font-size:16px;font-weight:300;align-items:center}.course-curriculum .course-item .section-item-link{display:table;padding-right:15px;padding-left:0;border-bottom:0;outline:0;box-shadow:none;line-height:1.5;color:#777;text-decoration:none}.course-curriculum .course-item .section-item-link:hover .item-name{color:var(--lp-primary-color)}.course-curriculum .course-item .section-item-link::before{display:table-cell;display:table-cell;left:0;width:20px;padding:15px 0;color:var(--lp-primary-color);font-family:"Font Awesome 5 Free";font-size:18px;font-weight:400;vertical-align:middle;transition:left linear .15s}.course-curriculum .course-item .item-icon,.course-curriculum .course-item .item-name{display:table-cell;padding:17px 16px;color:#333;font-size:16px;font-weight:600;vertical-align:middle}.course-curriculum .course-item .item-icon::before{font-size:18px}.course-curriculum .course-item .item-icon.icon-lock{float:right;margin-top:15px}.course-curriculum .course-item.course-item-lp_quiz .section-item-link::before{content:"\f059"}.course-curriculum .course-item.course-item-lp_lesson .section-item-link::before{content:"\f15b"}.course-curriculum .course-item.course-item-lp_lesson.course-item-type-video .section-item-link::before{content:"\f03d"}.course-curriculum .course-item.course-item-lp_lesson.course-item-type-audio .section-item-link::before{content:"\f028"}.course-curriculum .course-item.item-locked .course-item-status::before{color:var(--lp-secondary-color);content:"\f023"}.course-curriculum .course-item.has-status{padding-top:1px}.course-curriculum .course-item.has-status.status-completed .course-item-status::before,.course-curriculum .course-item.has-status.status-evaluated .course-item-status::before{color:#3bb54a}.course-curriculum .course-item.has-status.item-failed .course-item-status::before,.course-curriculum .course-item.has-status.failed .course-item-status::before{border-color:#f02425;color:#f02425;content:"\f00d"}.course-curriculum .course-item::before{position:absolute;top:50%;left:0;width:3px;height:0;background:#00adff;content:"";transition:height linear .15s,top linear .15s}.course-curriculum .course-item.current{padding-left:10px;background:#f9f9f9}.course-curriculum .course-item.current a::before{left:10px}.course-curriculum .course-item.current::before{top:0;height:100%}.course-curriculum .section-left{vertical-align:top}.course-curriculum .section-left .section-title{padding:0;color:#666;font-size:1.4rem;letter-spacing:0;text-transform:capitalize;display:block}.course-curriculum .curriculum-more__button{display:flex;width:100%;margin-top:20px;margin-bottom:20px;padding:10px 0;border:0;outline:0;color:#fff;background:#333;box-shadow:none;justify-content:center;align-items:center;cursor:pointer;font-size:1rem;font-family:sans-serif}.course-curriculum .curriculum-more__button.loading::before{display:inline-block;margin-right:5px;font-family:"Font Awesome 5 Free";font-weight:900;content:"\f110";-webkit-animation:lp-rotating 1s linear infinite;-moz-animation:lp-rotating 1s linear infinite;animation:lp-rotating 1s linear infinite}body.course-item-popupx{overflow:hidden;_opacity:0}body.course-item-popupx #learn-press-course-curriculum{overflow:auto;position:fixed;z-index:9999;top:32px;bottom:0;left:0;width:400px;border-right:1px solid #ddd;background:#fff}body.course-item-popupx #learn-press-course-curriculum .section-header{padding:0 15px}body.course-item-popupx #learn-press-course-curriculum .section-header .section-desc{margin:-10px 0 5px}body.course-item-popupx #learn-press-course-curriculum .course-item{padding-right:15px;padding-left:15px}body.course-item-popupx #learn-press-course-curriculum .course-item a::before{left:15px}body.course-item-popupx #learn-press-content-item{overflow:hidden;position:fixed;z-index:9999;top:32px;right:0;bottom:0;left:400px;background:#fff}body.course-item-popupx #learn-press-content-item .content-item-wrap{max-width:900px;margin:10px auto}body.course-item-popupx #learn-press-content-item .course-item-title{font-size:1.4rem}body.course-item-popupx #learn-press-content-item .content-question-summary .review-heading{text-align:center}body.course-item-popupx #learn-press-content-item .content-question-summary .question-title{margin-bottom:10px;font-size:1.2rem}body.course-item-popupx #content-item-nav{position:fixed;z-index:99999;right:0;bottom:0;left:400px;height:60px;border-top:1px solid #ddd;background:#f5f5f5}body.course-item-popupx #content-item-nav .content-item-nav-wrap{max-width:900px;margin:10px auto}body.course-item-popupx #content-item-nav button{height:40px;padding:0 20px;line-height:40px}body.course-item-popupx .comment-form-textarea{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}body.course-item-popupx.wpadminbar #learn-press-course-curriculum,body.course-item-popupx.wpadminbar #learn-press-content-item{top:92px}body.course-item-popupx.wpadminbar .content-item-description{margin-bottom:20px}body.course-item-popupx .content-item-summary{margin-bottom:50px}body.course-item-popupx .content-item-summary>h3{margin-bottom:20px}body.course-item-popupx .content-item-summary.content-item-video .entry-video{position:absolute;top:0;left:0;width:100%;background:#000;line-height:1}body.course-item-popupx .content-item-summary.content-item-video .entry-video iframe{width:100%;max-width:900px;margin-bottom:0;vertical-align:top}body.course-item-popupx .learn-press-content-protected-message{margin-bottom:50px;padding:20px;background:#ffe0e0}body.course-item-popupx.content-only #learn-press-content-item{z-index:9999999;top:0;bottom:0;left:0}body.course-item-popupx.content-only #learn-press-content-item .content-item-scrollable{bottom:0}body #ifr-course-item{position:absolute;z-index:999999;top:0;left:0;width:100%;height:100%;background:#fff}body .content-item-summary .form-button-finish-course,body .lp-quiz-buttons .form-button-finish-course{float:right}#wpadminbar #wp-admin-bar-edit-lp_quiz .ab-item::before,#wpadminbar #wp-admin-bar-edit-lp_lesson .ab-item::before,#wpadminbar #wp-admin-bar-edit-lp_question .ab-item::before{top:2px;font-family:"Font Awesome 5 Free"}#wpadminbar #wp-admin-bar-edit-lp_quiz .ab-item::before{content:"\f017"}#wpadminbar #wp-admin-bar-edit-lp_lesson .ab-item::before{content:"\f15c"}#wpadminbar #wp-admin-bar-edit-lp_question .ab-item::before{content:"\f29c"}.scroll-wrapper{overflow:hidden;opacity:0}.scroll-wrapper .scroll-element{background:transparent}.scroll-wrapper .scroll-element.scroll-y.scroll-scrolly_visible{transition:opacity .25s}.scroll-wrapper:hover .scroll-element.scroll-y.scroll-scrolly_visible{opacity:.7}.course-remaining-time .label-enrolled{font-size:inherit}.learn-press-form.completed button::before{margin-right:10px;font-family:"Font Awesome 5 Free";font-size:18px;content:"\f00c"}.lp-course-progress{position:relative}.lp-course-progress .lp-passing-conditional{position:absolute;top:0;width:3px;height:6px;margin-left:-1px;background:var(--lp-secondary-color)}.viewing-course-item .section-header .section-desc{display:none}.viewing-course-item .content-item-wrap{margin-top:50px}.course-meta{display:flex;margin-bottom:40px}.course-meta .course-meta__pull-left,.course-meta .course-meta__pull-right{display:flex;flex-wrap:wrap}.course-meta .course-meta__pull-left{flex:1}.course-meta .course-meta__pull-left .meta-item{margin-right:10px}.course-meta .course-meta__pull-right{flex:0 0 50%}.course-meta .course-meta__pull-right .meta-item{margin-left:10px}.course-meta.course-meta-primary .meta-item{flex:1}.course-meta.two-columns .course-meta{flex:1}.course-extra-box{margin-bottom:3px;border:1px solid rgba(204,204,204,0.3);border-radius:5px}.course-extra-box__title{--extra-height:50px;display:flex;align-items:center;position:relative;height:var(--extra-height);margin:0 !important;padding:0 45px 0 38px;background:rgba(181,187,211,0.15);font-size:1.1rem;font-weight:600;cursor:pointer}@media(max-width:767px){.course-extra-box__title{padding-left:15px}}.course-extra-box__title::after{position:absolute;top:0;right:20px;color:#666;font-family:"Font Awesome 5 Free";line-height:var(--extra-height);content:"\f0d7"}.course-extra-box__content{display:none}.course-extra-box__content-inner{-webkit-animation-name:course-extra-box__content-inner-transform;animation-name:course-extra-box__content-inner-transform;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;-webkit-animation-iteration-count:1;animation-iteration-count:1;-webkit-animation-direction:normal;animation-direction:normal}.course-extra-box__content ul,.course-extra-box__content li{list-style:none}.course-extra-box__content ul{margin:0;padding:0}.course-extra-box__content li{margin:0;padding:10px 38px;border-bottom:1px solid rgba(204,204,204,0.3);color:#666;font-size:16px;font-weight:300}@media(max-width:767px){.course-extra-box__content li{padding-left:30px;padding-right:30px}}.course-extra-box__content li::before{margin-right:8px;color:var(--lp-primary-color);font-family:"Font Awesome 5 Free";font-weight:900;content:"\f00c"}.course-extra-box__content li:last-child{border-bottom:0}.course-extra-box:last-child{margin-bottom:60px}.course-extra-box.active .course-extra-box__title::after{content:"\f0d8"}.course-extra-box+.comment-respond,.course-extra-box+.comments-area{margin-top:60px;margin-bottom:30px}.course-extra-box+.course-tabs{margin-top:60px}input[name=course-extra-box-ratio]{display:none}input[name=course-extra-box-ratio]:checked+.course-extra-box .course-extra-box__content{display:block}input[name=course-extra-box-ratio]:checked+.course-extra-box .course-extra-box__content .course-extra-box__content-inner{transform:scale(1)}@-webkit-keyframes course-extra-box__content-inner-transform{from{opacity:0;-webkit-transform:translateX(5%);-moz-transform:translateX(5%);-ms-transform:translateX(5%);-o-transform:translateX(5%);transform:translateX(5%)}to{opacity:1;-webkit-transform:translateX(0);-moz-transform:translateX(0);-ms-transform:translateX(0);-o-transform:translateX(0);transform:translateX(0)}}@keyframes course-extra-box__content-inner-transform{from{opacity:0;transform:translateX(5%)}to{opacity:1;transform:translateX(0)}}.course-tab-panel-faqs{padding-top:64px}.course-tab-panel-faqs .course-faqs-box{margin-bottom:20px;border:1px solid rgba(204,204,204,0.6);border-radius:5px}.course-tab-panel-faqs .course-faqs-box__title{display:block;position:relative;margin:0;padding:20px 45px 20px 25px;font-size:1.1rem;font-weight:500;line-height:1.7;cursor:pointer}.course-tab-panel-faqs .course-faqs-box__title::after{position:absolute;top:50%;right:28px;color:#6c6c6c;font-family:"Font Awesome 5 Free";font-size:12px;font-weight:900;content:"\f078";transform:translateY(-50%)}.course-tab-panel-faqs .course-faqs-box:last-child{margin-bottom:40px}.course-tab-panel-faqs .course-faqs-box:hover{background:rgba(241,242,248,0.4)}.course-tab-panel-faqs .course-faqs-box:hover .course-faqs-box__title{color:var(--lp-primary-color)}.course-tab-panel-faqs .course-faqs-box__content{display:none}.course-tab-panel-faqs .course-faqs-box__content-inner{padding:0 25px 25px 25px;color:#666;font-size:1rem;font-weight:300;line-height:26px;-webkit-animation-name:course-faqs-box__content-inner-transform;animation-name:course-faqs-box__content-inner-transform;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;-webkit-animation-iteration-count:1;animation-iteration-count:1;-webkit-animation-direction:normal;animation-direction:normal}input[name=course-faqs-box-ratio]{display:none}input[name=course-faqs-box-ratio]:checked+.course-faqs-box .course-faqs-box__content{display:block}input[name=course-faqs-box-ratio]:checked+.course-faqs-box{background:rgba(241,242,248,0.4)}input[name=course-faqs-box-ratio]:checked+.course-faqs-box .course-faqs-box__title{color:var(--lp-primary-color)}input[name=course-faqs-box-ratio]:checked+.course-faqs-box .course-faqs-box__title::after{content:"\f077"}@-webkit-keyframes course-faqs-box__content-inner-transform{from{opacity:0;-webkit-transform:translateX(5%);-moz-transform:translateX(5%);-ms-transform:translateX(5%);-o-transform:translateX(5%);transform:translateX(5%)}to{opacity:1;-webkit-transform:translateX(0);-moz-transform:translateX(0);-ms-transform:translateX(0);-o-transform:translateX(0);transform:translateX(0)}}@keyframes course-faqs-box__content-inner-transform{from{opacity:0;-webkit-transform:translateX(5%);-moz-transform:translateX(5%);-ms-transform:translateX(5%);-o-transform:translateX(5%);transform:translateX(5%)}to{opacity:1;-webkit-transform:translateX(0);-moz-transform:translateX(0);-ms-transform:translateX(0);-o-transform:translateX(0);transform:translateX(0)}}@media screen and (max-width:1300px){body.course-item-popup #learn-press-course-curriculum{width:300px}body.course-item-popup #learn-press-course-curriculum .progress-bg{width:40px}body.course-item-popup #content-item-nav{left:300px}body.course-item-popup .section-desc{display:none}}@media screen and (max-width:1200px){body.course-item-popupx #learn-press-course-curriculum{width:300px}body.course-item-popupx #content-item-nav{left:300px}}@media screen and (max-width:768px){body.course-item-popup .course-curriculum{width:200px}body.course-item-popup #content-item-nav{left:200px}body.course-item-popup.wpadminbar #learn-press-content-item,body.course-item-popup.wpadminbar #learn-press-course-curriculum{top:106px}.learn-press-course-results-progress{margin-right:0}.learn-press-course-results-progress .items-progress,.learn-press-course-results-progress .course-progress{float:none;width:100%;margin-right:0;margin-bottom:20px}}.lp-quiz-buttons{margin-bottom:20px;display:block;clear:both;content:""}.quiz-progress{margin-bottom:30px;background:#e7f7ff}.quiz-progress .progress-items{display:flex}.quiz-progress .progress-items .progress-item{position:relative;color:#777;font-size:15px;flex:1}.quiz-progress .progress-items .progress-item .progress-number,.quiz-progress .progress-items .progress-item .progress-label{display:block;line-height:1;text-align:center}.quiz-progress .progress-items .progress-item .progress-number{margin:15px 0 10px 0;font-size:20px}.quiz-progress .progress-items .progress-item .progress-label{margin-bottom:15px;font-size:14px}.quiz-progress .progress-items .progress-item i{display:none;float:left;width:60px;height:60px;color:#fff;background:#00adff;font-size:30px;line-height:60px;text-align:center}.quiz-progress .progress-items .progress-item::after{display:block;clear:both;content:""}.answer-options{margin:0;padding:0;list-style:none}.answer-options .answer-option{display:flex;overflow:hidden;position:relative;margin:0 0 18px 0;padding:10px;color:#777;background:#f5f5f5;font-size:20px;cursor:pointer;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-transition:background linear .25s;-moz-transition:background linear .25s;-ms-transition:background linear .25s;-o-transition:background linear .25s;transition:background linear .25s}.answer-options .answer-option .option-title{display:table-cell;font-size:smaller}.answer-options .answer-option .option-title .option-title-content{display:inline-block;vertical-align:middle}.answer-options .answer-option .option-title::before{position:absolute;top:0;bottom:0;left:0;width:3px;background:#ddd;content:"";-webkit-transition:background linear .25s;-moz-transition:background linear .25s;-ms-transition:background linear .25s;-o-transition:background linear .25s;transition:background linear .25s}.answer-options .answer-option input[type=checkbox],.answer-options .answer-option input[type=radio]{-webkit-appearance:initial;-moz-appearance:initial;position:relative;z-index:10;width:35px;min-width:35px;height:35px;margin:0 10px 0 3px;border:1px solid #cfcfcf;background:#f9fafc;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.answer-options .answer-option input[type=checkbox]:focus,.answer-options .answer-option input[type=radio]:focus{outline:0}.answer-options .answer-option input[type=checkbox]::after,.answer-options .answer-option input[type=radio]::after{margin-top:-10px;position:absolute;top:18px;left:9px;box-sizing:content-box;opacity:0;color:#3db748;font-family:"Font Awesome 5 Free";font-weight:900;font-size:16px;content:"\f00c"}.answer-options .answer-option input[type=checkbox]:checked ~ .option-title .option-title-content,.answer-options .answer-option input[type=radio]:checked ~ .option-title .option-title-content{position:relative}.answer-options .answer-option input[type=checkbox]:checked ~ .option-title::before,.answer-options .answer-option input[type=radio]:checked ~ .option-title::before{background:#00adff}.answer-options .answer-option input[type=checkbox]:checked::after,.answer-options .answer-option input[type=radio]:checked::after{opacity:1}.answer-options .answer-option input[type=checkbox]::after{margin-top:0;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);-moz-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);-o-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.answer-options .answer-option input[type=radio]{-webkit-border-radius:50%;-moz-border-radius:50%;border-radius:50%}.answer-options .answer-option input[type=radio]::before{border-radius:50%}.answer-options .answer-option .option-title{margin:0}.answer-options .answer-option:hover{background:#e1f5ff}.answer-options .answer-option.answer-correct{background:#e1f5ff}.answer-options .answer-option.answer-correct input[type=radio]:checked ~ .option-title::before,.answer-options .answer-option.answer-correct input[type=checkbox]:checked ~ .option-title::before{background:#e1f5ff}.answer-options .answer-option.answered-correct input[type=radio]:checked ~ .option-title::before,.answer-options .answer-option.answered-correct input[type=checkbox]:checked ~ .option-title::before{background:#00adff}.answer-options .answer-option.answered-wrong input[type=radio]::before,.answer-options .answer-option.answered-wrong input[type=radio]::after,.answer-options .answer-option.answered-wrong input[type=checkbox]::before,.answer-options .answer-option.answered-wrong input[type=checkbox]::after{border-color:red}.answer-options .answer-option.answered-wrong input[type=radio]:checked ~ .option-title::before,.answer-options .answer-option.answered-wrong input[type=checkbox]:checked ~ .option-title::before{background:red}button[data-counter]{position:relative}button[data-counter]::after{padding-left:5px;content:"(+" attr(data-counter) ")"}.quiz-result{max-width:320px;margin:20px auto 48px;text-align:center}.quiz-result .result-heading{display:none}.quiz-result.passed .result-message{background:#3bb54a}.quiz-result.passed .result-message::after{content:"\f00c"}.quiz-result .result-message{margin-bottom:30px;padding:10px 0 !important;color:#fff;background:#f02425;font-size:16px;line-height:22px;font-weight:400;display:flex;align-items:center;justify-content:center;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.quiz-result .result-message::after{margin-left:10px;font-family:"Font Awesome 5 Free";font-weight:900;content:"\f00d"}.quiz-result .result-grade .result-achieved,.quiz-result .result-grade .result-require{display:inline-block;margin:0 auto}.quiz-result .result-grade .result-achieved{padding-bottom:7px;border-bottom:1px solid #999;color:#333;font-size:28px;font-weight:500;line-height:1}.quiz-result .result-grade .result-require{display:block;padding-top:5px;color:#666;font-size:16px;font-weight:400;line-height:1}.quiz-result .result-grade .result-message{font-size:14px}.quiz-result.passed .result-achieved{color:#04adff}.quiz-result.passed .result-message strong{color:#04adff}.quiz-result .result-statistic{margin:0;padding:0;text-align:left;list-style:none}.quiz-result .result-statistic .result-statistic-field{display:flex;margin:0}.quiz-result .result-statistic .result-statistic-field+li{border-top:1px dashed #ccc}.quiz-result .result-statistic .result-statistic-field span,.quiz-result .result-statistic .result-statistic-field p{margin:0;flex:1}.quiz-result .result-statistic .result-statistic-field span{color:#666;font-size:16px;font-weight:400;line-height:35px}.quiz-result .result-statistic .result-statistic-field span::before{display:inline-block;width:15px;margin-right:10px;color:var(--lp-primary-color);font-family:"Font Awesome 5 Free";font-size:16px;font-weight:900}.quiz-result .result-statistic .result-statistic-field p{color:#333;font-size:16px;font-weight:500;line-height:35px;text-align:right}.quiz-result .result-statistic .result-statistic-field.result-time-spend label::before{font-weight:400;content:"\f017"}.quiz-result .result-statistic .result-statistic-field.result-point label::before{font-weight:400;content:"\f005"}.quiz-result .result-statistic .result-statistic-field.result-questions label::before{font-weight:400;content:"\f059"}.quiz-result .result-statistic .result-statistic-field.result-questions-correct label::before{color:#3db748;content:"\f00c"}.quiz-result .result-statistic .result-statistic-field.result-questions-wrong label::before{color:#f02425;content:"\f00d"}.quiz-result .result-statistic .result-statistic-field.result-questions-skipped label::before{color:#ddd;content:"\f2f5"}.quiz-status{position:sticky;z-index:99;top:0;right:0;left:0;margin:0 0 35px 0}.quiz-status>div{display:flex;box-sizing:border-box;width:100%;max-width:792px;height:60px;margin:0 auto;padding:5px 10px 5px 30px;border-radius:4px;background:var(--lp-primary-color);justify-content:center;align-items:center}@media(max-width:480px){.quiz-status>div{display:block;height:auto;text-align:center;padding:15px}.quiz-status>div .questions-index{margin-bottom:10px}}.quiz-status>div>div{display:flex;flex-direction:row-reverse;flex:0 0 50%;align-items:center}@media(max-width:480px){.quiz-status>div>div{justify-content:center}}.quiz-status>div .current-point{display:none}.quiz-status .questions-index{display:inline-block;color:#666;font-size:16px;font-weight:400;line-height:26px}.quiz-status .questions-index span{color:#333;font-weight:500}.quiz-status .countdown{position:relative;min-width:120px;margin-right:5px;padding:12px 29px;color:#333;background:#fff;font-size:14px;font-weight:400;line-height:1;text-align:center}.quiz-status .countdown .fas{position:absolute;top:50%;left:10px;color:#333;font-size:14px;transform:translateY(-50%)}.quiz-status .countdown .clock{display:none;width:40px;height:40px}.quiz-status .countdown .clock::before{position:absolute;width:40px;height:40px;border:4px solid #b1c1e6;border-radius:50%;content:"";-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.quiz-status .countdown .clock .circle-progress-bar{display:inline-block;position:relative;width:40px;height:40px;stroke:#5383f7}.quiz-status .countdown .clock .circle-progress-bar .circle-progress-bar__circle{transition:.35s stroke-dashoffset;transform:rotate(-90deg);transform-origin:50% 50%}.quiz-status .countdown .clock.x .circle-progress-bar__circle{stroke:red}.quiz-status .submit-quiz button{margin:0 0 0 10px;border:0;border-radius:0;background:#fff;text-transform:uppercase}.quiz-status .submit-quiz button:hover{background:var(--lp-secondary-color)}.quiz-status.submitting .submit-quiz button{background:#ddd}.question-numbers{text-align:center;list-style:none}.question-numbers li{display:inline-block;position:relative;margin-bottom:3px}.question-numbers li a{display:block;min-width:20px;padding:8px;border:1px solid #ddd;color:#999;background:#f5f5f5;box-shadow:none;font-size:12px;line-height:1}.question-numbers li a span{vertical-align:middle}.question-numbers li a:hover{border:1px solid #3880a2;color:#fff;background:#00adff}.question-numbers li.current a{border-color:#3880a2;color:#fff !important;background:#00adff}.question-numbers li.current.skipped::after{background:#fff}.question-numbers li.answered a::after{margin-left:3px;font-family:"Font Awesome 5 Free";font-size:8px;vertical-align:middle}.question-numbers li.answered.answered-wrong a{color:red}.question-numbers li.answered.answered-true a{color:#00adff}.question-numbers li.answered.answered-true.current a{color:#fff}.question-numbers li.skipped::after{position:absolute;bottom:3px;left:50%;width:10px;height:4px;margin-left:-5px;border-radius:2px;background:#aaa;content:""}.quiz-intro{display:flex;margin:0 0 20px;padding:0;list-style:none;flex-flow:row wrap}@media(max-width:768px){.quiz-intro{padding-right:10px;padding-left:10px;justify-content:space-between}}.quiz-intro-item{display:flex;margin:0 40px 0 0;align-items:center}@media(max-width:768px){.quiz-intro-item{margin:0 20px 0 0}}.quiz-intro-item::before{position:relative;top:-2px;margin-right:10px;color:var(--lp-primary-color);font-family:"Font Awesome 5 Free";font-size:16px;font-weight:900}.quiz-intro-item--passing-grade{order:2}.quiz-intro-item--passing-grade::before{content:"\f012"}.quiz-intro-item--questions-count{order:1}.quiz-intro-item--questions-count::before{content:"\f12e"}.quiz-intro-item--duration{order:2}.quiz-intro-item--duration::before{content:"\f017"}.quiz-intro-item__title{margin:0;padding:0 8px 0 0;color:#333;font-size:16px;font-weight:300;line-height:1.7}.quiz-intro-item__content{color:#222;font-size:16px;font-weight:400}.question-explanation-content,.question-hint-content{margin-bottom:20px;padding:10px 15px;background:#f5f5f5}.redo-quiz button[type=submit]{content:attr(data-counter)}.circle-bar{position:relative;width:300px;height:300px;border-color:#ddd}.circle-bar::before{position:absolute;z-index:0;top:0;left:0;box-sizing:border-box;width:100%;height:100%;border:10px solid #ddd;border-radius:50%;content:""}.circle-bar .before,.circle-bar .after{position:absolute;z-index:0;top:0;left:0;box-sizing:border-box;width:100%;height:100%;border:10px solid #14c4ff;border-radius:50%;transform:rotate(45deg)}.circle-bar .before{border-bottom-color:transparent;border-left-color:transparent;transform:rotate(45deg)}.circle-bar .after{border-color:#14c4ff;border-top-color:transparent;border-right-color:transparent;transform:rotate(45deg)}.circle-bar.bg50 .after{z-index:10;border-bottom-color:inherit;border-left-color:inherit;transform:rotate(45deg)}.lp-quiz-buttons .complete-quiz,.lp-quiz-buttons .back-quiz,.lp-quiz-buttons .review-quiz{float:right}.quiz-result .result-grade{display:flex;flex-direction:column;position:relative;box-sizing:border-box;height:200px;margin-bottom:30px;padding:50px;justify-content:center;align-items:center;-webkit-transform:none !important;-moz-transform:none !important;-ms-transform:none !important;-o-transform:none !important;transform:none !important}.quiz-result .result-grade::before,.quiz-result .result-grade svg{position:absolute;top:0;left:50%;width:200px;height:200px;margin-left:-100px;-webkit-border-radius:50%;-moz-border-radius:50%;border-radius:50%}.quiz-result .result-grade::before{box-sizing:border-box;padding:30px;border:10px solid #ccc;content:""}.quiz-result .result-grade svg{-webkit-transform:rotate(-90deg);-moz-transform:rotate(-90deg);-ms-transform:rotate(-90deg);-o-transform:rotate(-90deg);transform:rotate(-90deg)}.quiz-result .result-grade svg circle{stroke:var(--lp-primary-color)}.quiz-result.passed .result-grade svg{-webkit-transform:rotate(-90deg);-moz-transform:rotate(-90deg);-ms-transform:rotate(-90deg);-o-transform:rotate(-90deg);transform:rotate(-90deg)}.quiz-result.passed .result-grade .result-achieved{color:#333}.quiz-result.passed .result-grade .result-message strong{color:#4caf50}.quiz-questions .question{margin-bottom:60px}.question .answer-option{padding:0;_border:2px solid #d9e0f1;background:#fff}.question .answer-option input[type=radio],.question .answer-option input[type=checkbox]{position:absolute;top:50%;margin:-19px 0 0 10px;border-color:#d9e0f1;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.question .answer-option input[type=radio]::after,.question .answer-option input[type=checkbox]::after{border-color:#d9e0f1}.question .answer-option input[type=radio]:disabled,.question .answer-option input[type=checkbox]:disabled{border-color:#ddd;background:#f9f9f9}.question .answer-option input[type=radio]:disabled::after,.question .answer-option input[type=checkbox]:disabled::after{border-color:#ddd}.question .answer-option input[type=radio]:checked:not(:disabled)::after,.question .answer-option input[type=checkbox]:checked:not(:disabled)::after{border-color:#99aee4}.question .answer-option input[type=radio]{-webkit-border-radius:50%;-moz-border-radius:50%;border-radius:50%}.question .answer-option input[type=radio]::before{border-radius:50%}.question .answer-option .option-title{display:flex;width:100%;margin:0;padding:14px 10px 11px 65px;border:1px solid #ccc;color:#666;background:#fff;font-size:16px;font-weight:300;line-height:26px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.question .answer-option .option-title::after{display:inline-block;visibility:hidden !important;content:"."}.question .answer-option .option-title:hover{background:#f9f9f9}.question .answer-option .option-title::before{display:none}.question .answer-option.answer-correct .option-title{border-color:#4caf50}.question .answer-option.answered-wrong .option-title{border-color:#ff6423}.question .question-title{display:block;margin-top:0;margin-bottom:18px;color:#333;font-size:18px;font-weight:500}.question .question-title .edit-link{float:right;font-size:14px;font-weight:normal}.question .question-content{margin-bottom:30px;color:#666;font-size:16px;font-weight:300;line-height:26px}.question .question-content img{width:100%;max-width:100%}.question .question-response{margin-bottom:10px;font-size:14px}.question .question-response .label{display:inline-block;margin:0 5px 0 0;padding:8px 10px;border-radius:4px;color:#fff;line-height:1}.question .question-response .point{display:inline-block}.question .question-response.correct .label{background:#4caf50}.question .question-response.incorrect .label{background:#ff6423}.question .question-index{display:inline-block;margin:0 5px 0 0}.question .btn-show-hint{position:relative;margin:0 0 0 10px;padding:0;outline:0;color:#00adff;background:transparent;font-size:0;text-decoration:none}.question .btn-show-hint::before{font-family:"Font Awesome 5 Free";font-size:18px;content:"\f059"}.question .btn-show-hint:hover span{position:absolute;bottom:100%;left:0;width:auto;padding:6px 9px;border-radius:2px;color:#333;background:#eee;font-size:14px;font-weight:400;line-height:1;white-space:nowrap;text-transform:none}.question.question-fill_in_blanks .blanks .blank-input-wrap{display:inline-block}.question.question-fill_in_blanks .blanks .blank-block{margin-bottom:20px}.question.question-fill_in_blanks .blanks .blank-input{display:inline-block;width:auto;min-width:50px;margin:0 10px;padding:0 10px;border:0;border-bottom:1px dashed #ddd;text-align:center;white-space:nowrap}.question.question-fill_in_blanks .blanks .blank-input br{display:none}.question.question-fill_in_blanks .blanks .blank-input>*{display:inline;white-space:nowrap}.question.question-fill_in_blanks .blanks .blank-select{display:inline-block;height:30px;margin-left:4px;padding:1px}.question.question-fill_in_blanks .blanks .blank-fills{display:inline-block}.question.question-fill_in_blanks .blanks .blank-fills code{margin:0 5px;padding:0 6px;background:#ddd;line-height:1;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.question.question-fill_in_blanks .blanks.ordered{list-style-position:inside}.question.question-fill_in_blanks .blanks.one-paragraph{line-height:3}.lp-sort-bg label.option-title{background:rgba(255,182,6,0.68) !important}.learn-press-message.fixed{position:fixed;top:32px;left:0;right:0;background:rgba(0,173,255,0.6);text-align:center;z-index:100;color:#FFF;padding:10px}.learn-press-message.fixed[data-delay-in]{display:none}.lp-archive-courses ul{list-style-type:revert;padding:0 0 23px 1em}.lp-archive-courses ul.learn-press-breadcrumb,.lp-archive-courses ul.course-nav-tabs{list-style:none;padding:0}@media(max-width:768px){.lp-archive-courses ul.learn-press-breadcrumb,.lp-archive-courses ul.course-nav-tabs{padding-left:15px;padding-right:15px}}.lp-archive-courses ul,.lp-archive-courses ol{list-style-type:decimal;list-style-position:inside;padding:0 0 23px}.lp-archive-courses ol ul{padding:2px 0 2px 35px}.lp-archive-courses ol ol{padding:2px 0 2px 20px}.lp-archive-courses thead th,.lp-archive-courses tr th{padding:9px 24px}.lp-archive-courses tr td{border-top:1px solid #eee;padding:6px 24px}.learnpress #left-area ul,.learnpress .entry-content ul,.learnpress .et-l--body ul,.learnpress .et-l--footer ul,.learnpress .et-l--header ul{padding:0 !important;list-style:none !important}.learnpress.dt-the7 .learn-press-filters{margin-bottom:20px}.learnpress.dt-the7 .learn-press-courses[data-size="3"] .course{width:50%}.bridge.learnpress .lp-archive-courses{margin-top:100px}.bridge.learnpress .lp-archive-courses ul.learn-press-breadcrumb{padding-top:45px}.bridge.learnpress .content{z-index:110}.bridge.learnpress .comment-respond .comment-form{margin:0}.bridge.learnpress .comment-respond .comment-form>p,.bridge.learnpress .comment-respond .comment-form>div{padding:0}.bridge.learnpress.learnpress-profile .content{z-index:100}.bridge.learnpress #learn-press-item-comments{background:#f6f6f6}.learnpress.ast-separate-container .ast-article-single{padding-left:15px;padding-right:15px}body.learnpress-page.twentysixteen #primary .lp-entry-content{float:none;width:auto;margin:0 15%}body.learnpress-page.twentyfifteen .course-summary-sidebar .widget{width:100%;padding:0}body.learnpress-page.twentysixteen .entry-footer{display:none}body.learnpress-page.twentysixteen .lp-entry-content{float:none;width:auto}body.learnpress-page.twentyseventeen #primary article.type-page{width:100%}@media screen and (min-width:61.5625em){body.twentysixteen.learnpress-page .entry-footer{display:none}body.twentysixteen.learnpress-page .lp-entry-content{float:none;width:auto}body:not(.search-results) article:not(.type-page) .entry-footer{display:none}body:not(.search-results) article:not(.type-page) .lp-entry-content{float:none;width:auto}}body.twentyseventeen.learnpress-page #primary article.page .entry-header,body.twentyseventeen.learnpress-page #primary article.page .lp-entry-content{width:100%;float:none}@media screen and (min-width:48em){body.twentyseventeen.learnpress-page #primary article.page .entry-header,body.twentyseventeen.learnpress-page #primary article.page .lp-entry-content{width:100%;float:none}}.learn-press-tip{display:none;margin:0 5px;color:#444;font-size:13px;font-style:normal;line-height:1;vertical-align:baseline;cursor:pointer}.learn-press-tip.ready{display:inline-block}.learn-press-tip::before{font-family:"Font Awesome 5 Free";content:"\f059"}.learn-press-tip:hover{opacity:.8}.learn-press-tip-floating{position:absolute;z-index:9999999;min-width:20px;margin-left:-1px;padding:.618em 1em;color:#fff;background:#383838;font-size:12px;line-height:1.2em;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.learn-press-tip-floating>*{font-size:12px}.learn-press-tip-floating .close{display:inline-block;position:absolute;top:-8px;right:-8px;width:16px;height:16px;border:1px solid #fff;color:#fff;background:#468fbc;line-height:16px;text-align:center;cursor:pointer;-webkit-border-radius:50%;-moz-border-radius:50%;border-radius:50%}.learn-press-tip-floating .close::before{font-family:"Font Awesome 5 Free";content:"\f00d"}.learn-press-tip-floating p{margin:0}.learn-press-tip-floating::before{position:absolute;bottom:-6px;left:50%;width:0;height:0;margin-left:-6px;border:6px solid transparent;border-top-color:#383838;border-bottom-width:0;content:""}body.lp-preview.admin-bar #learn-press-content-item{top:32px !important}body.lp-preview #learn-press-course-curriculum{display:none}body.lp-preview #learn-press-content-item{top:0 !important;left:0 !important}@-webkit-keyframes rotating4{from{-webkit-transform:rotate(0);-o-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(360deg);-o-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes rotating4{from{-ms-transform:rotate(0);-moz-transform:rotate(0);-webkit-transform:rotate(0);-o-transform:rotate(0);transform:rotate(0)}to{-ms-transform:rotate(360deg);-moz-transform:rotate(360deg);-webkit-transform:rotate(360deg);-o-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes animation4{from{left:-40%;width:40%}to{left:100%;width:10%}}@keyframes animation4{from{left:-40%;width:40%}to{left:100%;width:10%}}#popup_container{opacity:0;transform:scale(0.5)}body.confirm #popup_overlay{z-index:999998 !important}body.confirm #popup_container{z-index:999999 !important;max-width:90% !important;min-width:300px !important;padding:10px !important;background:#f5f5f5;transition:opacity .25s;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}body.confirm #popup_container #popup_title{display:none !important}body.confirm #popup_container #popup_message{margin:-10px;background:#FFF;padding:20px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}body.confirm #popup_container .close{position:absolute;top:3px;right:10px}body.confirm #popup_container #popup_panel{margin-top:20px;text-align:center}body.confirm #popup_container #popup_panel button,body.confirm #popup_container #popup_panel input[type=button],body.confirm #popup_container #popup_panel input[type=submit]{height:30px;line-height:30px;padding:0 25px}body.confirm #popup_container #popup_cancel{display:none}body.confirm #popup_container.ready{opacity:1;transform:scale(1)}a{text-decoration:none}.lp-content-area{width:100%;max-width:1170px;margin:0 auto}@media(max-width:1024px){.lp-content-area{padding-right:15px;padding-left:15px}}.lp-content-area::after,.lp-content-area::before{display:table;clear:both;content:""}.lp-archive-courses{width:100%;scroll-margin:30px}.lp-archive-courses.loading ul.learn-press-courses{position:relative}.lp-archive-courses.loading ul.learn-press-courses::before,.lp-archive-courses.loading ul.learn-press-courses::after{content:"";position:absolute;top:0;bottom:0;left:15px;right:15px}.lp-archive-courses.loading ul.learn-press-courses::after{z-index:3;background:#f3f3f3;background:linear-gradient(90deg,hsla(0,0%,74.5%,0.2) 25%,hsla(0,0%,50.6%,0.24) 37%,hsla(0,0%,74.5%,0.2) 63%);background-size:400% 100%;list-style:none;animation:lp-skeleton-loading 1.4s ease infinite}.lp-archive-courses.loading ul.learn-press-courses::before{z-index:2;opacity:.8%;background:#fff}.lp-archive-courses form[name=search-course]{position:relative;margin-bottom:20px}.lp-archive-courses form[name=search-course] .search-course-input{width:100%;padding:12px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.lp-archive-courses form[name=search-course] .search-course-button{position:absolute;top:1px;right:1px;bottom:1px;height:auto;padding:15px;line-height:1px}.lp-archive-courses .learn-press-courses-header{float:left;padding-top:4px}.lp-archive-courses .learn-press-courses-header h1{margin:0;font-size:30px;font-weight:600}@media(max-width:767px){.lp-archive-courses .learn-press-courses-header{margin-bottom:20px}}.lp-archive-courses .course-item{flex-direction:column;display:flex;transition:all .3s}.lp-archive-courses .course-item:hover .course-thumbnail .thumbnail::before{opacity:1}.lp-archive-courses .course-item:hover .course-thumbnail a img{transform:scale(1.05)}.lp-archive-courses .course-item:hover .course-wishlist{opacity:1}.lp-archive-courses .course-item .course-wishlist.filled{opacity:1}.lp-archive-courses .course-item .course-instructor{float:left;margin-bottom:16px;font-size:14px;font-weight:300;line-height:25px;text-transform:capitalize}.lp-archive-courses .course-item .course-instructor a{color:#059de9}.lp-archive-courses .course-item .course-instructor a:hover{color:var(--lp-primary-color)}.lp-archive-courses .course-content{position:relative;border-top:0}.lp-archive-courses .course-content .course-permalink{display:-webkit-box;clear:both;overflow:hidden;position:relative;border:0;color:#fff;text-decoration:none;text-transform:none;-webkit-line-clamp:2;-webkit-box-orient:vertical;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.lp-archive-courses .course-content .course-permalink:focus{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.lp-archive-courses .course-content .course-review{display:none}.lp-archive-courses .course-content .course-categories,.lp-archive-courses .course-content .course-tags{display:block;font-size:14px;font-weight:300}.lp-archive-courses .course-content .course-categories{float:left;position:relative;margin-right:10px;margin-bottom:16px}.lp-archive-courses .course-content .course-categories a{display:inline-block;display:none;margin:0 10px;color:#fff;text-decoration:none}.lp-archive-courses .course-content .course-categories a:first-child{display:block;margin-left:0;padding:2px 16px;background:var(--lp-primary-color)}.lp-archive-courses .course-content .course-categories a:hover{color:#333}.lp-archive-courses .course-content .course-categories::after{position:absolute;top:50%;right:-2px;width:1px;height:12px;opacity:.5;background:#999;content:"";transform:translate(0,-50%)}.lp-archive-courses .course-content .course-info{color:#666;font-size:14px;font-weight:300}.lp-archive-courses .course-content .course-info>span{display:block}.lp-archive-courses .course-content .course-info .course-price{float:right}.lp-archive-courses .course-content .course-info .course-price .origin-price,.lp-archive-courses .course-content .course-info .course-price .price{color:#333;font-size:16px;font-weight:600}.lp-archive-courses .course-content .course-info .course-price .origin-price{margin-right:10px;color:#666;font-size:14px;font-weight:300;text-decoration:line-through}.lp-archive-courses .course-content .course-info .course-instructor{float:right}.lp-archive-courses .course-content .course-info::after{display:block;clear:both;content:""}.lp-archive-courses .course-content .course-excerpt{display:-webkit-box;overflow:hidden;margin-bottom:28px;color:#666;font-size:16px;font-weight:300;line-height:26px;-webkit-line-clamp:2;-webkit-box-orient:vertical}.lp-archive-courses .course-content .separator{display:none}.lp-archive-courses .course-wrap-thumbnail{overflow:hidden;position:relative}.lp-archive-courses .course-wrap-thumbnail .lp-badge.featured{position:absolute;z-index:100;top:28px;left:-110px;width:300px;text-align:center;transform:rotate(-45deg)}.lp-archive-courses .course-wrap-thumbnail .course-wishlist{position:absolute;z-index:2;top:6px;right:6px;opacity:0;color:#fff;cursor:pointer}.lp-archive-courses .course-wrap-thumbnail .course-wishlist::before{font-family:"Font Awesome 5 Free";font-weight:900;content:"\f004"}.lp-archive-courses .course-wrap-thumbnail .course-wishlist .course-wishlist__btn{display:none}.lp-archive-courses .course-wrap-thumbnail .course-wishlist:hover{color:var(--lp-primary-color)}.lp-archive-courses .course-wrap-thumbnail:hover::before{opacity:1}.lp-archive-courses .course-wrap-thumbnail:hover .course-thumbnail a img{transform:scale(1.05)}.lp-archive-courses .course-wrap-thumbnail:hover .course-wishlist{opacity:1}.lp-archive-courses .course-thumbnail a{display:block;overflow:hidden}.lp-archive-courses .course-thumbnail .thumbnail{margin:0;padding:0;border:0;border-radius:unset;line-height:unset}.lp-archive-courses .course-thumbnail .thumbnail::before{position:absolute;z-index:1;top:0;right:0;bottom:0;left:0;opacity:0;background:rgba(0,0,0,0.5);content:"";transition:all .3s}.lp-archive-courses .course-thumbnail img{display:block;width:100%;height:auto;transition:all .5s ease;transform:scale(1)}.lp-archive-courses .course-title{margin:0;padding:0;color:#333;font-size:16px;font-weight:600;line-height:24px}.lp-archive-courses .course-title:hover{color:var(--lp-primary-color)}@media(min-width:769px){.lp-archive-courses .course-summary-content .course-info-left{width:calc(100% - 330px)}}.lp-archive-courses .course-summary-content .course-title{margin-bottom:42px;color:#fff;font-size:1.5rem;font-weight:500;line-height:1}.lp-archive-courses .course-summary-content .course-meta.course-meta-secondary{margin-bottom:0}@media(max-width:768px){.lp-archive-courses .course-summary-content{width:100%}}.lp-archive-courses .course-detail-info{padding:40px 0 10px 0;color:#fff;background:var(--lp-secondary-color);position:relative}.lp-archive-courses .course-detail-info::before,.lp-archive-courses .course-detail-info::after{content:"";width:50%;height:100%;background:var(--lp-secondary-color);position:absolute;top:0}.lp-archive-courses .course-detail-info::before{right:100%;left:auto}.lp-archive-courses .course-detail-info::after{left:100%;right:auto}.lp-archive-courses .course-meta__pull-left .meta-item{display:flex;height:46px;margin-right:50px;font-size:16px;font-weight:300;text-transform:capitalize}.lp-archive-courses .course-meta__pull-left .meta-item span{padding-right:4px;padding-left:0}.lp-archive-courses .course-meta__pull-left .meta-item:last-child{margin-right:0}.lp-archive-courses .course-meta__pull-left .meta-item::before{margin-right:8px;color:var(--lp-primary-color);font-family:"Font Awesome 5 Free";font-weight:900}.lp-archive-courses .course-meta__pull-left .meta-item .meta-item__image{margin-right:10px;flex:0 0 46px}.lp-archive-courses .course-meta__pull-left .meta-item .meta-item__image img{overflow:hidden;position:relative;width:46px;height:46px;border-radius:50%}.lp-archive-courses .course-meta__pull-left .meta-item.meta-item-duration::before{content:"\f017"}.lp-archive-courses .course-meta__pull-left .meta-item.meta-item-level::before{content:"\f012"}.lp-archive-courses .course-meta__pull-left .meta-item.meta-item-lesson::before{content:"\f0c5"}.lp-archive-courses .course-meta__pull-left .meta-item.meta-item-quiz::before{content:"\f12e"}.lp-archive-courses .course-meta__pull-left .meta-item.meta-item-student::before{content:"\f501"}@media(max-width:1024px){.lp-archive-courses .course-meta__pull-left .meta-item{margin-right:30px}}@media(max-width:767px){.lp-archive-courses .course-meta__pull-left .meta-item{margin-right:0}}.lp-archive-courses .course-meta__pull-left .meta-item__value label{margin:0;color:#999;font-size:14px;font-weight:300;line-height:1.5}.lp-archive-courses .course-meta__pull-left .meta-item__value>div{line-height:1.5}.lp-archive-courses .course-meta__pull-left .meta-item__value>div a{color:#fff;font-size:16px;font-weight:400;text-transform:capitalize}.lp-archive-courses .course-meta__pull-left .meta-item__value>div a:hover{color:var(--lp-primary-color)}.lp-archive-courses .course-meta__pull-left .meta-item-categories{align-items:center}.lp-archive-courses .course-meta__pull-left .meta-item-categories::before{margin-right:10px;font-size:36px;content:"\f02e"}.lp-archive-courses .course-meta__pull-left .meta-item-categories .meta-item__value div span{padding:0 5px}.lp-archive-courses .course-meta__pull-left .meta-item-categories .meta-item__value div a:hover{color:var(--lp-primary-color)}.lp-archive-courses .course-meta__pull-left .meta-item-review .meta-item__value{display:flex;flex-direction:column-reverse;justify-content:flex-end;align-items:flex-end}.lp-archive-courses .course-meta__pull-left .meta-item-review .meta-item__value .review-stars-rated{margin-bottom:0;line-height:1}@media(max-width:767px){.lp-archive-courses .course-meta__pull-left{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:20px}}.lp-archive-courses .course-meta-primary{margin-bottom:36px}.lp-archive-courses .course-meta-primary .meta-item-categories::before{font-weight:400}.lp-archive-courses .lp-entry-content{display:flex;flex-direction:row}.lp-archive-courses .lp-entry-content .entry-content-left{width:calc(100% - 300px);max-width:100%;margin:0;padding-right:40px;padding-top:60px}@media(max-width:768px){.lp-archive-courses .lp-entry-content .entry-content-left{width:100%;padding-right:0;margin-bottom:50px}}@media(max-width:768px){.lp-archive-courses .lp-entry-content{flex-direction:column}}.lp-archive-courses .course-summary-sidebar{width:300px;max-width:100%;margin-top:-272px}@media(max-width:768px){.lp-archive-courses .course-summary-sidebar{width:100%;margin-top:0}.lp-archive-courses .course-summary-sidebar .course-summary-sidebar__inner{width:100%}}@media(max-width:767px){.lp-archive-courses .course-summary-sidebar{width:100%;padding-left:0}}.lp-archive-courses .course-summary-sidebar__inner{width:300px}.lp-archive-courses .course-summary-sidebar__inner .course-sidebar-top{box-shadow:0 15px 20px 0 rgba(0,0,0,0.05)}.lp-archive-courses .course-summary-sidebar__inner .course-sidebar-secondary{margin-top:30px;padding:0}.lp-archive-courses .course-summary-sidebar__inner .learn-press-course-wishlist{color:#fff;background:transparent !important;font-size:0}.lp-archive-courses .course-summary-sidebar__inner .learn-press-course-wishlist.on,.lp-archive-courses .course-summary-sidebar__inner .learn-press-course-wishlist:hover{color:var(--lp-primary-color)}.lp-archive-courses .course-summary-sidebar__inner .learn-press-course-wishlist::before{font-family:"Font Awesome 5 Free";font-size:16px;font-weight:900;content:"\f004"}.lp-archive-courses .course-summary-sidebar__inner>div{overflow:hidden;padding:20px;background:#fff}.lp-archive-courses .course-summary-sidebar__inner>div ul{list-style:none}.lp-archive-courses .course-summary-sidebar__inner>div ul li a{color:#666;font-size:16px;font-weight:300;line-height:24px}.lp-archive-courses .course-summary-sidebar__inner>div ul li a:hover{color:var(--lp-primary-color);box-shadow:unset}.learn-press-courses{clear:both;margin:0 -15px;padding:0 !important;min-height:300px;list-style:none;position:relative;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-moz-flex;display:-webkit-flex;display:flex;-webkit-flex-wrap:wrap;flex-wrap:wrap}.learn-press-courses .course{width:25%;margin:0 0 60px 0;box-shadow:none;list-style:none}.learn-press-courses[data-layout=list]{margin:0}.learn-press-courses[data-layout=list] .course{display:flex;width:100%;padding:24px;border:1px solid rgba(204,204,204,0.3);border-radius:4px;flex-wrap:wrap;justify-content:flex-end}@media(max-width:767px){.learn-press-courses[data-layout=list] .course{padding:15px}}.learn-press-courses[data-layout=list] .course-item{flex-direction:row;width:100%;border:unset;justify-content:space-between}@media(max-width:767px){.learn-press-courses[data-layout=list] .course-item{flex-direction:column}}.learn-press-courses[data-layout=list] .course-content{float:right;width:calc(64.2% - 76px);padding-top:5px}@media(max-width:1200px){.learn-press-courses[data-layout=list] .course-content{width:calc(64.2% - 40px)}}@media(max-width:1200px){.learn-press-courses[data-layout=list] .course-content{width:calc(64.2% - 25px)}}@media(max-width:767px){.learn-press-courses[data-layout=list] .course-content{width:100%;padding-top:20px}}.learn-press-courses[data-layout=list] .course-content .course-categories a{position:relative;padding:2px 20px 2px 15px;-webkit-clip-path:polygon(0 0,100% 0,88% 50%,100% 100%,0 100%);clip-path:polygon(0 0,100% 0,88% 50%,100% 100%,0 100%)}.learn-press-courses[data-layout=list] .course-content .course-permalink{height:25px;margin-bottom:5px;-webkit-line-clamp:1}.learn-press-courses[data-layout=list] .course-content .course-tags a{margin:0 10px 10px 0;padding:3px 5px;border-radius:3px;color:#fff;background:#e4a2a2;line-height:1}.learn-press-courses[data-layout=list] .course-content .course-footer{float:left;margin-right:20px}.learn-press-courses[data-layout=list] .course-content .course-footer .course-students{display:none}.learn-press-courses[data-layout=list] .course-content .course-footer .course-price{float:unset}@media(max-width:767px){.learn-press-courses[data-layout=list] .course-content .course-footer{margin-bottom:30px}}.learn-press-courses[data-layout=list] .course-content .course-readmore{float:right;position:relative;right:4px}.learn-press-courses[data-layout=list] .course-content .course-readmore a{padding:9px 24px;border-radius:3px;color:#fff;background:var(--lp-primary-color);font-weight:400;line-height:1;transition:all .3s;display:block}.learn-press-courses[data-layout=list] .course-content .course-readmore a:hover{opacity:.5;background:var(--lp-primary-color)}@media(max-width:767px){.learn-press-courses[data-layout=list] .course-content .course-readmore{display:flex;float:unset;clear:both}}.learn-press-courses[data-layout=list] .course-wrap-meta{display:flex;padding-top:12px;padding-bottom:18px;color:#333;font-size:14px;font-weight:400}.learn-press-courses[data-layout=list] .course-wrap-meta .meta-item{padding-right:28px;text-transform:capitalize}@media(max-width:1024px){.learn-press-courses[data-layout=list] .course-wrap-meta .meta-item{padding-right:20px}}.learn-press-courses[data-layout=list] .course-wrap-meta .meta-item::before{position:relative;top:-1px;margin-right:8px;color:var(--lp-primary-color);font-family:"Font Awesome 5 Free";font-weight:900}.learn-press-courses[data-layout=list] .course-wrap-meta .meta-item-level::before{content:"\f012"}.learn-press-courses[data-layout=list] .course-wrap-meta .meta-item-duration::before{content:"\f017"}.learn-press-courses[data-layout=list] .course-wrap-meta .meta-item-lesson::before{content:"\f0c5"}.learn-press-courses[data-layout=list] .course-wrap-meta .meta-item-quiz::before{content:"\f12e"}.learn-press-courses[data-layout=list] .course-wrap-meta .meta-item-student::before{content:"\f501"}@media(max-width:815px){.learn-press-courses[data-layout=list] .course-wrap-meta{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:15px}.learn-press-courses[data-layout=list] .course-wrap-meta .meta-item{padding-right:15px}}@media(max-width:767px){.learn-press-courses[data-layout=list] .course-wrap-meta{grid-template-columns:repeat(3,1fr)}}.learn-press-courses[data-layout=list] .course-wrap-thumbnail{float:left;width:35.8%}@media(max-width:767px){.learn-press-courses[data-layout=list] .course-wrap-thumbnail{width:100%}}.learn-press-courses[data-layout=list] .course-title{font-size:18px}.learn-press-courses[data-layout=grid] .course{padding:0 15px}@media(max-width:992px){.learn-press-courses[data-layout=grid] .course{width:50%}}@media(max-width:767px){.learn-press-courses[data-layout=grid] .course{width:100%}}.learn-press-courses[data-layout=grid] .course-item:hover{box-shadow:0 15px 20px 0 rgba(0,0,0,0.2)}.learn-press-courses[data-layout=grid] .course-item .course-instructor{margin-bottom:7px}.learn-press-courses[data-layout=grid] .course-content{padding:15px 20px 12px 20px;border:1px solid #f0f0f0;border-top:0;flex-grow:1}.learn-press-courses[data-layout=grid] .course-content .course-categories{float:right;position:absolute;z-index:1;top:-34px;right:-1px;margin-right:0}.learn-press-courses[data-layout=grid] .course-content .course-categories::after{display:none}.learn-press-courses[data-layout=grid] .course-content .course-categories a{position:relative;margin:0;padding:2px 12px 2px 22px;-webkit-clip-path:polygon(0 0,100% 0,100% 100%,0 100%,12px 50%);clip-path:polygon(0 0,100% 0,100% 100%,0 100%,12px 50%)}.learn-press-courses[data-layout=grid] .course-content .course-permalink{height:48px;margin-bottom:20px}.learn-press-courses[data-layout=grid] .course-content .course-info{display:flex;flex-direction:column;flex-grow:1}.learn-press-courses[data-layout=grid] .course-content .course-wrap-meta,.learn-press-courses[data-layout=grid] .course-content .course-excerpt,.learn-press-courses[data-layout=grid] .course-content .course-readmore{display:none}.learn-press-courses[data-layout=grid] .course-content .course-footer{padding-top:18px;border-top:1px solid rgba(153,153,153,0.2)}.learn-press-courses[data-layout=grid] .course-content .course-footer .course-students{float:left;text-transform:capitalize}.learn-press-courses[data-layout=grid] .course-content .course-footer .course-students::before{position:relative;top:-1px;margin-right:8px;color:var(--lp-primary-color);font-family:"Font Awesome 5 Free";font-weight:900;content:"\f501"}.learn-press-courses[data-layout=grid] .learn-press-message{margin-left:15px;margin-right:15px}.learn-press-courses[data-size="3"] .course{width:33.3333%}@media(max-width:767px){.learn-press-courses[data-size="3"] .course{width:100%}}.learn-press-courses .lp-archive-course-skeleton{position:absolute;height:100%;background:linear-gradient(90deg,hsla(0,0%,74.5%,0.2) 25%,hsla(0,0%,50.6%,0.24) 37%,hsla(0,0%,74.5%,0.2) 63%);animation:lp-skeleton-loading 1.4s ease infinite;background-size:400% 100%}.learn-press-courses .lp-archive-course-skeleton li{display:none}.lp-courses-bar{display:flex;float:right;margin-bottom:48px}@media(max-width:767px){.lp-courses-bar{flex-direction:row;width:100%;justify-content:space-between}}.lp-courses-bar .search-courses{position:relative;width:306px;max-width:100%;margin-right:20px;line-height:1;flex:1}.lp-courses-bar .search-courses input[type=text]{width:100%;height:44px;padding:6px 32px 6px 18px;border:1px solid #ccc;border-radius:5px;background:#fff;font-size:14px;font-style:italic;line-height:1}.lp-courses-bar .search-courses input[type=text]:focus{border-color:var(--lp-primary-color);outline:0}.lp-courses-bar .search-courses button{position:absolute;top:50%;right:12px;width:30px;height:30px;padding:0;border:0;color:#333;background:transparent;font-size:16px;line-height:1;transform:translate(0,-50%)}.lp-courses-bar .search-courses button:focus{border:0;outline:0}.lp-courses-bar .search-courses button.loading>i::before{display:inline-block;font-family:"Font Awesome 5 Free";font-weight:900;content:"\f110";-webkit-animation:lp-rotating 1s linear infinite;-moz-animation:lp-rotating 1s linear infinite;animation:lp-rotating 1s linear infinite}.lp-courses-bar .search-courses ::-webkit-input-placeholder{color:#999}.lp-courses-bar .search-courses :-ms-input-placeholder{color:#999}.lp-courses-bar .search-courses ::placeholder{color:#999}@media(max-width:767px){.lp-courses-bar .search-courses{width:100%}}.lp-courses-bar .switch-layout{display:flex;height:44px;line-height:1;text-align:right;flex:0 0 40px;align-items:center;justify-content:center}.lp-courses-bar .switch-layout input[type=radio]{display:none}.lp-courses-bar .switch-layout .switch-btn{display:block;width:40px;height:40px;margin:0;padding:0;border-radius:5px;font-size:16px;line-height:40px;text-align:center;cursor:pointer}.lp-courses-bar .switch-layout .switch-btn::before{display:inline-block;margin:8px 6px;color:#333;font-family:"Font Awesome 5 Free";font-weight:900;line-height:1}.lp-courses-bar .switch-layout .switch-btn.grid::before{content:"\f00a"}.lp-courses-bar .switch-layout .switch-btn.list{margin-left:3px}.lp-courses-bar .switch-layout .switch-btn.list::before{content:"\f03a"}input[type=radio]:nth-child(1):checked ~ .switch-btn:nth-child(2){background:#f5f5f5}input[type=radio]:nth-child(1):checked ~ .switch-btn:nth-child(2)::before{color:var(--lp-primary-color)}input[type=radio]:nth-child(3):checked ~ .switch-btn:nth-child(4){background:#f5f5f5}input[type=radio]:nth-child(3):checked ~ .switch-btn:nth-child(4)::before{color:var(--lp-primary-color)}input[type=radio]:nth-child(5):checked ~ .switch-btn:nth-child(6){background:#f5f5f5}input[type=radio]:nth-child(5):checked ~ .switch-btn:nth-child(6)::before{color:var(--lp-primary-color)}input[type=radio]:nth-child(7):checked ~ .switch-btn:nth-child(8){background:#f5f5f5}input[type=radio]:nth-child(7):checked ~ .switch-btn:nth-child(8)::before{color:var(--lp-primary-color)}input[type=radio]:nth-child(9):checked ~ .switch-btn:nth-child(10){background:#f5f5f5}input[type=radio]:nth-child(9):checked ~ .switch-btn:nth-child(10)::before{color:var(--lp-primary-color)}input[type=radio]:nth-child(11):checked ~ .switch-btn:nth-child(12){background:#f5f5f5}input[type=radio]:nth-child(11):checked ~ .switch-btn:nth-child(12)::before{color:var(--lp-primary-color)}input[type=radio]:nth-child(13):checked ~ .switch-btn:nth-child(14){background:#f5f5f5}input[type=radio]:nth-child(13):checked ~ .switch-btn:nth-child(14)::before{color:var(--lp-primary-color)}input[type=radio]:nth-child(15):checked ~ .switch-btn:nth-child(16){background:#f5f5f5}input[type=radio]:nth-child(15):checked ~ .switch-btn:nth-child(16)::before{color:var(--lp-primary-color)}input[type=radio]:nth-child(17):checked ~ .switch-btn:nth-child(18){background:#f5f5f5}input[type=radio]:nth-child(17):checked ~ .switch-btn:nth-child(18)::before{color:var(--lp-primary-color)}input[type=radio]:nth-child(19):checked ~ .switch-btn:nth-child(20){background:#f5f5f5}input[type=radio]:nth-child(19):checked ~ .switch-btn:nth-child(20)::before{color:var(--lp-primary-color)}.lp_allow_repuchase_select{padding:20px;background:#f7f7f7}.lp_allow_repuchase_select>ul{padding:0;list-style:none}.lp_allow_repuchase_select>a{display:inline-block;margin-top:10px;color:#fff;background-color:#222}.comment-respond .comment-reply-title{font-size:30px;font-weight:500;line-height:1.2;margin-bottom:15px}.comment-respond .comment-form{margin:0 -15px}.comment-respond .comment-form>p label{display:block;margin-bottom:10px;font-size:16px;font-weight:500}.comment-respond .comment-form>p.comment-notes,.comment-respond .comment-form>p.logged-in-as{color:#666;font-size:16px}.comment-respond .comment-form>p.logged-in-as a{color:#666;text-decoration:underline}.comment-respond .comment-form>p.logged-in-as a:hover,.comment-respond .comment-form>p.logged-in-as a:focus{color:var(--lp-primary-color)}.comment-respond .comment-form>p.comment-form-cookies-consent{clear:both}.comment-respond .comment-form>p.comment-form-cookies-consent input{padding:0;margin-right:8px}.comment-respond .comment-form>p.comment-form-cookies-consent label{display:inline}.comment-respond .comment-form>p,.comment-respond .comment-form>div{padding:0 15px;margin-bottom:15px}.comment-respond .comment-form input[type=text],.comment-respond .comment-form input[type=email],.comment-respond .comment-form input[type=url]{height:40px;line-height:normal;width:100% !important;margin-bottom:15px}.comment-respond .comment-form input[type=submit]{background-color:var(--lp-primary-color);border:0;min-height:40px;line-height:40px;padding:0 15px;font-size:16px;text-transform:capitalize;font-weight:500;margin-top:15px;cursor:pointer;color:white}.comment-respond .comment-form .comment-form-author,.comment-respond .comment-form .comment-form-email,.comment-respond .comment-form .comment-form-url{width:33.33%;float:left}@media(max-width:575px){.comment-respond .comment-form .comment-form-author,.comment-respond .comment-form .comment-form-email,.comment-respond .comment-form .comment-form-url{width:100%;float:unset}}.comment-respond .comment-form textarea,.comment-respond .comment-form input{border:1px solid #ccc;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;max-width:100%}.comment-respond .comment-form textarea{width:100%;display:block;padding:20px 15px;resize:none}.course-summary-sidebar .course-sidebar-preview{margin-bottom:35px;background:#fff}.course-summary-sidebar .lp-course-buttons{margin-bottom:34px}.course-summary-sidebar .lp-course-buttons>*{margin-bottom:10px}.course-summary-sidebar .lp-course-buttons>*:last-child{margin-bottom:0}.course-summary-sidebar .lp-course-buttons form,.course-summary-sidebar .lp-course-buttons button{width:100%;text-decoration:none}.course-summary-sidebar .lp-course-buttons button{font-weight:500}.course-summary-sidebar .lp-course-buttons button:hover{border-color:var(--lp-primary-color)}.course-summary-sidebar .lp-course-buttons button.button-enroll-course{border-color:var(--lp-primary-color);color:#fff;background:var(--lp-primary-color)}.course-summary-sidebar .lp-course-buttons button.button-enroll-course:hover{opacity:.5;background:var(--lp-primary-color)}.course-summary-sidebar .lp-course-buttons button.button-enroll-course.loading::before{display:inline-block;font-family:"Font Awesome 5 Free";font-weight:900;content:"\f110";animation:lp-rotating 1s linear infinite}.course-summary-sidebar .lp-course-buttons button ~ .lp-enroll-notice{margin-top:20px;padding:20px;border:2px solid #059601;border-radius:9px;font-size:15px;line-height:1.4}.course-summary-sidebar .lp-course-buttons button ~ .lp-enroll-notice.error{border-color:#d85554}.course-summary-sidebar .course-results-progress .items-progress,.course-summary-sidebar .course-results-progress .course-progress{display:flex;flex-direction:row;margin:0 0 5px;padding:0;justify-content:space-between;flex-wrap:wrap}.course-summary-sidebar .course-results-progress .items-progress__heading,.course-summary-sidebar .course-results-progress .course-progress__heading{margin:0;margin-bottom:7px;padding:0;color:#333;font-size:1rem;font-weight:500;flex:1 1 auto;width:auto}.course-summary-sidebar .course-results-progress .items-progress .learn-press-progress,.course-summary-sidebar .course-results-progress .course-progress .learn-press-progress{clear:both;width:100%}.course-summary-sidebar .course-results-progress .number{display:block;margin:0;color:#666;font-size:16px;font-weight:300;line-height:16px;text-align:right}.course-sidebar-preview .course-price{text-align:center}.course-sidebar-preview .course-price .origin-price{color:#666;font-size:18px;font-weight:300;font-style:unset}.course-sidebar-preview .course-price .price{color:#333;font-size:1.8rem;font-weight:500}.course-sidebar-preview .media-preview{overflow:hidden;position:relative;margin:-20px -20px 20px}.course-sidebar-preview .media-preview img{max-width:100%;height:auto;vertical-align:top}.course-sidebar-preview .course-time{margin-bottom:28px;padding-bottom:8px;border-bottom:1px solid rgba(204,204,204,0.3)}.course-sidebar-preview .course-time-row{display:flex;color:#666;font-size:16px;font-weight:300;justify-content:space-between}.course-sidebar-preview .course-time-row strong{color:#333;font-weight:500}.course-sidebar-preview .course-time-row time{color:#666;font-size:1rem;font-weight:300;line-height:24px}.course-sidebar-preview>*:last-child{margin-bottom:0}.learnpress-page .lp-button.secondary{background:#9198ab}.learnpress-page .lp-button.secondary:hover{background:#9ba6c5}.learnpress-page .lp-button:disabled,.learnpress-page .lp-button[disabled]{background:#ddd;pointer-events:none}.learnpress-page:hover{text-decoration:none}#popup-course{display:flex;position:fixed;z-index:99999;top:0;right:0;bottom:0;left:0;background:#fff}#popup-course .back-course{padding-left:30px;padding-right:30px;line-height:70px;background:rgba(255,255,255,0.1);color:#fff}#popup-course .back-course:hover{background:rgba(255,255,255,0.15)}@media(max-width:768px){#popup-course .back-course{background:transparent;opacity:.6;padding-left:15px;padding-right:15px}#popup-course .back-course:hover{background:transparent;opacity:1}}#popup-course #popup-header{display:flex;position:fixed;z-index:100;right:0;left:475px;padding:0;border-bottom:1px solid #d9e0f1;background:var(--lp-secondary-color);-webkit-transition:left .25s;-moz-transition:left .25s;-ms-transition:left .25s;-o-transition:left .25s;transition:left .25s}#popup-course #popup-header .course-title{margin:0;padding:0;line-height:70px;letter-spacing:unset}#popup-course #popup-header .course-title a{display:-webkit-box;overflow:hidden;color:#fff;font-size:16px;font-weight:400;text-overflow:ellipsis;-webkit-line-clamp:1;-webkit-box-orient:vertical}#popup-course #popup-header .course-title a:hover{color:var(--lp-primary-color)}@media(max-width:768px){#popup-course #popup-header .course-title{flex:1}}#popup-course #popup-header .items-progress{display:flex;justify-content:center;align-items:center;column-gap:10px}@media(max-width:768px){#popup-course #popup-header .items-progress{flex:1}}@media(max-width:767px){#popup-course #popup-header .items-progress{padding-bottom:20px;justify-content:end}}#popup-course #popup-header .number{padding-right:10px;color:#fff;font-size:14px;font-weight:300}#popup-course #popup-header .lp-button{display:flex;position:relative;height:40px;margin:9px;border:0;color:#fff;background:var(--lp-primary-color);font-size:14px;font-weight:400;justify-content:center;line-height:40px;align-items:center}#popup-course #popup-header .lp-button:hover{opacity:.8}#popup-course #popup-header .lp-button-back{float:right;margin:9px 10px}#popup-course #popup-header .lp-button-back button::before,#popup-course #popup-header .lp-button-back button::after{content:""}#popup-course #popup-header .lp-button-back button::before{border:1px solid #ddd}#popup-course #popup-header .lp-button-back button::after{border:1px solid #ddd}#popup-course .popup-header__inner{display:flex;width:792px;margin:0 auto;justify-content:space-between;align-items:center;padding-left:15px;padding-right:15px}@media(max-width:1024px){#popup-course .popup-header__inner{width:100%}}@media(max-width:767px){#popup-course .popup-header__inner{flex-direction:column}}#popup-course #popup-sidebar{overflow:auto;position:relative;box-shadow:0 15px 30px 0 rgba(0,0,0,0.1);flex:0 0 475px;-webkit-transition:.25s;-moz-transition:.25s;-ms-transition:.25s;-o-transition:.25s;transition:.25s}#popup-course #popup-sidebar .search-course{display:flex;position:relative;height:70px;background:#f9fafc}#popup-course #popup-sidebar .search-course input[name=s]{display:block;width:100%;margin:6px 0;padding-left:20px;border:0;color:#999;background:transparent;box-shadow:none;font-size:14px;line-height:1;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}#popup-course #popup-sidebar .search-course input[name=s]::-webkit-input-placeholder{color:#999}#popup-course #popup-sidebar .search-course input[name=s]::-moz-placeholder{color:#999}#popup-course #popup-sidebar .search-course input[name=s]:-ms-input-placeholder{color:#999}#popup-course #popup-sidebar .search-course input[name=s]:-moz-placeholder{color:#999}#popup-course #popup-sidebar .search-course input[name=s]::placeholder{color:#999}#popup-course #popup-sidebar .search-course input[name=s]::-webkit-input-placeholder{font-style:italic}#popup-course #popup-sidebar .search-course input[name=s]::-moz-placeholder{font-style:italic}#popup-course #popup-sidebar .search-course input[name=s]:-ms-input-placeholder{font-style:italic}#popup-course #popup-sidebar .search-course input[name=s]:-moz-placeholder{font-style:italic}#popup-course #popup-sidebar .search-course input[name=s]::placeholder{font-style:italic}#popup-course #popup-sidebar .search-course input[name=s]:focus{outline:0;color:#222}#popup-course #popup-sidebar .search-course button{position:absolute;top:0;right:10px;width:16px;height:70px;margin:0 10px;padding:0;border:0;background:transparent;line-height:1px}#popup-course #popup-sidebar .search-course button::before{color:#666;font-family:"Font Awesome 5 Free";font-size:16px;font-weight:900;content:"\f002"}#popup-course #popup-sidebar .search-course button.clear{display:none}#popup-course #popup-sidebar .search-course button.clear::before{content:"\f00d"}#popup-course #popup-sidebar .search-course .search-results{display:none;overflow:auto;position:fixed;z-index:99999999;top:92px;bottom:0;left:0;width:400px;margin:0;border-top-color:transparent;border-right:1px solid #d9e0f1;background:#fbfcff}#popup-course #popup-sidebar .search-course .search-results .search-results__item{border-bottom:1px solid #d9e0f1;background:#fff}#popup-course #popup-sidebar .search-course .search-results .search-results__item img{position:absolute;left:10px;width:40px;height:40px}#popup-course #popup-sidebar .search-course .search-results .search-results__item a{display:-webkit-box;overflow:hidden;position:relative;box-sizing:content-box;height:40px;padding:10px 10px 10px 60px;color:#777;text-overflow:ellipsis;-webkit-line-clamp:1;-webkit-box-orient:vertical}#popup-course #popup-sidebar .search-course .search-results .search-results__item:hover{background:#d9e0f1}#popup-course #popup-sidebar .search-course .search-results .search-results__item-title{overflow:hidden;margin:0 0 -2px 0;padding:0;font-size:16px;font-weight:normal}#popup-course #popup-sidebar .search-course .search-results .search-results__item-author{font-size:12px}#popup-course #popup-sidebar .search-course .search-results .course-price{position:absolute;right:10px;bottom:10px;font-size:12px}#popup-course #popup-sidebar .search-course .search-results .course-price .origin-price{font-size:smaller;text-decoration:line-through}#popup-course #popup-sidebar .search-course .search-results .search-results__not-found{padding:10px;color:#777}#popup-course #popup-sidebar .search-course .search-results .search-results__pagination{padding:10px;text-align:center}#popup-course #popup-sidebar .search-course .search-results .search-results__pagination a,#popup-course #popup-sidebar .search-course .search-results .search-results__pagination span{display:inline-block;margin:0 3px 10px 2px;padding:5px 8px;border:1px solid #d9e0f1;border-radius:4px;color:#777;font-size:14px;line-height:1;cursor:pointer}#popup-course #popup-sidebar .search-course .search-results .search-results__pagination span{color:#999;background:#d9e0f1}#popup-course #popup-sidebar .search-course.searching .search-results{display:block}#popup-course #popup-sidebar .search-course.searching .clear{display:block}#popup-course #popup-sidebar .search-course.searching button{display:none}#popup-course #popup-sidebar .search-course.searching::after{position:absolute;z-index:1;bottom:0;left:50%;width:0;height:0;margin-left:-10px;border:10px solid transparent;border-bottom-color:#fff;content:""}#popup-course #popup-sidebar .course-curriculum{overflow:auto;position:absolute;top:70px;bottom:0;width:475px}#popup-course #popup-sidebar .course-curriculum::-webkit-scrollbar-thumb{background:#ccc}#popup-course #popup-sidebar .course-curriculum::-webkit-scrollbar{width:6px}#popup-course #popup-sidebar .course-curriculum::-webkit-scrollbar-track{background:#f5f5f5}#popup-course #popup-sidebar .section{position:relative;padding:0 0 4px 0}#popup-course #popup-sidebar .section .circle-progress{display:inline-block;position:absolute;top:50%;right:10px;width:24px;height:24px;margin-top:-12px;border:3px solid #d9e0f1;border-radius:50%}#popup-course #popup-sidebar .section.section-empty .section-header{margin:0}#popup-course #popup-sidebar .section.section-empty .learn-press-message{margin:0;padding:10px;border-bottom:1px solid #d9e0f1;border-radius:0;color:#999;background:#f5f5f5;font-size:14px}#popup-course #popup-sidebar .section.section-empty .learn-press-message::before,#popup-course #popup-sidebar .section.section-empty .learn-press-message::after{position:absolute;z-index:9999;top:-16px;left:10px;width:0;height:0;border:8px solid transparent;border-bottom-color:#f5f5f5;background:transparent;content:"";-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}#popup-course #popup-sidebar .section.section-empty .learn-press-message::after{z-index:9998;top:-20px;left:8px;border-width:10px;border-bottom-color:#d9e0f1}#popup-course #popup-sidebar .section-header{position:sticky;z-index:1000;top:0;height:94px;padding:38px 20px 20px 20px;cursor:pointer;background-color:white}#popup-course #popup-sidebar .section-header .section-title{padding:0 0 4px 0;color:#000;font-size:20px;font-weight:500}#popup-course #popup-sidebar .section-header .section-title .show-desc::before{font-family:"Font Awesome 5 Free";font-size:18px;font-weight:900;content:"\f0d7"}#popup-course #popup-sidebar .section-header .section-toggle{justify-content:flex-end;flex:0}#popup-course #popup-sidebar .section-header .section-toggle i{color:#666}#popup-course #popup-sidebar .section-header .section-meta{padding-top:6px;padding-bottom:0}#popup-course #popup-sidebar .section-content{margin-bottom:0}#popup-course #popup-sidebar .course-item{min-height:50px;margin-bottom:4px;padding:5px 20px;background:#f9fafc;align-items:center}#popup-course #popup-sidebar .course-item>span{display:none}#popup-course #popup-sidebar .course-item::before{top:-1px;bottom:-1px;height:auto;background:transparent}#popup-course #popup-sidebar .course-item::after{content:""}#popup-course #popup-sidebar .course-item.current{background:#eaeaea}#popup-course #popup-sidebar .course-item.has-status.failed .trans{color:#f02425}#popup-course #popup-sidebar .course-item.status-completed .trans{color:#3bb54a}#popup-course #popup-sidebar .section-item-link{line-height:1;padding-right:0}#popup-course #popup-sidebar .section-item-link::before{padding:12px 0;vertical-align:unset}#popup-course #popup-sidebar .section-item-link .item-name{width:100%;padding:0 10px 0 17px;font-size:14px;line-height:21px;font-weight:500}#popup-course #popup-sidebar .course-item-meta{padding:0}#popup-course #popup-sidebar .course-item-meta .item-meta{padding:0;color:#999;background:transparent;font-size:12px;line-height:1.5;height:auto}#popup-course #popup-sidebar .course-item-meta .item-meta:first-child{margin-left:0}#popup-course #popup-sidebar .course-item-meta .item-meta::before{font-size:12px;line-height:21px}#popup-course #popup-content{overflow:auto;position:relative;margin:70px 0 50px 0;flex:1;padding-left:15px;padding-right:15px}#popup-course #popup-content .lp-button{position:relative;margin:0 10px 0 0;padding:12px 29px;border-color:var(--lp-secondary-color);font-size:14px}#popup-course #popup-content .lp-button.instant-check .instant-check__icon{margin-right:5px}#popup-course #popup-content .lp-button.instant-check .instant-check__icon::before{font-family:"Font Awesome 5 Free";content:"\f058"}#popup-course #popup-content .lp-button.instant-check .instant-check__info{visibility:hidden;position:absolute;top:100%;left:0;margin-top:3px;padding:11px 20px;border-radius:3px;background:#eee;white-space:nowrap;text-transform:none}#popup-course #popup-content .lp-button.instant-check:hover .instant-check__info{visibility:visible;position:absolute;top:100%;left:0;margin-top:3px;padding:11px 11px;border-radius:3px;color:#333;background:#eee;white-space:nowrap}#popup-course #popup-content .lp-button.instant-check.loading .instant-check__icon{display:inline-block;animation:lp-rotating 1s linear infinite}#popup-course #popup-content .lp-button.instant-check.loading .instant-check__icon::before{font-weight:800;content:"\f110"}#popup-course #popup-content .lp-button:hover{border-color:var(--lp-primary-color)}#popup-course #popup-content .lp-button.completed{display:flex;flex-direction:row-reverse;margin-top:32px;border-color:transparent;color:#fff;background:#3db748;font-size:16px;align-items:center;justify-content:center}#popup-course #popup-content .lp-button.completed i{margin-left:9px;font-size:14px}#popup-course #popup-content.fixed-quiz-status .quiz-status{background:var(--lp-primary-color)}#popup-course #popup-content.fixed-quiz-status .quiz-status>div{padding:0}#popup-course #popup-footer{position:fixed;z-index:999;right:0;bottom:0;left:475px;width:100%;max-width:792px;height:50px;margin:0 auto;border-top:1px solid #ebebeb;background:#fff;-webkit-transition:left .25s;-moz-transition:left .25s;-ms-transition:left .25s;-o-transition:left .25s;transition:left .25s}@media(max-width:1024px){#popup-course #popup-footer{width:auto;padding:0 15px}}#popup-course #popup-footer .course-item-nav{justify-content:space-between}#popup-course #popup-footer .course-item-nav .prev,#popup-course #popup-footer .course-item-nav .next{display:flex;line-height:50px}#popup-course #popup-footer .course-item-nav .prev a,#popup-course #popup-footer .course-item-nav .next a{display:block;color:#666;font-size:16px}#popup-course #popup-footer .course-item-nav .prev::before,#popup-course #popup-footer .course-item-nav .next::before{color:#999;font-family:"Font Awesome 5 Free";font-size:12px;font-weight:900}#popup-course #popup-footer .course-item-nav .prev:hover a,#popup-course #popup-footer .course-item-nav .prev:hover::before,#popup-course #popup-footer .course-item-nav .next:hover a,#popup-course #popup-footer .course-item-nav .next:hover::before{color:var(--lp-primary-color)}#popup-course #popup-footer .course-item-nav .prev:hover .course-item-nav__name,#popup-course #popup-footer .course-item-nav .next:hover .course-item-nav__name{display:block}#popup-course #popup-footer .course-item-nav .next{flex-direction:row-reverse}#popup-course #popup-footer .course-item-nav .next::before{margin-left:10px;content:"\f0da"}#popup-course #popup-footer .course-item-nav[data-nav=next]{justify-content:flex-end}#popup-course #popup-footer .prev::before{margin-right:10px;content:"\f0d9"}#popup-course #popup-footer .prev .course-item-nav__name{right:auto;left:-30px}#popup-course #popup-footer .prev .course-item-nav__name::before{right:auto;left:5px}@media(max-width:1024px){#popup-course #popup-footer .prev .course-item-nav__name{left:15px}}#popup-course #popup-footer .course-item-nav__name{display:none;position:absolute;top:-20px;right:-30px;width:auto;padding:10px 15px;color:#666;background:#ccc;font-size:14px;font-weight:300;line-height:1}@media(max-width:1024px){#popup-course #popup-footer .course-item-nav__name{top:-25px;right:15px;left:auto}}#popup-course #sidebar-toggle{display:inline-block;position:absolute;z-index:100;top:198px;left:475px;width:25px;height:56px;margin:0;background:#fff;box-shadow:0 0 20px 0 rgba(0,0,0,0.15);cursor:pointer;transition:.25s;-webkit-appearance:none;border:0}#popup-course #sidebar-toggle:after{display:none}#popup-course #sidebar-toggle::before{display:inline-block;position:absolute;top:50%;left:50%;color:var(--lp-primary-color);font-family:"Font Awesome 5 Free";font-size:18px;font-weight:900;content:"\f0d9";transition:.25s;transform:translate(-50%,-50%)}#popup-course #sidebar-toggle:focus{border:0;outline:0}#popup-course .lp-quiz-buttons .complete-quiz,#popup-course .lp-quiz-buttons .back-quiz,#popup-course .lp-quiz-buttons .review-quiz{float:right}#popup-course .quiz-results,#popup-course .quiz-content,#popup-course .quiz-questions,#popup-course .quiz-buttons,#popup-course .quiz-attempts{margin-bottom:60px}#popup-course .quiz-questions .lp-fib-content{margin-bottom:20px;padding:20px;border:2px solid #f5f5f5;border-radius:6px;line-height:1.6}#popup-course .quiz-questions .lp-fib-input{display:inline-block;width:auto;max-width:none}#popup-course .quiz-questions .lp-fib-input>input{height:36px;padding:6px 16px;border:1px solid #222;line-height:36px}#popup-course .quiz-questions .lp-fib-answered{padding:0 10px;background:#ececec;white-space:nowrap}#popup-course .quiz-questions .lp-fib-answered.fail{border:2px solid #d85554}#popup-course .quiz-questions .lp-fib-answered.fail .lp-fib-answered__answer{text-decoration:line-through}#popup-course .quiz-questions .lp-fib-answered.correct{border:2px solid #00adff}#popup-course .quiz-questions .lp-fib-note{display:flex;margin-left:10px;font-size:14px;font-weight:400;align-items:center}#popup-course .quiz-questions .lp-fib-note>span{display:inline-block;width:20px;height:20px;margin:0 5px 0 0}#popup-course .quiz-questions .lp-sorting-choice__check-answer{padding:5px 20px;border:2px solid #059601;border-radius:5px;font-size:1rem}#popup-course .question .answer-option input[type=radio],#popup-course .question .answer-option input[type=checkbox]{-webkit-transform:translateY(-50%);-moz-transform:translateY(-50%);-ms-transform:translateY(-50%);-o-transform:translateY(-50%);transform:translateY(-50%);margin:0 0 0 10px}#popup-course .question .answer-option input[type=radio]::before{border-radius:50%}#popup-course .question .question-response{display:flex;align-items:center;justify-content:flex-start}#popup-course .scrollbar-light>.scroll-element{z-index:9999}#popup-course .scrollbar-light>.scroll-element.scroll-y{display:none}#popup-course .scrollbar-light>.scroll-element.scroll-y .scroll-bar{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}body.admin-bar #popup-course{top:32px}body.lp-sidebar-toggle__close #popup-course>#sidebar-toggle{left:0}body.lp-sidebar-toggle__close #popup-course>#sidebar-toggle::before{content:"\f0da"}body.lp-sidebar-toggle__close #popup-course #popup-sidebar{flex:0}body.lp-sidebar-toggle__close #popup-course #popup-header,body.lp-sidebar-toggle__close #popup-course #popup-footer{left:0}@media(max-width:768px){body:not(.lp-sidebar-toggle__open) #popup-course>#sidebar-toggle{left:0}body:not(.lp-sidebar-toggle__open) #popup-course>#sidebar-toggle::before{content:"\f0da"}body:not(.lp-sidebar-toggle__open) #popup-course #popup-sidebar{flex:0}}.course-curriculum .section-header .section-meta{position:relative}@media screen and (max-width:1280px){#popup-course #popup-sidebar{flex-basis:300px}#popup-course #popup-sidebar .course-curriculum{width:300px}#popup-course #popup-header,#popup-course #popup-footer{left:300px}#popup-course #sidebar-toggle{left:299px}}@media screen and (max-width:782px){body.admin-bar #popup-course{top:46px}#popup-course #popup-sidebar{flex-basis:250px}#popup-course #popup-sidebar .course-curriculum{width:250px}#popup-course #popup-header,#popup-course #popup-footer{left:250px}#popup-course #sidebar-toggle{left:249px}#popup-course .course-item-meta .item-meta.count-questions,#popup-course .course-item-meta .item-meta.duration{display:none}}.content-item-wrap{width:792px;max-width:100%;margin:0 auto;padding-bottom:80px}@media(max-width:1024px){.content-item-wrap{width:100%}}.content-item-wrap .course-item-title{margin-top:0;margin-bottom:24px;color:#333;font-size:30px;font-weight:600}@media(max-width:767px){.content-item-wrap .course-item-title{text-align:center}}.content-item-wrap h4{font-size:1.5rem;font-weight:500;line-height:1.5}.content-item-wrap .content-item-summary{padding-top:50px}.content-item-wrap .content-item-description{margin-bottom:30px}.content-item-wrap .content-item-description h2,.content-item-wrap .content-item-description h3,.content-item-wrap .content-item-description h4,.content-item-wrap .content-item-description h5,.content-item-wrap .content-item-description h6{margin-top:0;margin-bottom:18px;font-size:18px;letter-spacing:unset}.content-item-wrap .content-item-description p{margin:0 0 18px 0;color:#666;font-size:16px;font-weight:300;line-height:26px}.content-item-wrap .content-item-description img{max-width:100%;height:auto;vertical-align:middle}.content-item-wrap #learn-press-quiz-app{margin-bottom:40px}.content-item-wrap .quiz-content{margin-bottom:40px;color:#666;font-size:16px;font-weight:300;line-height:26px}.content-item-wrap .quiz-content img{max-width:100%;height:auto;vertical-align:middle}.content-item-wrap .quiz-buttons{display:flex;justify-content:center;text-align:center}.content-item-wrap .quiz-buttons .button-right .lp-button{margin:0 0 0 15px}.content-item-wrap .quiz-buttons .lp-button[data-type=question-nav]{margin:0;border:1px solid #d9e0f1;color:#777;background:#fbfcff}.content-item-wrap .quiz-buttons .lp-button[data-type=question-nav]::before{display:inline-block;width:15px;height:15px;border:2px solid #d9e0f1;border-top-color:transparent;border-left-color:transparent;content:"";-webkit-transform:rotate(-45deg);-moz-transform:rotate(-45deg);-ms-transform:rotate(-45deg);-o-transform:rotate(-45deg);transform:rotate(-45deg)}.content-item-wrap .quiz-buttons .lp-button[data-type=question-nav].prev::before{margin-left:7px;-webkit-transform:rotate(135deg);-moz-transform:rotate(135deg);-ms-transform:rotate(135deg);-o-transform:rotate(135deg);transform:rotate(135deg)}.content-item-wrap .quiz-buttons .lp-button[data-type=question-nav].next{margin-left:-1px}.content-item-wrap .quiz-buttons .lp-button[data-type=question-nav].next::before{margin-right:7px}.content-item-wrap .quiz-buttons .lp-button[data-type=question-nav]:hover{background:#fff}.content-item-wrap .quiz-buttons.align-center{display:block;text-align:center}.content-item-wrap .quiz-buttons.align-center .button-left{text-align:center}.content-item-wrap .quiz-buttons.align-center .button-left.fixed{position:fixed;z-index:99999;bottom:0;left:50%;width:100%;max-width:792px;height:49px;margin-left:237px;transform:translateX(-50%)}@media(max-width:768px){.content-item-wrap .quiz-buttons.align-center .button-left.fixed{width:100% !important}}.content-item-wrap .quiz-buttons.align-center .button-left.nav-center{height:50px;margin-left:0 !important}.content-item-wrap .quiz-buttons:not(.infinity).is-first .prev{display:none}.content-item-wrap .quiz-buttons:not(.infinity).is-last .next{display:none}.content-item-wrap .quiz-buttons:not(.is-first):not(.is-last) .prev{border-top-right-radius:0;border-bottom-right-radius:0}.content-item-wrap .quiz-buttons:not(.is-first):not(.is-last) .next{border-top-left-radius:0;border-bottom-left-radius:0}.content-item-wrap .questions-pagination{height:33px;padding:8px 0;background:#fff;text-align:center}.content-item-wrap .questions-pagination .nav-links{text-align:center}.content-item-wrap .questions-pagination .nav-links .page-numbers{display:inline-block;vertical-align:middle;margin:0 3px 3px;padding:10px 16px;color:#666;background-color:transparent;font-size:16px;font-weight:300;line-height:1;border:1px solid;cursor:pointer}.content-item-wrap .questions-pagination .nav-links .page-numbers.next,.content-item-wrap .questions-pagination .nav-links .page-numbers.prev{display:inline-block;padding:10px;background:transparent;font-size:16px;text-align:center;text-decoration:none;text-transform:none;border:1px solid}.content-item-wrap .questions-pagination .nav-links .page-numbers.current,.content-item-wrap .questions-pagination .nav-links .page-numbers:hover{color:var(--lp-primary-color)}.course-curriculum .section-title{position:relative;margin-bottom:0;padding:8px 0;color:#5383f7;font-size:16px;font-weight:normal;line-height:1}.course-curriculum .section-title span.show-desc{display:inline-block;position:absolute;top:50%;right:30px;width:20px;height:20px;transform:translate(0,-50%)}.course-curriculum .section-title span.show-desc::before{font-family:"Font Awesome 5 Free";font-size:18px;font-weight:900;content:"\f107"}.course-curriculum .section-title span.show-desc:hover::before{border-top-color:#ccc}.lp-overlay{display:none;position:fixed;z-index:99999;top:0;right:0;bottom:0;left:0;width:100%;height:100%;background-color:rgba(209,213,219,0.8);transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:150ms;transition-property:opacity}.wp-admin .lp-modal-dialog .lp-modal-header{padding:2em}.wp-admin .lp-modal-dialog .lp-modal-header h3{font-size:1.4em}.lp-modal-dialog{display:flex;position:fixed;z-index:9999;top:0;right:0;left:0;width:100%;min-height:100vh;text-align:center;align-items:center;justify-content:center}.lp-modal-dialog .lp-modal-content{display:inline-block;overflow:hidden;z-index:2;width:auto;max-width:600px;border-radius:8px;text-align:left;vertical-align:middle;background:white;color:black}.lp-modal-dialog .lp-modal-header{background:#7c60d9;border-bottom:1px solid #eee;padding:1em}.lp-modal-dialog .lp-modal-header h3{margin:0;color:white;font-size:inherit;font-weight:400}.lp-modal-dialog .lp-modal-body .main-content{max-height:500px;overflow:auto}.lp-modal-dialog .lp-modal-body .main-content h3,.lp-modal-dialog .lp-modal-body .main-content h2,.lp-modal-dialog .lp-modal-body .main-content .pd-2em{padding:1em}.lp-modal-dialog .lp-modal-footer{padding:20px;background-color:#f9fafb;text-align:right}.lp-modal-dialog .btn-yes{color:#fff;background-color:#7c60d9}#lp-modal-overlay{display:none;position:fixed;z-index:999999;top:0;right:0;bottom:0;left:0;opacity:.5;background:#000}#lp-modal-window{display:none;position:fixed;z-index:999999;top:50%;left:50%;padding:35px 60px 28px 60px;background:#fff;transform:translate(-50%,-50%);-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}#lp-modal-window #lp-modal-content{margin:0 0 24px 0;color:#333;font-size:16px;font-weight:400;line-height:26px;text-align:center}#lp-modal-window #lp-modal-content>*{margin:0 0 .5em}#lp-modal-window #lp-modal-buttons{display:flex;flex-direction:row-reverse;align-items:center;justify-content:center}#lp-modal-window #lp-modal-buttons .lp-button{position:relative;margin:0 10px 0 10px}.learn-press-comments{width:792px;max-width:100%;margin:0 auto}@media(max-width:1024px){.learn-press-comments{width:100%}}.learn-press-progress{overflow:hidden;position:relative;width:80px;height:6px;border-radius:3px}.learn-press-progress .learn-press-progress__active{position:absolute;z-index:1;left:-100%;width:100%;height:100%;border-radius:3px;background:var(--lp-primary-color);-webkit-transition:.5s;-moz-transition:.5s;-ms-transition:.5s;-o-transition:.5s;transition:.5s}.learn-press-progress::before{display:block;position:absolute;z-index:0;top:0;width:100%;height:100%;background:#ccc;content:""}.course-curriculum .section-header .section-left{display:flex}.course-curriculum .section-header .section-left .section-title{flex:1}.course-curriculum .section-header .section-left .section-toggle{flex:0 0 40px;align-items:center;text-align:center;cursor:pointer}.course-curriculum .section-header .section-left .section-toggle .fa-caret-down{display:none}.course-curriculum .section-header .learn-press-progress{width:80px}.course-curriculum .section.closed .section-toggle .fa-caret-down{display:block}.course-curriculum .section.closed .section-toggle .fa-caret-up{display:none}.course-curriculum .section.closed .section-content{overflow:hidden;height:0}*{box-sizing:border-box;margin:0;padding:0}button{cursor:pointer}input,button,select,textarea{outline:0}html{overflow-x:hidden}a{-webkit-transition:.3s;-moz-transition:.3s;-ms-transition:.3s;-o-transition:.3s;transition:.3s}.lp-skeleton-animation{margin:0;padding:0;list-style:none}.lp-skeleton-animation>li{width:100%;height:16px;margin-top:15px;border-radius:2px;background:linear-gradient(90deg,hsla(0,0%,74.5%,0.2) 25%,hsla(0,0%,50.6%,0.24) 37%,hsla(0,0%,74.5%,0.2) 63%);background-size:400% 100%;list-style:none;animation:lp-skeleton-loading 1.4s ease infinite}@keyframes lp-skeleton-loading{0%{background-position:100% 50%}to{background-position:0 50%}}.learnpress.theme-twentytwentytwo .wp-site-blocks,.learnpress.twentytwentytwo .wp-site-blocks{max-width:none;padding-right:0;padding-left:0}.learnpress.theme-twentytwentytwo .wp-site-blocks>.wp-block-group,.learnpress.twentytwentytwo .wp-site-blocks>.wp-block-group{max-width:none;margin-right:auto;margin-left:auto}.learnpress.theme-twentytwentytwo .lp-archive-courses,.learnpress.twentytwentytwo .lp-archive-courses{max-width:none}.learnpress.twentytwentytwo .wp-container-11 .alignfull,.learnpress.twentytwentytwo .wp-container-9 .alignfull,.learnpress.twentytwentytwo .wp-container-12 .alignfull{max-width:100%;margin-left:0 !important;margin-right:0 !important;padding-left:0 !important;padding-right:0 !important}@media(max-width:1199px){.learnpress.twentytwentytwo .wp-site-blocks .wp-block-template-part{padding-left:15px;padding-right:15px}}input[type=text],input[type=email],input[type=number],input[type=password]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin:0;box-shadow:unset}body{background:#fff}body.learnpress-page{overflow-x:hidden}.wrap-fullwidth a:focus,.wrap-fullwidth button:focus,.wrap-fullwidth input:focus,.wrap-fullwidth textarea:focus{border:0;outline:0}.wrap-fullwidth a:hover{text-decoration:none}.wrap-fullwidth p{word-break:break-word}.wrap-fullwidth p:last-child{margin-bottom:0}.wrap-fullwidth label{display:block;margin:0;outline:0}.wrap-fullwidth img{max-width:100%;height:auto}.wrap-fullwidth form{margin:0}.wrap-fullwidth .col-full{box-sizing:border-box;max-width:100%;padding:0}.wrap-fullwidth .col-full .woocommerce-breadcrumb{display:none}footer{clear:both}.margin-bottom{margin-bottom:20px}.hide-if-js{display:none !important}.clearfix::after{display:block;clear:both;content:""}.lp-form-fields{margin:0;padding:0;list-style:none}.lp-form-fields .form-field{margin:0 0 20px 0;list-style:none}.lp-content-wrap{width:1170px;max-width:90%;margin:0 auto}.lp-content-wrap>h2{margin-top:0;margin-bottom:26px;color:#333;font-size:30px;font-weight:600}.learn-press-breadcrumb{max-width:1170px;width:100%;margin:0 auto 45px auto;padding:0;color:#333;font-size:14px;font-weight:400;list-style:none}.learn-press-breadcrumb li{display:inline-block;margin:0}.learn-press-breadcrumb li a:hover{color:var(--lp-primary-color)}.learn-press-breadcrumb i{margin:0 5px;color:#666;font-size:12px}@media(max-width:1024px){.learn-press-breadcrumb{padding-right:15px;padding-left:15px}}.learn-press-breadcrumb a{color:#666;font-weight:500}.learnpress-page .lp-button,.learnpress-page #lp-button{padding:16px 24px;border:1px solid #ccc;color:#333;background:transparent;box-shadow:unset;font-family:inherit;font-size:16px;font-weight:400;line-height:1;text-align:center;vertical-align:middle;text-decoration:none;text-transform:capitalize;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-transition:all .25s;-moz-transition:all .25s;-ms-transition:all .25s;-o-transition:all .25s;transition:all .25s}.learnpress-page .lp-button.large,.learnpress-page #lp-button.large{height:52px;padding:18px 30px;font-size:18px}.learnpress-page .lp-button:hover,.learnpress-page #lp-button:hover{border-color:var(--lp-primary-color);color:#fff;background:var(--lp-primary-color)}.learnpress-page .lp-button.btn-ajax-off .icon,.learnpress-page #lp-button.btn-ajax-off .icon{display:none}.learnpress-page .lp-button.btn-ajax-on .icon,.learnpress-page #lp-button.btn-ajax-on .icon{display:inline-block;margin-right:5px;-webkit-animation:lp-rotating 1s linear infinite;-moz-animation:lp-rotating 1s linear infinite;animation:lp-rotating 1s linear infinite}.learnpress-page .lp-button:focus,.learnpress-page #lp-button:focus{outline:0}.learnpress-page .lp-button.loading::before,.learnpress-page #lp-button.loading::before{display:inline-block;font-family:"Font Awesome 5 Free";font-weight:900;content:"\f110";animation:lp-rotating 1s linear infinite}.learnpress-page .rwmb-field .description{margin-top:8px;color:#999;font-size:smaller;font-style:italic}.btn-base{border-color:var(--lp-primary-color);color:white;background-color:var(--lp-primary-color)}.lp-ajax-message{display:none;margin-top:20px;padding:20px;border:2px solid #059601;border-radius:9px;font-size:15px;line-height:1.4}.lp-ajax-message.error{border-color:#d85554}.course-meta{margin-bottom:14px}.course-meta .course-students::before{font-family:"Font Awesome 5 Free";content:""}.lp-entry-content .course-tabs{margin-bottom:60px}.learn-press-checkout-comment h4{display:none}.order-comments{width:100%;padding:15px;min-height:150px;border:1px solid #ccc;resize:none}.learn-press-progress .progress-bg{overflow:hidden;position:relative;height:6px;background:#ccc;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.learn-press-progress .progress-bg .progress-active{position:absolute;left:50%;width:100%;height:100%;margin-left:-100%;background:var(--lp-primary-color);-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.retake-course,.enroll-course,.purchase-course{display:inline-block}.table-orders{font-size:16px}.table-orders th,.table-orders td{padding:5px 10px}.form-button{display:inline-block}.learn-press-pagination{padding-bottom:20px;text-align:center}.learn-press-pagination .page-numbers{display:inline-block;margin:0;padding:0;border:0;outline:0;background:transparent;list-style:none}.learn-press-pagination .page-numbers>li{display:inline-block;margin:0;padding:0 14px}.learn-press-pagination .page-numbers>li .page-numbers{float:unset;padding:0;color:#666;background:transparent;font-size:16px;font-weight:300}.learn-press-pagination .page-numbers>li .page-numbers.current{color:var(--lp-primary-color);font-weight:400}.learn-press-pagination .page-numbers>li .page-numbers:hover{color:var(--lp-primary-color)}ul.list-table-nav{display:flex;margin-left:0;list-style:none}ul.list-table-nav .nav-text{text-align:left;flex:1}ul.list-table-nav .nav-pages{text-align:right;flex:1}ul.list-table-nav .nav-pages .learn-press-pagination{display:inline-block;margin-bottom:0}.primary-color{color:#00adff}.primary-color-before::before{color:#00adff}.primary-color-after::after{color:#00adff}.primary-background-color{background:#00adff}.primary-background-color{background:#00adff}.course-origin-price{margin-right:5px;font-size:85%;text-decoration:line-through}.course-item-nav{display:flex}.course-item-nav .prev span,.course-item-nav .next span{display:block;font-weight:bold}.course-item-nav .prev a,.course-item-nav .next a{color:#999}.course-item-nav .next{text-align:right}.content-item-wrap #comments{margin-right:0;margin-left:0}.content-item-wrap #comments #comment{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.course-summary-sidebar{position:relative}@media(min-width:769px){.course-summary-sidebar.slide-down .course-summary-sidebar__inner{position:fixed;top:0}}@media(min-width:1200px){.course-summary-sidebar.slide-top .course-summary-sidebar__inner{position:absolute}}.course-graduation span{color:#999}.course-graduation .icon{margin-right:5px;font-size:20px}.course-graduation.passed .icon{color:#059601}.course-graduation.error .icon{color:#d85554}.learn-press-template-warning::before{color:#ffc107;font-family:"Font Awesome 5 Free";content:"\f071"}.lp-badge{display:flex;height:30px;padding:0;line-height:1;align-items:center;justify-content:center}.lp-badge::before,.lp-badge::after{content:""}.lp-badge::before{display:inline-block;position:relative;z-index:10;color:#fff;font-weight:bold;line-height:1}.lp-badge.featured-course{position:absolute;z-index:1;top:25px;left:-110px;width:300px;background:#93f;text-align:center;transform:rotate(-45deg)}.lp-badge.featured-course::before{font-size:12px;text-transform:uppercase;content:attr(data-text)}@media(min-width:769px){#learn-press-item-comments{padding-bottom:50px}}.course-tabs input[name=learn-press-course-tab-radio],.course-tabs .course-tab-panel{display:none}.course-tabs .course-nav label{display:flex;align-items:center;justify-content:center;margin:0;padding:17px 10px;font-size:16px;line-height:1;font-weight:600;text-transform:capitalize;cursor:pointer}.no-event{pointer-events:none}@media screen and (max-width:768px){ul.learn-press-courses .course{width:48%}}@media screen and (max-width:600px){ul.learn-press-courses .course{width:100%;margin-right:0}}.course-price:empty{display:none !important}.quiz-attempts .attempts-heading{margin-bottom:15px}.quiz-attempts table{border-spacing:0;border-left:1px solid var(--lp-secondary-color);border-top:1px solid var(--lp-secondary-color);width:100%}.quiz-attempts table tr th,.quiz-attempts table tr td{border-right:1px solid var(--lp-secondary-color);border-bottom:1px solid var(--lp-secondary-color);padding:5px 15px;text-align:center}.quiz-attempts table tr th{font-weight:500}@media(max-width:575px){#popup-course .quiz-attempts{overflow-x:auto}}
|
@@ -1 +1 @@
|
|
1 |
-
const $=jQuery,$doc=$(document),$win=$(window),makePaymentsSortable=function(){$(".learn-press-payments.sortable tbody").sortable({handle:".dashicons-menu",helper:(e,t)=>(t.children().each((function(){$(this).width($(this).width())})),t),axis:"y",start(e,t){},stop(e,t){},update(e,t){const a=$(this).children().map((function(){return $(this).find('input[name="payment-order"]').val()})).get();$.post({url:"",data:{"lp-ajax":"update-payment-order",order:a},success(e){}})}})},lpMetaboxCustomFields=()=>{$(".lp-metabox__custom-fields").on("click",".lp-metabox-custom-field-button",(function(){const t=$(this).data("row").replace(/lp_metabox_custom_fields_key/gi,Math.floor(1e3*Math.random())+1);return $(this).closest("table").find("tbody").append(t),e($(this).closest(".lp-metabox__custom-fields")),!1})),$(".lp-metabox__custom-fields").on("click","a.delete",(function(){return $(this).closest("tr").remove(),e($(this).closest(".lp-metabox__custom-fields")),!1})),$(".lp-metabox__custom-fields tbody").sortable({items:"tr",cursor:"move",axis:"y",handle:"td.sort",scrollSensitivity:40,forcePlaceholderSize:!0,helper:"clone",opacity:.65,update(t,a){e($(this).closest(".lp-metabox__custom-fields"))}});const e=e=>{e.find("tbody tr").each((function(e,t){$(this).find(".sort .count").val(e)}))}},lpMetaboxRepeaterField=()=>{const e=e=>{e.find(".lp_repeater_meta_box__field").each((function(e,t){$(this).find(".lp_repeater_meta_box__field__count").val(e),$(this).find(".lp_repeater_meta_box__title__title > span").text(e+1)}))};$(".lp_repeater_meta_box__add").on("click",(function(){const t=$(this).data("add").replace(/lp_metabox_repeater_key/gi,Math.floor(1e3*Math.random())+1);return $(this).closest(".lp_repeater_meta_box__wrapper").find(".lp_repeater_meta_box__fields").append(t),e($(this).closest(".lp_repeater_meta_box__wrapper")),$(this).closest(".lp_repeater_meta_box__wrapper").find(".lp_repeater_meta_box__fields").last().find("input").trigger("focus"),!1})),$(".lp_repeater_meta_box__wrapper").on("click","a.lp_repeater_meta_box__title__delete",(function(){return $(this).closest(".lp_repeater_meta_box__field").remove(),e($(this).closest(".lp_repeater_meta_box__wrapper")),!1})),$(".lp_repeater_meta_box__fields").on("click",".lp_repeater_meta_box__title__toggle, .lp_repeater_meta_box__title__title",(function(){const e=$(this).closest(".lp_repeater_meta_box__field");return e.hasClass("lp_repeater_meta_box__field_active")?e.removeClass("lp_repeater_meta_box__field_active"):e.addClass("lp_repeater_meta_box__field_active"),!1})),$(".lp_repeater_meta_box__fields").sortable({items:".lp_repeater_meta_box__field",cursor:"grab",axis:"y",handle:".lp_repeater_meta_box__title__sort",scrollSensitivity:40,forcePlaceholderSize:!0,helper:"clone",opacity:.65,update(t,a){e($(this).closest(".lp_repeater_meta_box__wrapper"))}})},lpMetaboxExtraInfo=()=>{$(".lp_course_extra_meta_box__add").on("click",(function(){return $(this).closest(".lp_course_extra_meta_box__content").find(".lp_course_extra_meta_box__fields").append($(this).data("add")),$(this).closest(".lp_course_extra_meta_box__content").find(".lp_course_extra_meta_box__field").last().find("input").trigger("focus"),!1})),document.querySelectorAll(".lp_course_extra_meta_box__fields").forEach(e=>{e.addEventListener("keydown",t=>{const a=e.querySelectorAll(".lp_course_extra_meta_box__input");if(13===t.keyCode)return t.preventDefault(),a.forEach(e=>{e.blur()}),!1})}),$(".lp_course_extra_meta_box__fields").on("click","a.delete",(function(){return $(this).closest(".lp_course_extra_meta_box__field").remove(),!1})),$(".lp_course_extra_meta_box__fields").sortable({items:".lp_course_extra_meta_box__field",cursor:"grab",axis:"y",handle:".sort",scrollSensitivity:40,forcePlaceholderSize:!0,helper:"clone",opacity:.65}),$(".lp_course_faq_meta_box__add").on("click",(function(){return $(this).closest(".lp_course_faq_meta_box__content").find(".lp_course_faq_meta_box__fields").append($(this).data("add")),!1})),document.querySelectorAll(".lp_course_faq_meta_box__fields").forEach(e=>{e.addEventListener("keydown",t=>{const a=e.querySelectorAll(".lp_course_faq_meta_box__field input"),s=e.querySelectorAll(".lp_course_faq_meta_box__field textarea");if(13===t.keyCode)return t.preventDefault(),[...a,...s].forEach(e=>{e.blur()}),!1})}),$(".lp_course_faq_meta_box__fields").on("click","a.delete",(function(){return $(this).closest(".lp_course_faq_meta_box__field").remove(),!1})),$(".lp_course_faq_meta_box__fields").sortable({items:".lp_course_faq_meta_box__field",cursor:"grab",axis:"y",handle:".sort",scrollSensitivity:40,forcePlaceholderSize:!0,helper:"clone",opacity:.65})},lpGetFinalQuiz=()=>{[...document.querySelectorAll(".lp-metabox-get-final-quiz")].map(t=>{t.addEventListener("click",a=>{a.preventDefault();const s=t.textContent,l=t.dataset.loading,i=document.querySelector(".lp-metabox-evaluate-final_quiz");i&&i.remove(),t.textContent=l,e(t).then(e=>{const{message:a,data:l}=e;t.textContent=s;const i=document.createElement("div");i.className="lp-metabox-evaluate-final_quiz",i.innerHTML=l||a,t.parentNode.insertBefore(i,t.nextSibling)})})});const e=async e=>{if(!lpGlobalSettings.root)return;return await wp.apiFetch({path:"lp/v1/admin/course/get_final_quiz",method:"POST",data:{courseId:e.dataset.postid||""}})}},lpMetaboxColorPicker=()=>{$(".lp-metabox__colorpick").iris({change(e,t){$(this).parent().find(".colorpickpreview").css({backgroundColor:t.color.toString()})},hide:!0,border:!0}).on("click focus",(function(e){e.stopPropagation(),$(".iris-picker").hide(),$(this).closest("td").find(".iris-picker").show(),$(this).data("original-value",$(this).val())})).on("change",(function(){if($(this).is(".iris-error")){$(this).data("original-value").match(/^\#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$/)?$(this).val($(this).data("original-value")).trigger("change"):$(this).val("").trigger("change")}})),$("body").on("click",(function(){$(".iris-picker").hide()}))},lpMetaboxImage=()=>{$(".lp-metabox-field__image").each((e,t)=>{let a;const s=$(t).find(".lp-metabox-field__image--add"),l=$(t).find(".lp-metabox-field__image--delete"),i=$(t).find(".lp-metabox-field__image--image"),o=$(t).find(".lp-metabox-field__image--id");o.val()?(s.hide(),l.show()):(s.show(),l.hide()),s.on("click",e=>{e.preventDefault(),a||(a=wp.media({title:s.data("choose"),button:{text:s.data("update")},multiple:!1}),a.on("select",(function(){const e=a.state().get("selection").first().toJSON(),t=e.sizes&&e.sizes.thumbnail?e.sizes.thumbnail.url:e.url;i.append('<div class="lp-metabox-field__image--inner"><img src="'+t+'" alt="" style="max-width:100%;"/></div>'),o.val(e.id),s.hide(),l.show()}))),a.open()}),l.on("click",e=>{e.preventDefault(),i.html(""),s.show(),l.hide(),o.val("")})})},lpMetaboxImageAdvanced=()=>{$(".lp-metabox-field__image-advanced").each((e,t)=>{let a;const s=$(t).find("#lp-gallery-images-ids"),l=$(t).find(".lp-metabox-field__image-advanced-images"),i=$(t).find(".lp-metabox-field__image-advanced-upload > a");$(i).on("click",e=>{e.preventDefault(),a||(a=wp.media({title:i.data("choose"),button:{text:i.data("update")},states:[new wp.media.controller.Library({title:i.data("choose"),filterable:"all",multiple:!0})]}),a.on("select",(function(){const e=a.state().get("selection");let t=s.val();e.forEach((function(e){if((e=e.toJSON()).id){t=t?t+","+e.id:e.id;const a=e.sizes&&e.sizes.thumbnail?e.sizes.thumbnail.url:e.url;l.append('<li class="image" data-attachment_id="'+e.id+'"><img src="'+a+'" /><ul class="actions"><li><a href="#" class="delete" title="'+i.data("delete")+'">'+i.data("text")+"</a></li></ul></li>")}})),s.val(t)}))),a.open()}),l.sortable({items:"li.image",cursor:"move",scrollSensitivity:40,forcePlaceholderSize:!0,forceHelperSize:!1,helper:"clone",opacity:.65,placeholder:"lp-metabox-sortable-placeholder",start(e,t){t.item.css("background-color","#f6f6f6")},stop(e,t){t.item.removeAttr("style")},update(){let e="";l.find("li.image").css("cursor","default").each((function(){const t=$(this).attr("data-attachment_id");e=e+t+","})),s.val(e)}}),$(l).find("li.image").each((e,t)=>{$(t).find("a.delete").on("click",()=>{$(t).remove();let e="";return $(l).find("li.image").css("cursor","default").each((function(){const t=$(this).attr("data-attachment_id");e=e+t+","})),s.val(e),!1})})})},lpMetaboxCourseTabs=()=>{$(document.body).on("lp-metabox-course-tab-panels",(function(){$("ul.lp-meta-box__course-tab__tabs").show(),$("ul.lp-meta-box__course-tab__tabs a").on("click",(function(e){e.preventDefault();const t=$(this).closest("div.lp-meta-box__course-tab");$("ul.lp-meta-box__course-tab__tabs li",t).removeClass("active"),$(this).parent().addClass("active"),$("div.lp-meta-box-course-panels",t).hide(),$($(this).attr("href")).show()})),$("div.lp-meta-box__course-tab").each((function(){$(this).find("ul.lp-meta-box__course-tab__tabs li").eq(0).find("a").trigger("click")}))})).trigger("lp-metabox-course-tab-panels")},lpMetaboxCondition=()=>{document.querySelectorAll(".lp-meta-box .form-field").forEach(e=>{e.hasAttribute("data-show")&&e.dataset.show?lpMetaboxConditionType(e,e.dataset.show,"show"):e.hasAttribute("data-hide")&&e.dataset.hide&&lpMetaboxConditionType(e,e.dataset.hide,"hide")})},lpMetaboxConditionType=(e,t,a="show")=>{const s=JSON.parse(t),l=document.querySelectorAll(`input[id^="${s[0]}"]`),i="="===s[1]?"=":"!=",o=s[2],n=(t,s,l)=>{switch(t){case"checkbox":let t=o;"yes"===o||"1"===o||1===o||"true"===o?t=!0:"no"!==o&&"0"!==o&&0!==o&&"false"!==o||(t=!1),"!="==i&&t!==Boolean(l?l.checked:s.checked)||"="==i&&t==Boolean(l?l.checked:s.checked)?e.style.display="show"===a?"":"none":e.style.display="show"===a?"none":""}};l.forEach(e=>{const t=e.getAttribute("type");n(t,e),e.addEventListener("change",a=>{const s=a.target;n(t,e,s)})})},initTooltips=function(){$(".learn-press-tooltip").each((function(){const e=$(this),t=$.extend({title:"data-tooltip",offset:10,gravity:"s"},e.data());e.tipsy(t)}))},initSelect2=function(){if($.fn.select2){const e=$(".lp-select-2 select");e.select2({placeholder:"Select a value"}),e.on("change.select2",(function(e){const t=$(e.target);t.val().length||t.val(null)})),$(".lp_autocomplete_metabox_field").each((function(){const e=$(this).data("atts");let t=e.action;if(!t)switch(e.data){case"users":t=e.rest_url+"wp/v2/users";break;default:t=e.rest_url+"wp/v2/"+e.data}$(this).find("select").select2({placeholder:e.placeholder?e.placeholder:"Select",ajax:{url:t,dataType:"json",delay:250,beforeSend(t){t.setRequestHeader("X-WP-Nonce",e.nonce)},data:e=>({search:e.term}),processResults:e=>({results:e.map(e=>({id:e.id,text:e.title&&e.title.rendered?e.title.rendered:e.name}))}),cache:!0},minimumInputLength:2})}))}},initSingleCoursePermalink=function(){$doc.on("change",'.learn-press-single-course-permalink input[type="radio"]',(function(){const e=$(this).closest(".learn-press-single-course-permalink");e.hasClass("custom-base")?e.find('input[type="text"]').prop("readonly",!1):e.siblings(".custom-base").find('input[type="text"]').prop("readonly",!0)})).on("change","input.learn-press-course-base",(function(){$("#course_permalink_structure").val($(this).val())})).on("focus","#course_permalink_structure",(function(){$("#learn_press_custom_permalink").click()})).on("change","#learn_press_courses_page_id",(function(){$("tr.learn-press-courses-page-id").toggleClass("hide-if-js",!parseInt(this.value))}))},togglePaymentStatus=function(e){e.preventDefault();const t=$(this).closest("tr"),a=($(this),t.find(".status").hasClass("enabled")?"no":"yes");$.ajax({url:"",data:{"lp-ajax":"update-payment-status",status:a,id:t.data("payment")},success(e){e=LP.parseJSON(e);for(const t in e)$("#payment-"+t+" .status").toggleClass("enabled",e[t])}})},updateEmailStatus=function(){(function(){$.post({url:window.location.href,data:{"lp-ajax":"update_email_status",status:$(this).parent().hasClass("enabled")?"no":"yes",id:$(this).data("id")},dataType:"text",success:$.proxy((function(e){e=LP.parseJSON(e);for(const t in e)$("#email-"+t+" .status").toggleClass("enabled",e[t])}),this)})}).apply(this)},lpMetaboxsalePriceDate=()=>{if(!$("#course-settings").length)return;$(".lp_sale_dates_fields").each((function(){const e=$(this),t=e.closest("div.lp-meta-box-course-panels");let a=!1;e.find("input").each((function(){""!==$(this).val()&&(a=!0)})),a?(t.find(".lp_sale_price_schedule").hide(),t.find(".lp_sale_dates_fields").show()):(t.find(".lp_sale_price_schedule").show(),t.find(".lp_sale_dates_fields").hide())})),$(".lp-meta-box-course-panels").on("click",".lp_sale_price_schedule",(function(){const e=$(this).closest("div.lp-meta-box-course-panels");return $(this).hide(),e.find(".lp_cancel_sale_schedule").show(),e.find(".lp_sale_dates_fields").show(),!1})),$(".lp-meta-box-course-panels").on("click",".lp_cancel_sale_schedule",(function(){const e=$(this).closest("div.lp-meta-box-course-panels");return $(this).hide(),e.find(".lp_sale_price_schedule").show(),e.find(".lp_sale_dates_fields").hide(),e.find(".lp_sale_dates_fields").find("input").val(""),!1})),$(document).on("input","#price_course_data",(function(e){const t=$(this),a=$(".lp_meta_box_regular_price"),s=$(".lp_meta_box_sale_price"),l=$(e.target).attr("id");t.find(".learn-press-tip-floating").remove(),parseInt(s.val())>parseInt(a.val())&&("_lp_price"===l?a.parent(".form-field").append('<div class="learn-press-tip-floating">'+lpAdminCourseEditorSettings.i18n.notice_price+"</div>"):"_lp_sale_price"===l&&s.parent(".form-field").append('<div class="learn-press-tip-floating">'+lpAdminCourseEditorSettings.i18n.notice_sale_price+"</div>"))}));const e=function(e){const t=$(e).is("#_lp_sale_start")?"minDate":"maxDate",a=$("minDate"===t?"#_lp_sale_end":"#_lp_sale_start"),s=$(e).datetimepicker("getDate");$(a).datetimepicker("option",t,s),$(e).trigger("change")};$(".lp_sale_dates_fields").each((function(){$(this).find("input").datetimepicker({timeFormat:"HH:mm",separator:" ",dateFormat:"yy-mm-dd",showButtonPanel:!0,onSelect(){e($(this))}}),$(this).find("input").each((function(){e($(this))}))}))},lpHidePassingGrade=()=>{const e=["evaluate_final_quiz","evaluate_final_assignment"];[...document.querySelectorAll("input[type=radio][name=_lp_course_result]")].map((t,a)=>(t.checked&&e.includes(t.value)&&$("._lp_passing_condition_field").hide(),null)),$("input[type=radio][name=_lp_course_result]").on("change",(function(t){e.includes(t.target.value)?$("._lp_passing_condition_field").hide():$("._lp_passing_condition_field").show()}))},callbackFilterTemplates=function(){const e=$(this);if(e.hasClass("current"))return!1;const t=$("#learn-press-template-files"),a=t.find("tr[data-template]"),s=e.data("template"),l=e.data("filter");return e.addClass("current").siblings("a").removeClass("current"),s?a.map((function(){$(this).toggleClass("hide-if-js",$(this).data("template")!==s)})):l?a.map((function(){$(this).toggleClass("hide-if-js","yes"!==$(this).data("filter-"+l))})):a.removeClass("hide-if-js"),$("#learn-press-no-templates").toggleClass("hide-if-js",!!t.find("tr.template-row:not(.hide-if-js):first").length),!1},toggleEmails=function(e){e.preventDefault();const t=$(this).data("status");$.ajax({url:"",data:{"lp-ajax":"update_email_status",status:t},success(e){e=LP.parseJSON(e);for(const t in e)$("#email-"+t+" .status").toggleClass("enabled",e[t])}})},importCourses=function(){const t=$("#learn-press-install-sample-data-notice"),a=$(this).attr("data-action");a&&(e.preventDefault(),"yes"===a?t.find(".install-sample-data-notice").slideUp().siblings(".install-sample-data-loading").slideDown():t.fadeOut(),$.ajax({url:ajaxurl,dataType:"html",type:"post",data:{action:"learnpress_install_sample_data",yes:a},success(e){(e=LP.parseJSON(e)).url?$.ajax({url:e.url,success(){t.find(".install-sample-data-notice").html(e.message).slideDown().siblings(".install-sample-data-loading").slideUp()}}):t.find(".install-sample-data-notice").html(e.message).slideDown().siblings(".install-sample-data-loading").slideUp()}}))},onReady=function(){$(".learn-press-payments.sortable tbody").sortable({handle:".dashicons-menu",helper:(e,t)=>(t.children().each((function(){$(this).width($(this).width())})),t),axis:"y",start(e,t){},stop(e,t){},update(e,t){const a=$(this).children().map((function(){return $(this).find('input[name="payment-order"]').val()})).get();$.post({url:"",data:{"lp-ajax":"update-payment-order",order:a},success(e){}})}}),initSelect2(),$(".learn-press-tooltip").each((function(){const e=$(this),t=$.extend({title:"data-tooltip",offset:10,gravity:"s"},e.data());e.tipsy(t)})),$doc.on("change",'.learn-press-single-course-permalink input[type="radio"]',(function(){const e=$(this).closest(".learn-press-single-course-permalink");e.hasClass("custom-base")?e.find('input[type="text"]').prop("readonly",!1):e.siblings(".custom-base").find('input[type="text"]').prop("readonly",!0)})).on("change","input.learn-press-course-base",(function(){$("#course_permalink_structure").val($(this).val())})).on("focus","#course_permalink_structure",(function(){$("#learn_press_custom_permalink").click()})).on("change","#learn_press_courses_page_id",(function(){$("tr.learn-press-courses-page-id").toggleClass("hide-if-js",!parseInt(this.value))})),lpMetaboxCourseTabs(),lpMetaboxCustomFields(),lpMetaboxColorPicker(),lpMetaboxImageAdvanced(),$(".lp-metabox-field__image").each((e,t)=>{let a;const s=$(t).find(".lp-metabox-field__image--add"),l=$(t).find(".lp-metabox-field__image--delete"),i=$(t).find(".lp-metabox-field__image--image"),o=$(t).find(".lp-metabox-field__image--id");o.val()?(s.hide(),l.show()):(s.show(),l.hide()),s.on("click",e=>{e.preventDefault(),a||(a=wp.media({title:s.data("choose"),button:{text:s.data("update")},multiple:!1}),a.on("select",(function(){const e=a.state().get("selection").first().toJSON(),t=e.sizes&&e.sizes.thumbnail?e.sizes.thumbnail.url:e.url;i.append('<div class="lp-metabox-field__image--inner"><img src="'+t+'" alt="" style="max-width:100%;"/></div>'),o.val(e.id),s.hide(),l.show()}))),a.open()}),l.on("click",e=>{e.preventDefault(),i.html(""),s.show(),l.hide(),o.val("")})}),lpMetaboxsalePriceDate(),lpMetaboxExtraInfo(),lpHidePassingGrade(),lpGetFinalQuiz(),document.querySelectorAll(".lp-meta-box .form-field").forEach(e=>{e.hasAttribute("data-show")&&e.dataset.show?lpMetaboxConditionType(e,e.dataset.show,"show"):e.hasAttribute("data-hide")&&e.dataset.hide&&lpMetaboxConditionType(e,e.dataset.hide,"hide")}),lpMetaboxRepeaterField(),$(document).on("click",".learn-press-payments .status .dashicons",togglePaymentStatus).on("click",".change-email-status",updateEmailStatus).on("click",".learn-press-filter-template",callbackFilterTemplates).on("click","#learn-press-enable-emails, #learn-press-disable-emails",toggleEmails).on("click","#learn-press-install-sample-data-notice a",importCourses)};$(document).ready(onReady);
|
1 |
+
const $=jQuery,$doc=$(document),$win=$(window),makePaymentsSortable=function(){$(".learn-press-payments.sortable tbody").sortable({handle:".dashicons-menu",helper:(e,t)=>(t.children().each((function(){$(this).width($(this).width())})),t),axis:"y",start(e,t){},stop(e,t){},update(e,t){const a=$(this).children().map((function(){return $(this).find('input[name="payment-order"]').val()})).get();$.post({url:"",data:{"lp-ajax":"update-payment-order",order:a},success(e){}})}})},lpMetaboxCustomFields=()=>{$(".lp-metabox__custom-fields").on("click",".lp-metabox-custom-field-button",(function(){const t=$(this).data("row").replace(/lp_metabox_custom_fields_key/gi,Math.floor(1e3*Math.random())+1);return $(this).closest("table").find("tbody").append(t),e($(this).closest(".lp-metabox__custom-fields")),!1})),$(".lp-metabox__custom-fields").on("click","a.delete",(function(){return $(this).closest("tr").remove(),e($(this).closest(".lp-metabox__custom-fields")),!1})),$(".lp-metabox__custom-fields tbody").sortable({items:"tr",cursor:"move",axis:"y",handle:"td.sort",scrollSensitivity:40,forcePlaceholderSize:!0,helper:"clone",opacity:.65,update(t,a){e($(this).closest(".lp-metabox__custom-fields"))}});const e=e=>{e.find("tbody tr").each((function(e,t){$(this).find(".sort .count").val(e)}))}},lpMetaboxRepeaterField=()=>{const e=e=>{e.find(".lp_repeater_meta_box__field").each((function(e,t){$(this).find(".lp_repeater_meta_box__field__count").val(e),$(this).find(".lp_repeater_meta_box__title__title > span").text(e+1)}))};$(".lp_repeater_meta_box__add").on("click",(function(){const t=$(this).data("add").replace(/lp_metabox_repeater_key/gi,Math.floor(1e3*Math.random())+1);return $(this).closest(".lp_repeater_meta_box__wrapper").find(".lp_repeater_meta_box__fields").append(t),e($(this).closest(".lp_repeater_meta_box__wrapper")),$(this).closest(".lp_repeater_meta_box__wrapper").find(".lp_repeater_meta_box__fields").last().find("input").trigger("focus"),!1})),$(".lp_repeater_meta_box__wrapper").on("click","a.lp_repeater_meta_box__title__delete",(function(){return $(this).closest(".lp_repeater_meta_box__field").remove(),e($(this).closest(".lp_repeater_meta_box__wrapper")),!1})),$(".lp_repeater_meta_box__fields").on("click",".lp_repeater_meta_box__title__toggle, .lp_repeater_meta_box__title__title",(function(){const e=$(this).closest(".lp_repeater_meta_box__field");return e.hasClass("lp_repeater_meta_box__field_active")?e.removeClass("lp_repeater_meta_box__field_active"):e.addClass("lp_repeater_meta_box__field_active"),!1})),$(".lp_repeater_meta_box__fields").sortable({items:".lp_repeater_meta_box__field",cursor:"grab",axis:"y",handle:".lp_repeater_meta_box__title__sort",scrollSensitivity:40,forcePlaceholderSize:!0,helper:"clone",opacity:.65,update(t,a){e($(this).closest(".lp_repeater_meta_box__wrapper"))}})},lpMetaboxExtraInfo=()=>{$(".lp_course_extra_meta_box__add").on("click",(function(){return $(this).closest(".lp_course_extra_meta_box__content").find(".lp_course_extra_meta_box__fields").append($(this).data("add")),$(this).closest(".lp_course_extra_meta_box__content").find(".lp_course_extra_meta_box__field").last().find("input").trigger("focus"),!1})),document.querySelectorAll(".lp_course_extra_meta_box__fields").forEach(e=>{e.addEventListener("keydown",t=>{const a=e.querySelectorAll(".lp_course_extra_meta_box__input");if(13===t.keyCode)return t.preventDefault(),a.forEach(e=>{e.blur()}),!1})}),$(".lp_course_extra_meta_box__fields").on("click","a.delete",(function(){return $(this).closest(".lp_course_extra_meta_box__field").remove(),!1})),$(".lp_course_extra_meta_box__fields").sortable({items:".lp_course_extra_meta_box__field",cursor:"grab",axis:"y",handle:".sort",scrollSensitivity:40,forcePlaceholderSize:!0,helper:"clone",opacity:.65}),$(".lp_course_faq_meta_box__add").on("click",(function(){return $(this).closest(".lp_course_faq_meta_box__content").find(".lp_course_faq_meta_box__fields").append($(this).data("add")),!1})),document.querySelectorAll(".lp_course_faq_meta_box__fields").forEach(e=>{e.addEventListener("keydown",t=>{const a=e.querySelectorAll(".lp_course_faq_meta_box__field input"),s=e.querySelectorAll(".lp_course_faq_meta_box__field textarea");if(13===t.keyCode)return t.preventDefault(),[...a,...s].forEach(e=>{e.blur()}),!1})}),$(".lp_course_faq_meta_box__fields").on("click","a.delete",(function(){return $(this).closest(".lp_course_faq_meta_box__field").remove(),!1})),$(".lp_course_faq_meta_box__fields").sortable({items:".lp_course_faq_meta_box__field",cursor:"grab",axis:"y",handle:".sort",scrollSensitivity:40,forcePlaceholderSize:!0,helper:"clone",opacity:.65})},lpGetFinalQuiz=()=>{[...document.querySelectorAll(".lp-metabox-get-final-quiz")].map(t=>{t.addEventListener("click",a=>{a.preventDefault();const s=t.textContent,l=t.dataset.loading,i=document.querySelector(".lp-metabox-evaluate-final_quiz");i&&i.remove(),t.textContent=l,e(t).then(e=>{const{message:a,data:l}=e;t.textContent=s;const i=document.createElement("div");i.className="lp-metabox-evaluate-final_quiz",i.innerHTML=l||a,t.parentNode.insertBefore(i,t.nextSibling)})})});const e=async e=>await wp.apiFetch({path:"lp/v1/admin/course/get_final_quiz",method:"POST",data:{courseId:e.dataset.postid||""}})},lpMetaboxColorPicker=()=>{$(".lp-metabox__colorpick").iris({change(e,t){$(this).parent().find(".colorpickpreview").css({backgroundColor:t.color.toString()})},hide:!0,border:!0}).on("click focus",(function(e){e.stopPropagation(),$(".iris-picker").hide(),$(this).closest("td").find(".iris-picker").show(),$(this).data("original-value",$(this).val())})).on("change",(function(){if($(this).is(".iris-error")){$(this).data("original-value").match(/^\#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$/)?$(this).val($(this).data("original-value")).trigger("change"):$(this).val("").trigger("change")}})),$("body").on("click",(function(){$(".iris-picker").hide()}))},lpMetaboxImage=()=>{$(".lp-metabox-field__image").each((e,t)=>{let a;const s=$(t).find(".lp-metabox-field__image--add"),l=$(t).find(".lp-metabox-field__image--delete"),i=$(t).find(".lp-metabox-field__image--image"),o=$(t).find(".lp-metabox-field__image--id");o.val()?(s.hide(),l.show()):(s.show(),l.hide()),s.on("click",e=>{e.preventDefault(),a||(a=wp.media({title:s.data("choose"),button:{text:s.data("update")},multiple:!1}),a.on("select",(function(){const e=a.state().get("selection").first().toJSON(),t=e.sizes&&e.sizes.thumbnail?e.sizes.thumbnail.url:e.url;i.append('<div class="lp-metabox-field__image--inner"><img src="'+t+'" alt="" style="max-width:100%;"/></div>'),o.val(e.id),s.hide(),l.show()}))),a.open()}),l.on("click",e=>{e.preventDefault(),i.html(""),s.show(),l.hide(),o.val("")})})},lpMetaboxImageAdvanced=()=>{$(".lp-metabox-field__image-advanced").each((e,t)=>{let a;const s=$(t).find("#lp-gallery-images-ids"),l=$(t).find(".lp-metabox-field__image-advanced-images"),i=$(t).find(".lp-metabox-field__image-advanced-upload > a");$(i).on("click",e=>{e.preventDefault(),a||(a=wp.media({title:i.data("choose"),button:{text:i.data("update")},states:[new wp.media.controller.Library({title:i.data("choose"),filterable:"all",multiple:!0})]}),a.on("select",(function(){const e=a.state().get("selection");let t=s.val();e.forEach((function(e){if((e=e.toJSON()).id){t=t?t+","+e.id:e.id;const a=e.sizes&&e.sizes.thumbnail?e.sizes.thumbnail.url:e.url;l.append('<li class="image" data-attachment_id="'+e.id+'"><img src="'+a+'" /><ul class="actions"><li><a href="#" class="delete" title="'+i.data("delete")+'">'+i.data("text")+"</a></li></ul></li>")}})),s.val(t)}))),a.open()}),l.sortable({items:"li.image",cursor:"move",scrollSensitivity:40,forcePlaceholderSize:!0,forceHelperSize:!1,helper:"clone",opacity:.65,placeholder:"lp-metabox-sortable-placeholder",start(e,t){t.item.css("background-color","#f6f6f6")},stop(e,t){t.item.removeAttr("style")},update(){let e="";l.find("li.image").css("cursor","default").each((function(){const t=$(this).attr("data-attachment_id");e=e+t+","})),s.val(e)}}),$(l).find("li.image").each((e,t)=>{$(t).find("a.delete").on("click",()=>{$(t).remove();let e="";return $(l).find("li.image").css("cursor","default").each((function(){const t=$(this).attr("data-attachment_id");e=e+t+","})),s.val(e),!1})})})},lpMetaboxCourseTabs=()=>{$(document.body).on("lp-metabox-course-tab-panels",(function(){$("ul.lp-meta-box__course-tab__tabs").show(),$("ul.lp-meta-box__course-tab__tabs a").on("click",(function(e){e.preventDefault();const t=$(this).closest("div.lp-meta-box__course-tab");$("ul.lp-meta-box__course-tab__tabs li",t).removeClass("active"),$(this).parent().addClass("active"),$("div.lp-meta-box-course-panels",t).hide(),$($(this).attr("href")).show()})),$("div.lp-meta-box__course-tab").each((function(){$(this).find("ul.lp-meta-box__course-tab__tabs li").eq(0).find("a").trigger("click")}))})).trigger("lp-metabox-course-tab-panels")},lpMetaboxCondition=()=>{document.querySelectorAll(".lp-meta-box .form-field").forEach(e=>{e.hasAttribute("data-show")&&e.dataset.show?lpMetaboxConditionType(e,e.dataset.show,"show"):e.hasAttribute("data-hide")&&e.dataset.hide&&lpMetaboxConditionType(e,e.dataset.hide,"hide")})},lpMetaboxConditionType=(e,t,a="show")=>{const s=JSON.parse(t),l=document.querySelectorAll(`input[id^="${s[0]}"]`),i="="===s[1]?"=":"!=",o=s[2],n=(t,s,l)=>{switch(t){case"checkbox":let t=o;"yes"===o||"1"===o||1===o||"true"===o?t=!0:"no"!==o&&"0"!==o&&0!==o&&"false"!==o||(t=!1),"!="==i&&t!==Boolean(l?l.checked:s.checked)||"="==i&&t==Boolean(l?l.checked:s.checked)?e.style.display="show"===a?"":"none":e.style.display="show"===a?"none":""}};l.forEach(e=>{const t=e.getAttribute("type");n(t,e),e.addEventListener("change",a=>{const s=a.target;n(t,e,s)})})},initTooltips=function(){$(".learn-press-tooltip").each((function(){const e=$(this),t=$.extend({title:"data-tooltip",offset:10,gravity:"s"},e.data());e.tipsy(t)}))},initSelect2=function(){if($.fn.select2){const e=$(".lp-select-2 select");e.select2({placeholder:"Select a value"}),e.on("change.select2",(function(e){const t=$(e.target);t.val().length||t.val(null)})),$(".lp_autocomplete_metabox_field").each((function(){const e=$(this).data("atts");let t=e.action;if(!t)switch(e.data){case"users":t=e.rest_url+"wp/v2/users";break;default:t=e.rest_url+"wp/v2/"+e.data}$(this).find("select").select2({placeholder:e.placeholder?e.placeholder:"Select",ajax:{url:t,dataType:"json",delay:250,beforeSend(t){t.setRequestHeader("X-WP-Nonce",e.nonce)},data:e=>({search:e.term}),processResults:e=>({results:e.map(e=>({id:e.id,text:e.title&&e.title.rendered?e.title.rendered:e.name}))}),cache:!0},minimumInputLength:2})}))}},initSingleCoursePermalink=function(){$doc.on("change",'.learn-press-single-course-permalink input[type="radio"]',(function(){const e=$(this).closest(".learn-press-single-course-permalink");e.hasClass("custom-base")?e.find('input[type="text"]').prop("readonly",!1):e.siblings(".custom-base").find('input[type="text"]').prop("readonly",!0)})).on("change","input.learn-press-course-base",(function(){$("#course_permalink_structure").val($(this).val())})).on("focus","#course_permalink_structure",(function(){$("#learn_press_custom_permalink").click()})).on("change","#learn_press_courses_page_id",(function(){$("tr.learn-press-courses-page-id").toggleClass("hide-if-js",!parseInt(this.value))}))},togglePaymentStatus=function(e){e.preventDefault();const t=$(this).closest("tr"),a=($(this),t.find(".status").hasClass("enabled")?"no":"yes");$.ajax({url:"",data:{"lp-ajax":"update-payment-status",status:a,id:t.data("payment")},success(e){e=LP.parseJSON(e);for(const t in e)$("#payment-"+t+" .status").toggleClass("enabled",e[t])}})},updateEmailStatus=function(){(function(){$.post({url:window.location.href,data:{"lp-ajax":"update_email_status",status:$(this).parent().hasClass("enabled")?"no":"yes",id:$(this).data("id")},dataType:"text",success:$.proxy((function(e){e=LP.parseJSON(e);for(const t in e)$("#email-"+t+" .status").toggleClass("enabled",e[t])}),this)})}).apply(this)},lpMetaboxsalePriceDate=()=>{if(!$("#course-settings").length)return;$(".lp_sale_dates_fields").each((function(){const e=$(this),t=e.closest("div.lp-meta-box-course-panels");let a=!1;e.find("input").each((function(){""!==$(this).val()&&(a=!0)})),a?(t.find(".lp_sale_price_schedule").hide(),t.find(".lp_sale_dates_fields").show()):(t.find(".lp_sale_price_schedule").show(),t.find(".lp_sale_dates_fields").hide())})),$(".lp-meta-box-course-panels").on("click",".lp_sale_price_schedule",(function(){const e=$(this).closest("div.lp-meta-box-course-panels");return $(this).hide(),e.find(".lp_cancel_sale_schedule").show(),e.find(".lp_sale_dates_fields").show(),!1})),$(".lp-meta-box-course-panels").on("click",".lp_cancel_sale_schedule",(function(){const e=$(this).closest("div.lp-meta-box-course-panels");return $(this).hide(),e.find(".lp_sale_price_schedule").show(),e.find(".lp_sale_dates_fields").hide(),e.find(".lp_sale_dates_fields").find("input").val(""),!1})),$(document).on("input","#price_course_data",(function(e){const t=$(this),a=$(".lp_meta_box_regular_price"),s=$(".lp_meta_box_sale_price"),l=$(e.target).attr("id");t.find(".learn-press-tip-floating").remove(),parseInt(s.val())>parseInt(a.val())&&("_lp_price"===l?a.parent(".form-field").append('<div class="learn-press-tip-floating">'+lpAdminCourseEditorSettings.i18n.notice_price+"</div>"):"_lp_sale_price"===l&&s.parent(".form-field").append('<div class="learn-press-tip-floating">'+lpAdminCourseEditorSettings.i18n.notice_sale_price+"</div>"))}));const e=function(e){const t=$(e).is("#_lp_sale_start")?"minDate":"maxDate",a=$("minDate"===t?"#_lp_sale_end":"#_lp_sale_start"),s=$(e).datetimepicker("getDate");$(a).datetimepicker("option",t,s),$(e).trigger("change")};$(".lp_sale_dates_fields").each((function(){$(this).find("input").datetimepicker({timeFormat:"HH:mm",separator:" ",dateFormat:"yy-mm-dd",showButtonPanel:!0,onSelect(){e($(this))}}),$(this).find("input").each((function(){e($(this))}))}))},lpHidePassingGrade=()=>{const e=["evaluate_final_quiz","evaluate_final_assignment"];[...document.querySelectorAll("input[type=radio][name=_lp_course_result]")].map((t,a)=>(t.checked&&e.includes(t.value)&&$("._lp_passing_condition_field").hide(),null)),$("input[type=radio][name=_lp_course_result]").on("change",(function(t){e.includes(t.target.value)?$("._lp_passing_condition_field").hide():$("._lp_passing_condition_field").show()}))},callbackFilterTemplates=function(){const e=$(this);if(e.hasClass("current"))return!1;const t=$("#learn-press-template-files"),a=t.find("tr[data-template]"),s=e.data("template"),l=e.data("filter");return e.addClass("current").siblings("a").removeClass("current"),s?a.map((function(){$(this).toggleClass("hide-if-js",$(this).data("template")!==s)})):l?a.map((function(){$(this).toggleClass("hide-if-js","yes"!==$(this).data("filter-"+l))})):a.removeClass("hide-if-js"),$("#learn-press-no-templates").toggleClass("hide-if-js",!!t.find("tr.template-row:not(.hide-if-js):first").length),!1},toggleEmails=function(e){e.preventDefault();const t=$(this).data("status");$.ajax({url:"",data:{"lp-ajax":"update_email_status",status:t},success(e){e=LP.parseJSON(e);for(const t in e)$("#email-"+t+" .status").toggleClass("enabled",e[t])}})},importCourses=function(){const t=$("#learn-press-install-sample-data-notice"),a=$(this).attr("data-action");a&&(e.preventDefault(),"yes"===a?t.find(".install-sample-data-notice").slideUp().siblings(".install-sample-data-loading").slideDown():t.fadeOut(),$.ajax({url:ajaxurl,dataType:"html",type:"post",data:{action:"learnpress_install_sample_data",yes:a},success(e){(e=LP.parseJSON(e)).url?$.ajax({url:e.url,success(){t.find(".install-sample-data-notice").html(e.message).slideDown().siblings(".install-sample-data-loading").slideUp()}}):t.find(".install-sample-data-notice").html(e.message).slideDown().siblings(".install-sample-data-loading").slideUp()}}))},onReady=function(){$(".learn-press-payments.sortable tbody").sortable({handle:".dashicons-menu",helper:(e,t)=>(t.children().each((function(){$(this).width($(this).width())})),t),axis:"y",start(e,t){},stop(e,t){},update(e,t){const a=$(this).children().map((function(){return $(this).find('input[name="payment-order"]').val()})).get();$.post({url:"",data:{"lp-ajax":"update-payment-order",order:a},success(e){}})}}),initSelect2(),$(".learn-press-tooltip").each((function(){const e=$(this),t=$.extend({title:"data-tooltip",offset:10,gravity:"s"},e.data());e.tipsy(t)})),$doc.on("change",'.learn-press-single-course-permalink input[type="radio"]',(function(){const e=$(this).closest(".learn-press-single-course-permalink");e.hasClass("custom-base")?e.find('input[type="text"]').prop("readonly",!1):e.siblings(".custom-base").find('input[type="text"]').prop("readonly",!0)})).on("change","input.learn-press-course-base",(function(){$("#course_permalink_structure").val($(this).val())})).on("focus","#course_permalink_structure",(function(){$("#learn_press_custom_permalink").click()})).on("change","#learn_press_courses_page_id",(function(){$("tr.learn-press-courses-page-id").toggleClass("hide-if-js",!parseInt(this.value))})),lpMetaboxCourseTabs(),lpMetaboxCustomFields(),lpMetaboxColorPicker(),lpMetaboxImageAdvanced(),$(".lp-metabox-field__image").each((e,t)=>{let a;const s=$(t).find(".lp-metabox-field__image--add"),l=$(t).find(".lp-metabox-field__image--delete"),i=$(t).find(".lp-metabox-field__image--image"),o=$(t).find(".lp-metabox-field__image--id");o.val()?(s.hide(),l.show()):(s.show(),l.hide()),s.on("click",e=>{e.preventDefault(),a||(a=wp.media({title:s.data("choose"),button:{text:s.data("update")},multiple:!1}),a.on("select",(function(){const e=a.state().get("selection").first().toJSON(),t=e.sizes&&e.sizes.thumbnail?e.sizes.thumbnail.url:e.url;i.append('<div class="lp-metabox-field__image--inner"><img src="'+t+'" alt="" style="max-width:100%;"/></div>'),o.val(e.id),s.hide(),l.show()}))),a.open()}),l.on("click",e=>{e.preventDefault(),i.html(""),s.show(),l.hide(),o.val("")})}),lpMetaboxsalePriceDate(),lpMetaboxExtraInfo(),lpHidePassingGrade(),lpGetFinalQuiz(),document.querySelectorAll(".lp-meta-box .form-field").forEach(e=>{e.hasAttribute("data-show")&&e.dataset.show?lpMetaboxConditionType(e,e.dataset.show,"show"):e.hasAttribute("data-hide")&&e.dataset.hide&&lpMetaboxConditionType(e,e.dataset.hide,"hide")}),lpMetaboxRepeaterField(),$(document).on("click",".learn-press-payments .status .dashicons",togglePaymentStatus).on("click",".change-email-status",updateEmailStatus).on("click",".learn-press-filter-template",callbackFilterTemplates).on("click","#learn-press-enable-emails, #learn-press-disable-emails",toggleEmails).on("click","#learn-press-install-sample-data-notice a",importCourses)};$(document).ready(onReady);
|
@@ -1549,8 +1549,8 @@ function (_super) {
|
|
1549 |
function Cropper() {
|
1550 |
var _this = _super !== null && _super.apply(this, arguments) || this;
|
1551 |
|
1552 |
-
_this.imageRef =
|
1553 |
-
_this.videoRef =
|
1554 |
_this.containerRef = null;
|
1555 |
_this.styleRef = null;
|
1556 |
_this.containerRect = null;
|
@@ -1634,13 +1634,13 @@ function (_super) {
|
|
1634 |
_this.computeSizes = function () {
|
1635 |
var _a, _b, _c, _d, _e, _f;
|
1636 |
|
1637 |
-
var mediaRef = _this.imageRef || _this.videoRef;
|
1638 |
|
1639 |
if (mediaRef && _this.containerRef) {
|
1640 |
_this.containerRect = _this.containerRef.getBoundingClientRect();
|
1641 |
var containerAspect = _this.containerRect.width / _this.containerRect.height;
|
1642 |
-
var naturalWidth = ((_a = _this.imageRef) === null || _a === void 0 ? void 0 : _a.naturalWidth) || ((_b = _this.videoRef) === null || _b === void 0 ? void 0 : _b.videoWidth) || 0;
|
1643 |
-
var naturalHeight = ((_c = _this.imageRef) === null || _c === void 0 ? void 0 : _c.naturalHeight) || ((_d = _this.videoRef) === null || _d === void 0 ? void 0 : _d.videoHeight) || 0;
|
1644 |
var isMediaScaledDown = mediaRef.offsetWidth < naturalWidth || mediaRef.offsetHeight < naturalHeight;
|
1645 |
var mediaAspect = naturalWidth / naturalHeight; // We do not rely on the offsetWidth/offsetHeight if the media is scaled down
|
1646 |
// as the values they report are rounded. That will result in precision losses
|
@@ -1677,6 +1677,16 @@ function (_super) {
|
|
1677 |
height: _this.containerRect.height
|
1678 |
};
|
1679 |
break;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1680 |
}
|
1681 |
} else {
|
1682 |
renderedMediaSize = {
|
@@ -1932,13 +1942,27 @@ function (_super) {
|
|
1932 |
if (!this.props.disableAutomaticStylesInjection) {
|
1933 |
this.styleRef = document.createElement('style');
|
1934 |
this.styleRef.setAttribute('type', 'text/css');
|
|
|
|
|
|
|
|
|
|
|
1935 |
this.styleRef.innerHTML = css_248z;
|
1936 |
document.head.appendChild(this.styleRef);
|
1937 |
} // when rendered via SSR, the image can already be loaded and its onLoad callback will never be called
|
1938 |
|
1939 |
|
1940 |
-
if (this.imageRef && this.imageRef.complete) {
|
1941 |
this.onMediaLoad();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1942 |
}
|
1943 |
};
|
1944 |
|
@@ -1983,7 +2007,7 @@ function (_super) {
|
|
1983 |
}
|
1984 |
|
1985 |
if (prevProps.video !== this.props.video) {
|
1986 |
-
(_j = this.videoRef) === null || _j === void 0 ? void 0 : _j.load();
|
1987 |
}
|
1988 |
};
|
1989 |
|
@@ -2064,12 +2088,10 @@ function (_super) {
|
|
2064 |
className: classNames('reactEasyCrop_Container', containerClassName)
|
2065 |
}, image ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("img", (0,tslib__WEBPACK_IMPORTED_MODULE_2__.__assign)({
|
2066 |
alt: "",
|
2067 |
-
className: classNames('reactEasyCrop_Image', objectFit === 'contain' && 'reactEasyCrop_Contain', objectFit === 'horizontal-cover' && 'reactEasyCrop_Cover_Horizontal', objectFit === 'vertical-cover' && 'reactEasyCrop_Cover_Vertical', mediaClassName)
|
2068 |
}, mediaProps, {
|
2069 |
src: image,
|
2070 |
-
ref:
|
2071 |
-
return _this.imageRef = el;
|
2072 |
-
},
|
2073 |
style: (0,tslib__WEBPACK_IMPORTED_MODULE_2__.__assign)((0,tslib__WEBPACK_IMPORTED_MODULE_2__.__assign)({}, mediaStyle), {
|
2074 |
transform: transform || "translate(" + x + "px, " + y + "px) rotate(" + rotation + "deg) scale(" + zoom + ")"
|
2075 |
}),
|
@@ -2078,11 +2100,9 @@ function (_super) {
|
|
2078 |
autoPlay: true,
|
2079 |
loop: true,
|
2080 |
muted: true,
|
2081 |
-
className: classNames('reactEasyCrop_Video', objectFit === 'contain' && 'reactEasyCrop_Contain', objectFit === 'horizontal-cover' && 'reactEasyCrop_Cover_Horizontal', objectFit === 'vertical-cover' && 'reactEasyCrop_Cover_Vertical', mediaClassName)
|
2082 |
}, mediaProps, {
|
2083 |
-
ref:
|
2084 |
-
return _this.videoRef = el;
|
2085 |
-
},
|
2086 |
onLoadedMetadata: this.onMediaLoad,
|
2087 |
style: (0,tslib__WEBPACK_IMPORTED_MODULE_2__.__assign)((0,tslib__WEBPACK_IMPORTED_MODULE_2__.__assign)({}, mediaStyle), {
|
2088 |
transform: transform || "translate(" + x + "px, " + y + "px) rotate(" + rotation + "deg) scale(" + zoom + ")"
|
1549 |
function Cropper() {
|
1550 |
var _this = _super !== null && _super.apply(this, arguments) || this;
|
1551 |
|
1552 |
+
_this.imageRef = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createRef();
|
1553 |
+
_this.videoRef = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createRef();
|
1554 |
_this.containerRef = null;
|
1555 |
_this.styleRef = null;
|
1556 |
_this.containerRect = null;
|
1634 |
_this.computeSizes = function () {
|
1635 |
var _a, _b, _c, _d, _e, _f;
|
1636 |
|
1637 |
+
var mediaRef = _this.imageRef.current || _this.videoRef.current;
|
1638 |
|
1639 |
if (mediaRef && _this.containerRef) {
|
1640 |
_this.containerRect = _this.containerRef.getBoundingClientRect();
|
1641 |
var containerAspect = _this.containerRect.width / _this.containerRect.height;
|
1642 |
+
var naturalWidth = ((_a = _this.imageRef.current) === null || _a === void 0 ? void 0 : _a.naturalWidth) || ((_b = _this.videoRef.current) === null || _b === void 0 ? void 0 : _b.videoWidth) || 0;
|
1643 |
+
var naturalHeight = ((_c = _this.imageRef.current) === null || _c === void 0 ? void 0 : _c.naturalHeight) || ((_d = _this.videoRef.current) === null || _d === void 0 ? void 0 : _d.videoHeight) || 0;
|
1644 |
var isMediaScaledDown = mediaRef.offsetWidth < naturalWidth || mediaRef.offsetHeight < naturalHeight;
|
1645 |
var mediaAspect = naturalWidth / naturalHeight; // We do not rely on the offsetWidth/offsetHeight if the media is scaled down
|
1646 |
// as the values they report are rounded. That will result in precision losses
|
1677 |
height: _this.containerRect.height
|
1678 |
};
|
1679 |
break;
|
1680 |
+
|
1681 |
+
case 'auto-cover':
|
1682 |
+
renderedMediaSize = naturalWidth > naturalHeight ? {
|
1683 |
+
width: _this.containerRect.width,
|
1684 |
+
height: _this.containerRect.width / mediaAspect
|
1685 |
+
} : {
|
1686 |
+
width: _this.containerRect.height * mediaAspect,
|
1687 |
+
height: _this.containerRect.height
|
1688 |
+
};
|
1689 |
+
break;
|
1690 |
}
|
1691 |
} else {
|
1692 |
renderedMediaSize = {
|
1942 |
if (!this.props.disableAutomaticStylesInjection) {
|
1943 |
this.styleRef = document.createElement('style');
|
1944 |
this.styleRef.setAttribute('type', 'text/css');
|
1945 |
+
|
1946 |
+
if (this.props.nonce) {
|
1947 |
+
this.styleRef.setAttribute('nonce', this.props.nonce);
|
1948 |
+
}
|
1949 |
+
|
1950 |
this.styleRef.innerHTML = css_248z;
|
1951 |
document.head.appendChild(this.styleRef);
|
1952 |
} // when rendered via SSR, the image can already be loaded and its onLoad callback will never be called
|
1953 |
|
1954 |
|
1955 |
+
if (this.imageRef.current && this.imageRef.current.complete) {
|
1956 |
this.onMediaLoad();
|
1957 |
+
} // set image and video refs in the parent if the callbacks exist
|
1958 |
+
|
1959 |
+
|
1960 |
+
if (this.props.setImageRef) {
|
1961 |
+
this.props.setImageRef(this.imageRef);
|
1962 |
+
}
|
1963 |
+
|
1964 |
+
if (this.props.setVideoRef) {
|
1965 |
+
this.props.setVideoRef(this.videoRef);
|
1966 |
}
|
1967 |
};
|
1968 |
|
2007 |
}
|
2008 |
|
2009 |
if (prevProps.video !== this.props.video) {
|
2010 |
+
(_j = this.videoRef.current) === null || _j === void 0 ? void 0 : _j.load();
|
2011 |
}
|
2012 |
};
|
2013 |
|
2088 |
className: classNames('reactEasyCrop_Container', containerClassName)
|
2089 |
}, image ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("img", (0,tslib__WEBPACK_IMPORTED_MODULE_2__.__assign)({
|
2090 |
alt: "",
|
2091 |
+
className: classNames('reactEasyCrop_Image', objectFit === 'contain' && 'reactEasyCrop_Contain', objectFit === 'horizontal-cover' && 'reactEasyCrop_Cover_Horizontal', objectFit === 'vertical-cover' && 'reactEasyCrop_Cover_Vertical', objectFit === 'auto-cover' && (this.mediaSize.naturalWidth > this.mediaSize.naturalHeight ? 'reactEasyCrop_Cover_Horizontal' : 'reactEasyCrop_Cover_Vertical'), mediaClassName)
|
2092 |
}, mediaProps, {
|
2093 |
src: image,
|
2094 |
+
ref: this.imageRef,
|
|
|
|
|
2095 |
style: (0,tslib__WEBPACK_IMPORTED_MODULE_2__.__assign)((0,tslib__WEBPACK_IMPORTED_MODULE_2__.__assign)({}, mediaStyle), {
|
2096 |
transform: transform || "translate(" + x + "px, " + y + "px) rotate(" + rotation + "deg) scale(" + zoom + ")"
|
2097 |
}),
|
2100 |
autoPlay: true,
|
2101 |
loop: true,
|
2102 |
muted: true,
|
2103 |
+
className: classNames('reactEasyCrop_Video', objectFit === 'contain' && 'reactEasyCrop_Contain', objectFit === 'horizontal-cover' && 'reactEasyCrop_Cover_Horizontal', objectFit === 'vertical-cover' && 'reactEasyCrop_Cover_Vertical', objectFit === 'auto-cover' && (this.mediaSize.naturalWidth > this.mediaSize.naturalHeight ? 'reactEasyCrop_Cover_Horizontal' : 'reactEasyCrop_Cover_Vertical'), mediaClassName)
|
2104 |
}, mediaProps, {
|
2105 |
+
ref: this.videoRef,
|
|
|
|
|
2106 |
onLoadedMetadata: this.onMediaLoad,
|
2107 |
style: (0,tslib__WEBPACK_IMPORTED_MODULE_2__.__assign)((0,tslib__WEBPACK_IMPORTED_MODULE_2__.__assign)({}, mediaStyle), {
|
2108 |
transform: transform || "translate(" + x + "px, " + y + "px) rotate(" + rotation + "deg) scale(" + zoom + ")"
|
@@ -1 +1 @@
|
|
1 |
-
!function(){var e={796:function(e,t,o){e.exports=o(643)},264:function(e){"use strict";var t=!("undefined"==typeof window||!window.document||!window.document.createElement),o={canUseDOM:t,canUseWorkers:"undefined"!=typeof Worker,canUseEventListeners:t&&!(!window.addEventListener&&!window.attachEvent),canUseViewport:t&&!!window.screen,isInWorker:!t};e.exports=o},518:function(e){var t,o,r,n,a,i,s,c,l,p,d,h,u,m,v,g=!1;function f(){if(!g){g=!0;var e=navigator.userAgent,f=/(?:MSIE.(\d+\.\d+))|(?:(?:Firefox|GranParadiso|Iceweasel).(\d+\.\d+))|(?:Opera(?:.+Version.|.)(\d+\.\d+))|(?:AppleWebKit.(\d+(?:\.\d+)?))|(?:Trident\/\d+\.\d+.*rv:(\d+\.\d+))/.exec(e),w=/(Mac OS X)|(Windows)|(Linux)/.exec(e);if(h=/\b(iPhone|iP[ao]d)/.exec(e),u=/\b(iP[ao]d)/.exec(e),p=/Android/i.exec(e),m=/FBAN\/\w+;/i.exec(e),v=/Mobile/i.exec(e),d=!!/Win64/.exec(e),f){(t=f[1]?parseFloat(f[1]):f[5]?parseFloat(f[5]):NaN)&&document&&document.documentMode&&(t=document.documentMode);var y=/(?:Trident\/(\d+.\d+))/.exec(e);i=y?parseFloat(y[1])+4:t,o=f[2]?parseFloat(f[2]):NaN,r=f[3]?parseFloat(f[3]):NaN,(n=f[4]?parseFloat(f[4]):NaN)?(f=/(?:Chrome\/(\d+\.\d+))/.exec(e),a=f&&f[1]?parseFloat(f[1]):NaN):a=NaN}else t=o=r=a=n=NaN;if(w){if(w[1]){var S=/(?:Mac OS X (\d+(?:[._]\d+)?))/.exec(e);s=!S||parseFloat(S[1].replace("_","."))}else s=!1;c=!!w[2],l=!!w[3]}else s=c=l=!1}}var w={ie:function(){return f()||t},ieCompatibilityMode:function(){return f()||i>t},ie64:function(){return w.ie()&&d},firefox:function(){return f()||o},opera:function(){return f()||r},webkit:function(){return f()||n},safari:function(){return w.webkit()},chrome:function(){return f()||a},windows:function(){return f()||c},osx:function(){return f()||s},linux:function(){return f()||l},iphone:function(){return f()||h},mobile:function(){return f()||h||u||p||v},nativeApp:function(){return f()||m},android:function(){return f()||p},ipad:function(){return f()||u}};e.exports=w},534:function(e,t,o){"use strict";var r,n=o(264);n.canUseDOM&&(r=document.implementation&&document.implementation.hasFeature&&!0!==document.implementation.hasFeature("","")),e.exports=function(e,t){if(!n.canUseDOM||t&&!("addEventListener"in document))return!1;var o="on"+e,a=o in document;if(!a){var i=document.createElement("div");i.setAttribute(o,"return;"),a="function"==typeof i[o]}return!a&&r&&"wheel"===e&&(a=document.implementation.hasFeature("Events.wheel","3.0")),a}},643:function(e,t,o){"use strict";var r=o(518),n=o(534);function a(e){var t=0,o=0,r=0,n=0;return"detail"in e&&(o=e.detail),"wheelDelta"in e&&(o=-e.wheelDelta/120),"wheelDeltaY"in e&&(o=-e.wheelDeltaY/120),"wheelDeltaX"in e&&(t=-e.wheelDeltaX/120),"axis"in e&&e.axis===e.HORIZONTAL_AXIS&&(t=o,o=0),r=10*t,n=10*o,"deltaY"in e&&(n=e.deltaY),"deltaX"in e&&(r=e.deltaX),(r||n)&&e.deltaMode&&(1==e.deltaMode?(r*=40,n*=40):(r*=800,n*=800)),r&&!t&&(t=r<1?-1:1),n&&!o&&(o=n<1?-1:1),{spinX:t,spinY:o,pixelX:r,pixelY:n}}a.getEventType=function(){return r.firefox()?"DOMMouseScroll":n("wheel")?"wheel":"mousewheel"},e.exports=a}},t={};function o(r){var n=t[r];if(void 0!==n)return n.exports;var a=t[r]={exports:{}};return e[r](a,a.exports,o),a.exports}o.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return o.d(t,{a:t}),t},o.d=function(e,t){for(var r in t)o.o(t,r)&&!o.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},o.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},function(){"use strict";var e=window.wp.element,t=window.wp.url;const r=window.jQuery;var n=window.wp.apiFetch,a=o.n(n),i=window.wp.i18n,s=function(e,t){return s=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o])},s(e,t)},c=function(){return c=Object.assign||function(e){for(var t,o=1,r=arguments.length;o<r;o++)for(var n in t=arguments[o])Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e},c.apply(this,arguments)};Object.create,Object.create;var l=window.React,p=o.n(l),d=o(796),h=o.n(d);function u(e,t,o,r,n,a){void 0===a&&(a=0);var i=E(e,t,a),s=i.width,c=i.height,l=Math.min(s,o),p=Math.min(c,r);return l>p*n?{width:p*n,height:p}:{width:l,height:l/n}}function m(e,t,o,r,n){void 0===n&&(n=0);var a=E(t.width,t.height,n),i=a.width,s=a.height;return{x:v(e.x,i,o.width,r),y:v(e.y,s,o.height,r)}}function v(e,t,o,r){var n=t*r/2-o/2;return x(e,-n,n)}function g(e,t){return Math.sqrt(Math.pow(e.y-t.y,2)+Math.pow(e.x-t.x,2))}function f(e,t){return 180*Math.atan2(t.y-e.y,t.x-e.x)/Math.PI}function w(e,t,o,r,n,a,i){void 0===a&&(a=0),void 0===i&&(i=!0);var s=i?y:S,l=E(t.width,t.height,a),p=E(t.naturalWidth,t.naturalHeight,a),d={x:s(100,((l.width-o.width/n)/2-e.x/n)/l.width*100),y:s(100,((l.height-o.height/n)/2-e.y/n)/l.height*100),width:s(100,o.width/l.width*100/n),height:s(100,o.height/l.height*100/n)},h=Math.round(s(p.width,d.width*p.width/100)),u=Math.round(s(p.height,d.height*p.height/100)),m=p.width>=p.height*r?{width:Math.round(u*r),height:u}:{width:h,height:Math.round(h/r)};return{croppedAreaPercentages:d,croppedAreaPixels:c(c({},m),{x:Math.round(s(p.width-m.width,d.x*p.width/100)),y:Math.round(s(p.height-m.height,d.y*p.height/100))})}}function y(e,t){return Math.min(e,Math.max(0,t))}function S(e,t){return t}function C(e,t,o,r,n,a){var i=E(t.width,t.height,o),s=x(r.width/i.width*(100/e.width),n,a);return{crop:{x:s*i.width/2-r.width/2-i.width*s*(e.x/100),y:s*i.height/2-r.height/2-i.height*s*(e.y/100)},zoom:s}}function b(e,t,o,r,n,a){void 0===o&&(o=0);var i=E(t.naturalWidth,t.naturalHeight,o),s=x(function(e,t,o){var r=function(e){return e.width>e.height?e.width/e.naturalWidth:e.height/e.naturalHeight}(t);return o.height>o.width?o.height/(e.height*r):o.width/(e.width*r)}(e,t,r),n,a),c=r.height>r.width?r.height/e.height:r.width/e.width;return{crop:{x:((i.width-e.width)/2-e.x)*c,y:((i.height-e.height)/2-e.y)*c},zoom:s}}function _(e,t){return{x:(t.x+e.x)/2,y:(t.y+e.y)/2}}function E(e,t,o){var r=o*Math.PI/180;return{width:Math.abs(Math.cos(r)*e)+Math.abs(Math.sin(r)*t),height:Math.abs(Math.sin(r)*e)+Math.abs(Math.cos(r)*t)}}function x(e,t,o){return Math.min(Math.max(e,t),o)}function M(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return e.filter((function(e){return"string"==typeof e&&e.length>0})).join(" ").trim()}var z=function(e){function t(){var o=null!==e&&e.apply(this,arguments)||this;return o.imageRef=null,o.videoRef=null,o.containerRef=null,o.styleRef=null,o.containerRect=null,o.mediaSize={width:0,height:0,naturalWidth:0,naturalHeight:0},o.dragStartPosition={x:0,y:0},o.dragStartCrop={x:0,y:0},o.lastPinchDistance=0,o.lastPinchRotation=0,o.rafDragTimeout=null,o.rafPinchTimeout=null,o.wheelTimer=null,o.state={cropSize:null,hasWheelJustStarted:!1},o.preventZoomSafari=function(e){return e.preventDefault()},o.cleanEvents=function(){document.removeEventListener("mousemove",o.onMouseMove),document.removeEventListener("mouseup",o.onDragStopped),document.removeEventListener("touchmove",o.onTouchMove),document.removeEventListener("touchend",o.onDragStopped)},o.clearScrollEvent=function(){o.containerRef&&o.containerRef.removeEventListener("wheel",o.onWheel),o.wheelTimer&&clearTimeout(o.wheelTimer)},o.onMediaLoad=function(){var e=o.computeSizes();e&&(o.emitCropData(),o.setInitialCrop(e)),o.props.onMediaLoaded&&o.props.onMediaLoaded(o.mediaSize)},o.setInitialCrop=function(e){if(o.props.initialCroppedAreaPercentages){var t=C(o.props.initialCroppedAreaPercentages,o.mediaSize,o.props.rotation,e,o.props.minZoom,o.props.maxZoom),r=t.crop,n=t.zoom;o.props.onCropChange(r),o.props.onZoomChange&&o.props.onZoomChange(n)}else if(o.props.initialCroppedAreaPixels){var a=b(o.props.initialCroppedAreaPixels,o.mediaSize,o.props.rotation,e,o.props.minZoom,o.props.maxZoom);r=a.crop,n=a.zoom,o.props.onCropChange(r),o.props.onZoomChange&&o.props.onZoomChange(n)}},o.computeSizes=function(){var e,t,r,n,a,i,s=o.imageRef||o.videoRef;if(s&&o.containerRef){o.containerRect=o.containerRef.getBoundingClientRect();var l=o.containerRect.width/o.containerRect.height,p=(null===(e=o.imageRef)||void 0===e?void 0:e.naturalWidth)||(null===(t=o.videoRef)||void 0===t?void 0:t.videoWidth)||0,d=(null===(r=o.imageRef)||void 0===r?void 0:r.naturalHeight)||(null===(n=o.videoRef)||void 0===n?void 0:n.videoHeight)||0,h=p/d,m=void 0;if(s.offsetWidth<p||s.offsetHeight<d)switch(o.props.objectFit){default:case"contain":m=l>h?{width:o.containerRect.height*h,height:o.containerRect.height}:{width:o.containerRect.width,height:o.containerRect.width/h};break;case"horizontal-cover":m={width:o.containerRect.width,height:o.containerRect.width/h};break;case"vertical-cover":m={width:o.containerRect.height*h,height:o.containerRect.height}}else m={width:s.offsetWidth,height:s.offsetHeight};o.mediaSize=c(c({},m),{naturalWidth:p,naturalHeight:d});var v=o.props.cropSize?o.props.cropSize:u(o.mediaSize.width,o.mediaSize.height,o.containerRect.width,o.containerRect.height,o.props.aspect,o.props.rotation);return(null===(a=o.state.cropSize)||void 0===a?void 0:a.height)===v.height&&(null===(i=o.state.cropSize)||void 0===i?void 0:i.width)===v.width||o.props.onCropSizeChange&&o.props.onCropSizeChange(v),o.setState({cropSize:v},o.recomputeCropPosition),v}},o.onMouseDown=function(e){e.preventDefault(),document.addEventListener("mousemove",o.onMouseMove),document.addEventListener("mouseup",o.onDragStopped),o.onDragStart(t.getMousePoint(e))},o.onMouseMove=function(e){return o.onDrag(t.getMousePoint(e))},o.onTouchStart=function(e){o.props.onTouchRequest&&!o.props.onTouchRequest(e)||(document.addEventListener("touchmove",o.onTouchMove,{passive:!1}),document.addEventListener("touchend",o.onDragStopped),2===e.touches.length?o.onPinchStart(e):1===e.touches.length&&o.onDragStart(t.getTouchPoint(e.touches[0])))},o.onTouchMove=function(e){e.preventDefault(),2===e.touches.length?o.onPinchMove(e):1===e.touches.length&&o.onDrag(t.getTouchPoint(e.touches[0]))},o.onDragStart=function(e){var t,r,n=e.x,a=e.y;o.dragStartPosition={x:n,y:a},o.dragStartCrop=c({},o.props.crop),null===(r=(t=o.props).onInteractionStart)||void 0===r||r.call(t)},o.onDrag=function(e){var t=e.x,r=e.y;o.rafDragTimeout&&window.cancelAnimationFrame(o.rafDragTimeout),o.rafDragTimeout=window.requestAnimationFrame((function(){if(o.state.cropSize&&void 0!==t&&void 0!==r){var e=t-o.dragStartPosition.x,n=r-o.dragStartPosition.y,a={x:o.dragStartCrop.x+e,y:o.dragStartCrop.y+n},i=o.props.restrictPosition?m(a,o.mediaSize,o.state.cropSize,o.props.zoom,o.props.rotation):a;o.props.onCropChange(i)}}))},o.onDragStopped=function(){var e,t;o.cleanEvents(),o.emitCropData(),null===(t=(e=o.props).onInteractionEnd)||void 0===t||t.call(e)},o.onWheel=function(e){if(!o.props.onWheelRequest||o.props.onWheelRequest(e)){e.preventDefault();var r=t.getMousePoint(e),n=h()(e).pixelY,a=o.props.zoom-n*o.props.zoomSpeed/200;o.setNewZoom(a,r),o.state.hasWheelJustStarted||o.setState({hasWheelJustStarted:!0},(function(){var e,t;return null===(t=(e=o.props).onInteractionStart)||void 0===t?void 0:t.call(e)})),o.wheelTimer&&clearTimeout(o.wheelTimer),o.wheelTimer=window.setTimeout((function(){return o.setState({hasWheelJustStarted:!1},(function(){var e,t;return null===(t=(e=o.props).onInteractionEnd)||void 0===t?void 0:t.call(e)}))}),250)}},o.getPointOnContainer=function(e){var t=e.x,r=e.y;if(!o.containerRect)throw new Error("The Cropper is not mounted");return{x:o.containerRect.width/2-(t-o.containerRect.left),y:o.containerRect.height/2-(r-o.containerRect.top)}},o.getPointOnMedia=function(e){var t=e.x,r=e.y,n=o.props,a=n.crop,i=n.zoom;return{x:(t+a.x)/i,y:(r+a.y)/i}},o.setNewZoom=function(e,t){if(o.state.cropSize&&o.props.onZoomChange){var r=o.getPointOnContainer(t),n=o.getPointOnMedia(r),a=x(e,o.props.minZoom,o.props.maxZoom),i={x:n.x*a-r.x,y:n.y*a-r.y},s=o.props.restrictPosition?m(i,o.mediaSize,o.state.cropSize,a,o.props.rotation):i;o.props.onCropChange(s),o.props.onZoomChange(a)}},o.getCropData=function(){return o.state.cropSize?w(o.props.restrictPosition?m(o.props.crop,o.mediaSize,o.state.cropSize,o.props.zoom,o.props.rotation):o.props.crop,o.mediaSize,o.state.cropSize,o.getAspect(),o.props.zoom,o.props.rotation,o.props.restrictPosition):null},o.emitCropData=function(){var e=o.getCropData();if(e){var t=e.croppedAreaPercentages,r=e.croppedAreaPixels;o.props.onCropComplete&&o.props.onCropComplete(t,r),o.props.onCropAreaChange&&o.props.onCropAreaChange(t,r)}},o.emitCropAreaChange=function(){var e=o.getCropData();if(e){var t=e.croppedAreaPercentages,r=e.croppedAreaPixels;o.props.onCropAreaChange&&o.props.onCropAreaChange(t,r)}},o.recomputeCropPosition=function(){if(o.state.cropSize){var e=o.props.restrictPosition?m(o.props.crop,o.mediaSize,o.state.cropSize,o.props.zoom,o.props.rotation):o.props.crop;o.props.onCropChange(e),o.emitCropData()}},o}return function(e,t){function __(){this.constructor=e}s(e,t),e.prototype=null===t?Object.create(t):(__.prototype=t.prototype,new __)}(t,e),t.prototype.componentDidMount=function(){window.addEventListener("resize",this.computeSizes),this.containerRef&&(this.props.zoomWithScroll&&this.containerRef.addEventListener("wheel",this.onWheel,{passive:!1}),this.containerRef.addEventListener("gesturestart",this.preventZoomSafari),this.containerRef.addEventListener("gesturechange",this.preventZoomSafari)),this.props.disableAutomaticStylesInjection||(this.styleRef=document.createElement("style"),this.styleRef.setAttribute("type","text/css"),this.styleRef.innerHTML=".reactEasyCrop_Container {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n overflow: hidden;\n user-select: none;\n touch-action: none;\n cursor: move;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n.reactEasyCrop_Image,\n.reactEasyCrop_Video {\n will-change: transform; /* this improves performances and prevent painting issues on iOS Chrome */\n}\n\n.reactEasyCrop_Contain {\n max-width: 100%;\n max-height: 100%;\n margin: auto;\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n}\n.reactEasyCrop_Cover_Horizontal {\n width: 100%;\n height: auto;\n}\n.reactEasyCrop_Cover_Vertical {\n width: auto;\n height: 100%;\n}\n\n.reactEasyCrop_CropArea {\n position: absolute;\n left: 50%;\n top: 50%;\n transform: translate(-50%, -50%);\n border: 1px solid rgba(255, 255, 255, 0.5);\n box-sizing: border-box;\n box-shadow: 0 0 0 9999em;\n color: rgba(0, 0, 0, 0.5);\n overflow: hidden;\n}\n\n.reactEasyCrop_CropAreaRound {\n border-radius: 50%;\n}\n\n.reactEasyCrop_CropAreaGrid::before {\n content: ' ';\n box-sizing: border-box;\n position: absolute;\n border: 1px solid rgba(255, 255, 255, 0.5);\n top: 0;\n bottom: 0;\n left: 33.33%;\n right: 33.33%;\n border-top: 0;\n border-bottom: 0;\n}\n\n.reactEasyCrop_CropAreaGrid::after {\n content: ' ';\n box-sizing: border-box;\n position: absolute;\n border: 1px solid rgba(255, 255, 255, 0.5);\n top: 33.33%;\n bottom: 33.33%;\n left: 0;\n right: 0;\n border-left: 0;\n border-right: 0;\n}\n",document.head.appendChild(this.styleRef)),this.imageRef&&this.imageRef.complete&&this.onMediaLoad()},t.prototype.componentWillUnmount=function(){var e;window.removeEventListener("resize",this.computeSizes),this.containerRef&&(this.containerRef.removeEventListener("gesturestart",this.preventZoomSafari),this.containerRef.removeEventListener("gesturechange",this.preventZoomSafari)),this.styleRef&&(null===(e=this.styleRef.parentNode)||void 0===e||e.removeChild(this.styleRef)),this.cleanEvents(),this.props.zoomWithScroll&&this.clearScrollEvent()},t.prototype.componentDidUpdate=function(e){var t,o,r,n,a,i,s,c,l;e.rotation!==this.props.rotation?(this.computeSizes(),this.recomputeCropPosition()):e.aspect!==this.props.aspect?this.computeSizes():e.zoom!==this.props.zoom?this.recomputeCropPosition():(null===(t=e.cropSize)||void 0===t?void 0:t.height)!==(null===(o=this.props.cropSize)||void 0===o?void 0:o.height)||(null===(r=e.cropSize)||void 0===r?void 0:r.width)!==(null===(n=this.props.cropSize)||void 0===n?void 0:n.width)?this.computeSizes():(null===(a=e.crop)||void 0===a?void 0:a.x)===(null===(i=this.props.crop)||void 0===i?void 0:i.x)&&(null===(s=e.crop)||void 0===s?void 0:s.y)===(null===(c=this.props.crop)||void 0===c?void 0:c.y)||this.emitCropAreaChange(),e.zoomWithScroll!==this.props.zoomWithScroll&&this.containerRef&&(this.props.zoomWithScroll?this.containerRef.addEventListener("wheel",this.onWheel,{passive:!1}):this.clearScrollEvent()),e.video!==this.props.video&&(null===(l=this.videoRef)||void 0===l||l.load())},t.prototype.getAspect=function(){var e=this.props,t=e.cropSize,o=e.aspect;return t?t.width/t.height:o},t.prototype.onPinchStart=function(e){var o=t.getTouchPoint(e.touches[0]),r=t.getTouchPoint(e.touches[1]);this.lastPinchDistance=g(o,r),this.lastPinchRotation=f(o,r),this.onDragStart(_(o,r))},t.prototype.onPinchMove=function(e){var o=this,r=t.getTouchPoint(e.touches[0]),n=t.getTouchPoint(e.touches[1]),a=_(r,n);this.onDrag(a),this.rafPinchTimeout&&window.cancelAnimationFrame(this.rafPinchTimeout),this.rafPinchTimeout=window.requestAnimationFrame((function(){var e=g(r,n),t=o.props.zoom*(e/o.lastPinchDistance);o.setNewZoom(t,a),o.lastPinchDistance=e;var i=f(r,n),s=o.props.rotation+(i-o.lastPinchRotation);o.props.onRotationChange&&o.props.onRotationChange(s),o.lastPinchRotation=i}))},t.prototype.render=function(){var e=this,t=this.props,o=t.image,r=t.video,n=t.mediaProps,a=t.transform,i=t.crop,s=i.x,l=i.y,d=t.rotation,h=t.zoom,u=t.cropShape,m=t.showGrid,v=t.style,g=v.containerStyle,f=v.cropAreaStyle,w=v.mediaStyle,y=t.classes,S=y.containerClassName,C=y.cropAreaClassName,b=y.mediaClassName,_=t.objectFit;return p().createElement("div",{onMouseDown:this.onMouseDown,onTouchStart:this.onTouchStart,ref:function(t){return e.containerRef=t},"data-testid":"container",style:g,className:M("reactEasyCrop_Container",S)},o?p().createElement("img",c({alt:"",className:M("reactEasyCrop_Image","contain"===_&&"reactEasyCrop_Contain","horizontal-cover"===_&&"reactEasyCrop_Cover_Horizontal","vertical-cover"===_&&"reactEasyCrop_Cover_Vertical",b)},n,{src:o,ref:function(t){return e.imageRef=t},style:c(c({},w),{transform:a||"translate("+s+"px, "+l+"px) rotate("+d+"deg) scale("+h+")"}),onLoad:this.onMediaLoad})):r&&p().createElement("video",c({autoPlay:!0,loop:!0,muted:!0,className:M("reactEasyCrop_Video","contain"===_&&"reactEasyCrop_Contain","horizontal-cover"===_&&"reactEasyCrop_Cover_Horizontal","vertical-cover"===_&&"reactEasyCrop_Cover_Vertical",b)},n,{ref:function(t){return e.videoRef=t},onLoadedMetadata:this.onMediaLoad,style:c(c({},w),{transform:a||"translate("+s+"px, "+l+"px) rotate("+d+"deg) scale("+h+")"}),controls:!1}),(Array.isArray(r)?r:[{src:r}]).map((function(e){return p().createElement("source",c({key:e.src},e))}))),this.state.cropSize&&p().createElement("div",{style:c(c({},f),{width:this.state.cropSize.width,height:this.state.cropSize.height}),"data-testid":"cropper",className:M("reactEasyCrop_CropArea","round"===u&&"reactEasyCrop_CropAreaRound",m&&"reactEasyCrop_CropAreaGrid",C)}))},t.defaultProps={zoom:1,rotation:0,aspect:4/3,maxZoom:3,minZoom:1,cropShape:"rect",objectFit:"contain",showGrid:!0,style:{},classes:{},mediaProps:{},zoomSpeed:1,restrictPosition:!0,zoomWithScroll:!0},t.getMousePoint=function(e){return{x:Number(e.clientX),y:Number(e.clientY)}},t.getTouchPoint=function(e){return{x:Number(e.clientX),y:Number(e.clientY)}},t}(p().Component),P=z;const R=e=>new Promise(((t,o)=>{const r=new Image;r.addEventListener("load",(()=>t(r))),r.addEventListener("error",(e=>o(e))),r.setAttribute("crossOrigin","anonymous"),r.src=e}));function A(e){return e*Math.PI/180}function L(e,t,o){const r=A(o);return{width:Math.abs(Math.cos(r)*e)+Math.abs(Math.sin(r)*t),height:Math.abs(Math.sin(r)*e)+Math.abs(Math.cos(r)*t)}}document.addEventListener("DOMContentLoaded",(function(e){(()=>{const e=document.querySelectorAll(".learn-press-course-tab__filter__content"),o=function(e,o){let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],a=arguments.length>3&&void 0!==arguments[3]&&arguments[3];wp.apiFetch({path:(0,t.addQueryArgs)("lp/v1/profile/course-tab",o),method:"GET"}).then((t=>{const i=e.querySelector(".lp-skeleton-animation");if(i&&i.remove(),"success"===t.status&&t.data?n?e.innerHTML+=t.data:e.innerHTML=t.data:n?e.innerHTML+=`<div class="lp-ajax-message" style="display:block">${t.message&&t.message}</div>`:e.innerHTML=`<div class="lp-ajax-message" style="display:block">${t.message&&t.message}</div>`,a){a.classList.remove("loading");const e=a.dataset.paged;a.dataset.number<=e&&a.remove(),a.dataset.paged=parseInt(e)+1}r(e,o)})).catch((t=>{if(n?e.innerHTML+=`<div class="lp-ajax-message error" style="display:block">${t.message&&t.message}</div>`:e.innerHTML=`<div class="lp-ajax-message error" style="display:block">${t.message&&t.message}</div>`,a){a.classList.remove("loading");const e=a.dataset.paged;a.dataset.number<=e&&a.remove(),a.dataset.paged=parseInt(e)+1}}))};if("IntersectionObserver"in window){const t=new IntersectionObserver(((e,r)=>{e.forEach((e=>{if(e.isIntersecting){const r=e.target,n=r.parentNode.querySelector(".lp_profile_tab_input_param"),a={...JSON.parse(n.value),status:r.dataset.tab||""};o(r,a),t.unobserve(r)}}))}));[...e].map((e=>{if("all"!==e.dataset.tab)t.observe(e);else{const t=e.parentNode.querySelector(".lp_profile_tab_input_param"),r={...JSON.parse(t.value),status:"all"===e.dataset.tab?"":e.dataset.tab||""};o(e,r)}}))}document.querySelectorAll(".learn-press-course-tab-filters").forEach((e=>{const t=e.querySelectorAll(".learn-press-filters a");t.forEach((o=>{o.addEventListener("click",(r=>{r.preventDefault();const n=o.dataset.tab;[...t].map((e=>{e.classList.remove("active")})),o.classList.add("active"),[...e.querySelectorAll(".learn-press-course-tab__filter__content")].map((e=>{e.style.display="none",e.dataset.tab===n&&(e.style.display="")}))}))}))})),document.querySelectorAll(".learn-press-profile-course__tab__inner").forEach((e=>{const t=e.querySelectorAll("li> a");t.forEach((e=>{e.addEventListener("click",(o=>{o.preventDefault();const r=e.dataset.tab;[...t].map((e=>{e.classList.remove("active")})),e.classList.add("active"),[...document.querySelectorAll(".learn-press-course-tab-filters")].map((e=>{e.style.display="none",e.dataset.tab===r&&(e.style.display="")}))}))}))}));const r=(e,t)=>{const r=e.querySelector("button[data-paged]");r&&r.addEventListener("click",(n=>{n.preventDefault();const a=r&&r.dataset.paged;r.classList.add("loading");const i="list"===t.layout?".lp_profile_course_progress":".learn-press-courses";o(e.querySelector(i),{...t,paged:a},!0,r)}))}})(),(()=>{const e=document.querySelector(".learn-press-profile-course__statistic");if(!e)return;const o=document.querySelector('[name="args_query_user_courses_statistic"]');if(!o)return;const r=JSON.parse(o.value);var n,a;n=e,a=r,wp.apiFetch({path:(0,t.addQueryArgs)("lp/v1/profile/statistic",a),method:"GET"}).then((e=>{"success"===e.status&&e.data?n.innerHTML=e.data:n.innerHTML=`<div class="lp-ajax-message error" style="display:block">${e.message&&e.message}</div>`})).catch((e=>{console.log(e)}))})(),function(){const e=r(".order-recover"),t=e.find(".button-recover-order");t.on("click",(()=>{e.find(".learn-press-message").remove(),r(".profile-recover-order").find(".learn-press-message").remove(),r.post({url:"",data:e.serializeJSON(),beforeSend(){t.addClass("loading").attr("disabled","disabled")},success(o){if((o=LP.parseJSON(o)).message){const t=r('<div class="learn-press-message icon"><i class="fa"></i> '+o.message+"</div>");"error"==o.result&&t.addClass("error"),e.before(t)}o.redirect&&(window.location.href=o.redirect),t.removeClass("loading").removeAttr("disabled","")},error(){t.removeClass("loading").removeAttr("disabled","")}})}))}()})),document.getElementById("learnpress-avatar-upload")&&wp.element.render((0,e.createElement)((function(){const[t,o]=(0,e.useState)(),[r,n]=(0,e.useState)(0),[s,c]=(0,e.useState)(0),[l,p]=(0,e.useState)({x:0,y:0}),[d,h]=(0,e.useState)(0),[u,m]=(0,e.useState)(null),[v,g]=(0,e.useState)(0),[f,w]=(0,e.useState)(0),[y,S]=(0,e.useState)(!1),[C,b]=(0,e.useState)(!0),[_,E]=(0,e.useState)(""),[x,M]=(0,e.useState)({type:"",message:""}),z=(0,e.useRef)();(0,e.useEffect)((()=>{!async function(){b(!0);try{var e,t,r;const i=await a()({method:"GET",path:"lp/v1/profile/get-avatar"});n(null!=i&&null!==(e=i.data)&&void 0!==e&&e.width?parseInt(i.data.width):0),c(null!=i&&null!==(t=i.data)&&void 0!==t&&t.height?parseInt(i.data.height):0),o(null!=i&&null!==(r=i.data)&&void 0!==r&&r.url?i.data.url:"")}catch(e){M({type:"error",message:e.message})}b(!1)}()}),[]);const D=(0,e.useCallback)(((e,t)=>{m(t)}),[]),T=(0,e.useCallback)((async()=>{S({save:!0});try{const e=await async function(e,t){let o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{horizontal:!1,vertical:!1};const n=await R(e),a=document.createElement("canvas"),i=a.getContext("2d");if(!i)return null;const s=A(o),{width:c,height:l}=L(n.width,n.height,o);a.width=c,a.height=l,i.translate(c/2,l/2),i.rotate(s),i.scale(r.horizontal?-1:1,r.vertical?-1:1),i.translate(-n.width/2,-n.height/2),i.drawImage(n,0,0);const p=i.getImageData(t.x,t.y,t.width,t.height);return a.width=t.width,a.height=t.height,i.putImageData(p,0,0),a.toDataURL("image/jpeg")}(t,u,d),o=await((e,t,o)=>new Promise(((r,n)=>{const a=document.createElement("canvas"),i=document.createElement("img");i.src=e,i.setAttribute("crossOrigin","anonymous"),i.onload=()=>{(i.naturalWidth>t||i.naturalHeight>o)&&(a.width=t,a.height=o,a.getContext("2d").drawImage(i,0,0,t,o),r(a.toDataURL("image/jpeg"))),r(e)},i.onerror=e=>n(e)})))(e,r,s),n=await a()({path:"lp/v1/profile/upload-avatar",method:"POST",data:{file:o||""}}),{data:i,status:c,message:l}=await n;"success"===c&&window.location.reload(),M({type:c,message:l})}catch(e){M({type:"error",message:e.message||""})}S({save:!1})}),[u,d]);return(0,e.createElement)("div",{className:"learnpress_avatar"},C?(0,e.createElement)("ul",{className:"lp-skeleton-animation"},(0,e.createElement)("li",{style:{width:200,height:200}}),(0,e.createElement)("li",{style:{width:200,height:20}}),(0,e.createElement)("li",{style:{width:200,height:20}})):(0,e.createElement)(e.Fragment,null,t&&!_&&(0,e.createElement)(e.Fragment,null,f&&v?(0,e.createElement)("div",{className:"learnpress_avatar__cropper"},(0,e.createElement)("div",{style:{position:"relative",width:v,height:f,zIndex:9999,maxWidth:"100%",maxHeight:"800px"}},(0,e.createElement)(P,{image:t,crop:l,zoom:"1",cropSize:{width:r,height:s},onCropChange:p,onCropComplete:D})),(0,e.createElement)("div",null,(0,e.createElement)("button",{className:"learnpress_avatar__button learnpress_avatar__button--save "+(null!=y&&y.save?"learnpress_avatar__button--loading":""),onClick:T},(0,i.__)("Save","learnpress")))):(0,e.createElement)("div",{className:"learnpress_avatar__cropper"},(0,e.createElement)("img",{src:t,alt:""}),(0,e.createElement)("div",null,(0,e.createElement)("button",{className:"learnpress_avatar__button learnpress_avatar__button--replace",onClick:()=>z.current&&z.current.click()},(0,i.__)("Replace","learnpress")),(0,e.createElement)("button",{className:"learnpress_avatar__button learnpress_avatar__button--remove "+(null!=y&&y.remove?"learnpress_avatar__button--loading":""),onClick:async function(){if(confirm((0,i.__)("Are you sure you want to remove your avatar?","learnpress"))){S({remove:!0});try{const e=await a()({path:"lp/v1/profile/remove-avatar",method:"POST"}),{data:t,status:r,message:n}=await e;M({type:r,message:n}),o("")}catch(e){M({type:"error",message:e.message||""})}S({remove:!1})}}},(0,i.__)("Remove","learnpress"))))),(0,e.createElement)("form",{style:{display:t?"none":""}},(0,e.createElement)("div",{className:"learnpress_avatar__form"},(0,e.createElement)("div",{className:"learnpress_avatar__form-group"},(0,e.createElement)("label",{htmlFor:"avatar-file"},(0,e.createElement)("div",{className:"learnpress_avatar__form__upload"},(0,e.createElement)("div",null,(0,e.createElement)("span",null,(0,e.createElement)("svg",{viewBox:"64 64 896 896",focusable:"false","data-icon":"plus",width:"1em",height:"1em",fill:"currentColor","aria-hidden":"true"},(0,e.createElement)("defs",null,(0,e.createElement)("style",null)),(0,e.createElement)("path",{d:"M482 152h60q8 0 8 8v704q0 8-8 8h-60q-8 0-8-8V160q0-8 8-8z"}),(0,e.createElement)("path",{d:"M176 474h672q8 0 8 8v60q0 8-8 8H176q-8 0-8-8v-60q0-8 8-8z"}))),(0,e.createElement)("div",null,(0,i.__)("Upload","learnpress")))),(0,e.createElement)("input",{ref:z,type:"file",id:"avatar-file",accept:"image/*",onChange:e=>(async e=>{const t=await function(e){return new Promise((t=>{const o=new FileReader;o.addEventListener("load",(()=>t(o.result)),!1),o.readAsDataURL(e)}))}(e),n=new Image;n.src=await t,n.onload=await(function(){g(n.naturalWidth),w(n.naturalHeight);let a="";parseInt(e.size)>2097152?a=(0,i.__)("The file size is too large. You need to upload a file < 2MB.","learnpress"):(n.naturalWidth<r||n.naturalHeight<s)&&(a=(0,i.sprintf)((0,i.__)("The image size must be greater than or equal to %1$sx%2$spx","learnpress"),r,s)),a?E(a):(E(""),o(t))})})(e.target.files&&e.target.files.length>0?e.target.files[0]:"")}))))),_&&(0,e.createElement)("div",{className:"lp-ajax-message error",style:{display:"block"}},_),!_&&x&&x.type&&x.message&&(0,e.createElement)("div",{className:`lp-ajax-message ${x.type}`,style:{display:"block"}},x.message)))}),null),document.getElementById("learnpress-avatar-upload"))}()}();
|
1 |
+
!function(){var e={796:function(e,t,o){e.exports=o(643)},264:function(e){"use strict";var t=!("undefined"==typeof window||!window.document||!window.document.createElement),o={canUseDOM:t,canUseWorkers:"undefined"!=typeof Worker,canUseEventListeners:t&&!(!window.addEventListener&&!window.attachEvent),canUseViewport:t&&!!window.screen,isInWorker:!t};e.exports=o},518:function(e){var t,o,r,n,a,i,s,c,l,p,d,h,u,m,v,g=!1;function f(){if(!g){g=!0;var e=navigator.userAgent,f=/(?:MSIE.(\d+\.\d+))|(?:(?:Firefox|GranParadiso|Iceweasel).(\d+\.\d+))|(?:Opera(?:.+Version.|.)(\d+\.\d+))|(?:AppleWebKit.(\d+(?:\.\d+)?))|(?:Trident\/\d+\.\d+.*rv:(\d+\.\d+))/.exec(e),w=/(Mac OS X)|(Windows)|(Linux)/.exec(e);if(h=/\b(iPhone|iP[ao]d)/.exec(e),u=/\b(iP[ao]d)/.exec(e),p=/Android/i.exec(e),m=/FBAN\/\w+;/i.exec(e),v=/Mobile/i.exec(e),d=!!/Win64/.exec(e),f){(t=f[1]?parseFloat(f[1]):f[5]?parseFloat(f[5]):NaN)&&document&&document.documentMode&&(t=document.documentMode);var y=/(?:Trident\/(\d+.\d+))/.exec(e);i=y?parseFloat(y[1])+4:t,o=f[2]?parseFloat(f[2]):NaN,r=f[3]?parseFloat(f[3]):NaN,(n=f[4]?parseFloat(f[4]):NaN)?(f=/(?:Chrome\/(\d+\.\d+))/.exec(e),a=f&&f[1]?parseFloat(f[1]):NaN):a=NaN}else t=o=r=a=n=NaN;if(w){if(w[1]){var S=/(?:Mac OS X (\d+(?:[._]\d+)?))/.exec(e);s=!S||parseFloat(S[1].replace("_","."))}else s=!1;c=!!w[2],l=!!w[3]}else s=c=l=!1}}var w={ie:function(){return f()||t},ieCompatibilityMode:function(){return f()||i>t},ie64:function(){return w.ie()&&d},firefox:function(){return f()||o},opera:function(){return f()||r},webkit:function(){return f()||n},safari:function(){return w.webkit()},chrome:function(){return f()||a},windows:function(){return f()||c},osx:function(){return f()||s},linux:function(){return f()||l},iphone:function(){return f()||h},mobile:function(){return f()||h||u||p||v},nativeApp:function(){return f()||m},android:function(){return f()||p},ipad:function(){return f()||u}};e.exports=w},534:function(e,t,o){"use strict";var r,n=o(264);n.canUseDOM&&(r=document.implementation&&document.implementation.hasFeature&&!0!==document.implementation.hasFeature("","")),e.exports=function(e,t){if(!n.canUseDOM||t&&!("addEventListener"in document))return!1;var o="on"+e,a=o in document;if(!a){var i=document.createElement("div");i.setAttribute(o,"return;"),a="function"==typeof i[o]}return!a&&r&&"wheel"===e&&(a=document.implementation.hasFeature("Events.wheel","3.0")),a}},643:function(e,t,o){"use strict";var r=o(518),n=o(534);function a(e){var t=0,o=0,r=0,n=0;return"detail"in e&&(o=e.detail),"wheelDelta"in e&&(o=-e.wheelDelta/120),"wheelDeltaY"in e&&(o=-e.wheelDeltaY/120),"wheelDeltaX"in e&&(t=-e.wheelDeltaX/120),"axis"in e&&e.axis===e.HORIZONTAL_AXIS&&(t=o,o=0),r=10*t,n=10*o,"deltaY"in e&&(n=e.deltaY),"deltaX"in e&&(r=e.deltaX),(r||n)&&e.deltaMode&&(1==e.deltaMode?(r*=40,n*=40):(r*=800,n*=800)),r&&!t&&(t=r<1?-1:1),n&&!o&&(o=n<1?-1:1),{spinX:t,spinY:o,pixelX:r,pixelY:n}}a.getEventType=function(){return r.firefox()?"DOMMouseScroll":n("wheel")?"wheel":"mousewheel"},e.exports=a}},t={};function o(r){var n=t[r];if(void 0!==n)return n.exports;var a=t[r]={exports:{}};return e[r](a,a.exports,o),a.exports}o.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return o.d(t,{a:t}),t},o.d=function(e,t){for(var r in t)o.o(t,r)&&!o.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},o.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},function(){"use strict";var e=window.wp.element,t=window.wp.url;const r=window.jQuery;var n=window.wp.apiFetch,a=o.n(n),i=window.wp.i18n,s=function(e,t){return s=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o])},s(e,t)},c=function(){return c=Object.assign||function(e){for(var t,o=1,r=arguments.length;o<r;o++)for(var n in t=arguments[o])Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e},c.apply(this,arguments)};Object.create,Object.create;var l=window.React,p=o.n(l),d=o(796),h=o.n(d);function u(e,t,o,r,n,a){void 0===a&&(a=0);var i=E(e,t,a),s=i.width,c=i.height,l=Math.min(s,o),p=Math.min(c,r);return l>p*n?{width:p*n,height:p}:{width:l,height:l/n}}function m(e,t,o,r,n){void 0===n&&(n=0);var a=E(t.width,t.height,n),i=a.width,s=a.height;return{x:v(e.x,i,o.width,r),y:v(e.y,s,o.height,r)}}function v(e,t,o,r){var n=t*r/2-o/2;return x(e,-n,n)}function g(e,t){return Math.sqrt(Math.pow(e.y-t.y,2)+Math.pow(e.x-t.x,2))}function f(e,t){return 180*Math.atan2(t.y-e.y,t.x-e.x)/Math.PI}function w(e,t,o,r,n,a,i){void 0===a&&(a=0),void 0===i&&(i=!0);var s=i?y:S,l=E(t.width,t.height,a),p=E(t.naturalWidth,t.naturalHeight,a),d={x:s(100,((l.width-o.width/n)/2-e.x/n)/l.width*100),y:s(100,((l.height-o.height/n)/2-e.y/n)/l.height*100),width:s(100,o.width/l.width*100/n),height:s(100,o.height/l.height*100/n)},h=Math.round(s(p.width,d.width*p.width/100)),u=Math.round(s(p.height,d.height*p.height/100)),m=p.width>=p.height*r?{width:Math.round(u*r),height:u}:{width:h,height:Math.round(h/r)};return{croppedAreaPercentages:d,croppedAreaPixels:c(c({},m),{x:Math.round(s(p.width-m.width,d.x*p.width/100)),y:Math.round(s(p.height-m.height,d.y*p.height/100))})}}function y(e,t){return Math.min(e,Math.max(0,t))}function S(e,t){return t}function C(e,t,o,r,n,a){var i=E(t.width,t.height,o),s=x(r.width/i.width*(100/e.width),n,a);return{crop:{x:s*i.width/2-r.width/2-i.width*s*(e.x/100),y:s*i.height/2-r.height/2-i.height*s*(e.y/100)},zoom:s}}function _(e,t,o,r,n,a){void 0===o&&(o=0);var i=E(t.naturalWidth,t.naturalHeight,o),s=x(function(e,t,o){var r=function(e){return e.width>e.height?e.width/e.naturalWidth:e.height/e.naturalHeight}(t);return o.height>o.width?o.height/(e.height*r):o.width/(e.width*r)}(e,t,r),n,a),c=r.height>r.width?r.height/e.height:r.width/e.width;return{crop:{x:((i.width-e.width)/2-e.x)*c,y:((i.height-e.height)/2-e.y)*c},zoom:s}}function b(e,t){return{x:(t.x+e.x)/2,y:(t.y+e.y)/2}}function E(e,t,o){var r=o*Math.PI/180;return{width:Math.abs(Math.cos(r)*e)+Math.abs(Math.sin(r)*t),height:Math.abs(Math.sin(r)*e)+Math.abs(Math.cos(r)*t)}}function x(e,t,o){return Math.min(Math.max(e,t),o)}function z(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return e.filter((function(e){return"string"==typeof e&&e.length>0})).join(" ").trim()}var M=function(e){function t(){var o=null!==e&&e.apply(this,arguments)||this;return o.imageRef=p().createRef(),o.videoRef=p().createRef(),o.containerRef=null,o.styleRef=null,o.containerRect=null,o.mediaSize={width:0,height:0,naturalWidth:0,naturalHeight:0},o.dragStartPosition={x:0,y:0},o.dragStartCrop={x:0,y:0},o.lastPinchDistance=0,o.lastPinchRotation=0,o.rafDragTimeout=null,o.rafPinchTimeout=null,o.wheelTimer=null,o.state={cropSize:null,hasWheelJustStarted:!1},o.preventZoomSafari=function(e){return e.preventDefault()},o.cleanEvents=function(){document.removeEventListener("mousemove",o.onMouseMove),document.removeEventListener("mouseup",o.onDragStopped),document.removeEventListener("touchmove",o.onTouchMove),document.removeEventListener("touchend",o.onDragStopped)},o.clearScrollEvent=function(){o.containerRef&&o.containerRef.removeEventListener("wheel",o.onWheel),o.wheelTimer&&clearTimeout(o.wheelTimer)},o.onMediaLoad=function(){var e=o.computeSizes();e&&(o.emitCropData(),o.setInitialCrop(e)),o.props.onMediaLoaded&&o.props.onMediaLoaded(o.mediaSize)},o.setInitialCrop=function(e){if(o.props.initialCroppedAreaPercentages){var t=C(o.props.initialCroppedAreaPercentages,o.mediaSize,o.props.rotation,e,o.props.minZoom,o.props.maxZoom),r=t.crop,n=t.zoom;o.props.onCropChange(r),o.props.onZoomChange&&o.props.onZoomChange(n)}else if(o.props.initialCroppedAreaPixels){var a=_(o.props.initialCroppedAreaPixels,o.mediaSize,o.props.rotation,e,o.props.minZoom,o.props.maxZoom);r=a.crop,n=a.zoom,o.props.onCropChange(r),o.props.onZoomChange&&o.props.onZoomChange(n)}},o.computeSizes=function(){var e,t,r,n,a,i,s=o.imageRef.current||o.videoRef.current;if(s&&o.containerRef){o.containerRect=o.containerRef.getBoundingClientRect();var l=o.containerRect.width/o.containerRect.height,p=(null===(e=o.imageRef.current)||void 0===e?void 0:e.naturalWidth)||(null===(t=o.videoRef.current)||void 0===t?void 0:t.videoWidth)||0,d=(null===(r=o.imageRef.current)||void 0===r?void 0:r.naturalHeight)||(null===(n=o.videoRef.current)||void 0===n?void 0:n.videoHeight)||0,h=p/d,m=void 0;if(s.offsetWidth<p||s.offsetHeight<d)switch(o.props.objectFit){default:case"contain":m=l>h?{width:o.containerRect.height*h,height:o.containerRect.height}:{width:o.containerRect.width,height:o.containerRect.width/h};break;case"horizontal-cover":m={width:o.containerRect.width,height:o.containerRect.width/h};break;case"vertical-cover":m={width:o.containerRect.height*h,height:o.containerRect.height};break;case"auto-cover":m=p>d?{width:o.containerRect.width,height:o.containerRect.width/h}:{width:o.containerRect.height*h,height:o.containerRect.height}}else m={width:s.offsetWidth,height:s.offsetHeight};o.mediaSize=c(c({},m),{naturalWidth:p,naturalHeight:d});var v=o.props.cropSize?o.props.cropSize:u(o.mediaSize.width,o.mediaSize.height,o.containerRect.width,o.containerRect.height,o.props.aspect,o.props.rotation);return(null===(a=o.state.cropSize)||void 0===a?void 0:a.height)===v.height&&(null===(i=o.state.cropSize)||void 0===i?void 0:i.width)===v.width||o.props.onCropSizeChange&&o.props.onCropSizeChange(v),o.setState({cropSize:v},o.recomputeCropPosition),v}},o.onMouseDown=function(e){e.preventDefault(),document.addEventListener("mousemove",o.onMouseMove),document.addEventListener("mouseup",o.onDragStopped),o.onDragStart(t.getMousePoint(e))},o.onMouseMove=function(e){return o.onDrag(t.getMousePoint(e))},o.onTouchStart=function(e){o.props.onTouchRequest&&!o.props.onTouchRequest(e)||(document.addEventListener("touchmove",o.onTouchMove,{passive:!1}),document.addEventListener("touchend",o.onDragStopped),2===e.touches.length?o.onPinchStart(e):1===e.touches.length&&o.onDragStart(t.getTouchPoint(e.touches[0])))},o.onTouchMove=function(e){e.preventDefault(),2===e.touches.length?o.onPinchMove(e):1===e.touches.length&&o.onDrag(t.getTouchPoint(e.touches[0]))},o.onDragStart=function(e){var t,r,n=e.x,a=e.y;o.dragStartPosition={x:n,y:a},o.dragStartCrop=c({},o.props.crop),null===(r=(t=o.props).onInteractionStart)||void 0===r||r.call(t)},o.onDrag=function(e){var t=e.x,r=e.y;o.rafDragTimeout&&window.cancelAnimationFrame(o.rafDragTimeout),o.rafDragTimeout=window.requestAnimationFrame((function(){if(o.state.cropSize&&void 0!==t&&void 0!==r){var e=t-o.dragStartPosition.x,n=r-o.dragStartPosition.y,a={x:o.dragStartCrop.x+e,y:o.dragStartCrop.y+n},i=o.props.restrictPosition?m(a,o.mediaSize,o.state.cropSize,o.props.zoom,o.props.rotation):a;o.props.onCropChange(i)}}))},o.onDragStopped=function(){var e,t;o.cleanEvents(),o.emitCropData(),null===(t=(e=o.props).onInteractionEnd)||void 0===t||t.call(e)},o.onWheel=function(e){if(!o.props.onWheelRequest||o.props.onWheelRequest(e)){e.preventDefault();var r=t.getMousePoint(e),n=h()(e).pixelY,a=o.props.zoom-n*o.props.zoomSpeed/200;o.setNewZoom(a,r),o.state.hasWheelJustStarted||o.setState({hasWheelJustStarted:!0},(function(){var e,t;return null===(t=(e=o.props).onInteractionStart)||void 0===t?void 0:t.call(e)})),o.wheelTimer&&clearTimeout(o.wheelTimer),o.wheelTimer=window.setTimeout((function(){return o.setState({hasWheelJustStarted:!1},(function(){var e,t;return null===(t=(e=o.props).onInteractionEnd)||void 0===t?void 0:t.call(e)}))}),250)}},o.getPointOnContainer=function(e){var t=e.x,r=e.y;if(!o.containerRect)throw new Error("The Cropper is not mounted");return{x:o.containerRect.width/2-(t-o.containerRect.left),y:o.containerRect.height/2-(r-o.containerRect.top)}},o.getPointOnMedia=function(e){var t=e.x,r=e.y,n=o.props,a=n.crop,i=n.zoom;return{x:(t+a.x)/i,y:(r+a.y)/i}},o.setNewZoom=function(e,t){if(o.state.cropSize&&o.props.onZoomChange){var r=o.getPointOnContainer(t),n=o.getPointOnMedia(r),a=x(e,o.props.minZoom,o.props.maxZoom),i={x:n.x*a-r.x,y:n.y*a-r.y},s=o.props.restrictPosition?m(i,o.mediaSize,o.state.cropSize,a,o.props.rotation):i;o.props.onCropChange(s),o.props.onZoomChange(a)}},o.getCropData=function(){return o.state.cropSize?w(o.props.restrictPosition?m(o.props.crop,o.mediaSize,o.state.cropSize,o.props.zoom,o.props.rotation):o.props.crop,o.mediaSize,o.state.cropSize,o.getAspect(),o.props.zoom,o.props.rotation,o.props.restrictPosition):null},o.emitCropData=function(){var e=o.getCropData();if(e){var t=e.croppedAreaPercentages,r=e.croppedAreaPixels;o.props.onCropComplete&&o.props.onCropComplete(t,r),o.props.onCropAreaChange&&o.props.onCropAreaChange(t,r)}},o.emitCropAreaChange=function(){var e=o.getCropData();if(e){var t=e.croppedAreaPercentages,r=e.croppedAreaPixels;o.props.onCropAreaChange&&o.props.onCropAreaChange(t,r)}},o.recomputeCropPosition=function(){if(o.state.cropSize){var e=o.props.restrictPosition?m(o.props.crop,o.mediaSize,o.state.cropSize,o.props.zoom,o.props.rotation):o.props.crop;o.props.onCropChange(e),o.emitCropData()}},o}return function(e,t){function __(){this.constructor=e}s(e,t),e.prototype=null===t?Object.create(t):(__.prototype=t.prototype,new __)}(t,e),t.prototype.componentDidMount=function(){window.addEventListener("resize",this.computeSizes),this.containerRef&&(this.props.zoomWithScroll&&this.containerRef.addEventListener("wheel",this.onWheel,{passive:!1}),this.containerRef.addEventListener("gesturestart",this.preventZoomSafari),this.containerRef.addEventListener("gesturechange",this.preventZoomSafari)),this.props.disableAutomaticStylesInjection||(this.styleRef=document.createElement("style"),this.styleRef.setAttribute("type","text/css"),this.props.nonce&&this.styleRef.setAttribute("nonce",this.props.nonce),this.styleRef.innerHTML=".reactEasyCrop_Container {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n overflow: hidden;\n user-select: none;\n touch-action: none;\n cursor: move;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n.reactEasyCrop_Image,\n.reactEasyCrop_Video {\n will-change: transform; /* this improves performances and prevent painting issues on iOS Chrome */\n}\n\n.reactEasyCrop_Contain {\n max-width: 100%;\n max-height: 100%;\n margin: auto;\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n}\n.reactEasyCrop_Cover_Horizontal {\n width: 100%;\n height: auto;\n}\n.reactEasyCrop_Cover_Vertical {\n width: auto;\n height: 100%;\n}\n\n.reactEasyCrop_CropArea {\n position: absolute;\n left: 50%;\n top: 50%;\n transform: translate(-50%, -50%);\n border: 1px solid rgba(255, 255, 255, 0.5);\n box-sizing: border-box;\n box-shadow: 0 0 0 9999em;\n color: rgba(0, 0, 0, 0.5);\n overflow: hidden;\n}\n\n.reactEasyCrop_CropAreaRound {\n border-radius: 50%;\n}\n\n.reactEasyCrop_CropAreaGrid::before {\n content: ' ';\n box-sizing: border-box;\n position: absolute;\n border: 1px solid rgba(255, 255, 255, 0.5);\n top: 0;\n bottom: 0;\n left: 33.33%;\n right: 33.33%;\n border-top: 0;\n border-bottom: 0;\n}\n\n.reactEasyCrop_CropAreaGrid::after {\n content: ' ';\n box-sizing: border-box;\n position: absolute;\n border: 1px solid rgba(255, 255, 255, 0.5);\n top: 33.33%;\n bottom: 33.33%;\n left: 0;\n right: 0;\n border-left: 0;\n border-right: 0;\n}\n",document.head.appendChild(this.styleRef)),this.imageRef.current&&this.imageRef.current.complete&&this.onMediaLoad(),this.props.setImageRef&&this.props.setImageRef(this.imageRef),this.props.setVideoRef&&this.props.setVideoRef(this.videoRef)},t.prototype.componentWillUnmount=function(){var e;window.removeEventListener("resize",this.computeSizes),this.containerRef&&(this.containerRef.removeEventListener("gesturestart",this.preventZoomSafari),this.containerRef.removeEventListener("gesturechange",this.preventZoomSafari)),this.styleRef&&(null===(e=this.styleRef.parentNode)||void 0===e||e.removeChild(this.styleRef)),this.cleanEvents(),this.props.zoomWithScroll&&this.clearScrollEvent()},t.prototype.componentDidUpdate=function(e){var t,o,r,n,a,i,s,c,l;e.rotation!==this.props.rotation?(this.computeSizes(),this.recomputeCropPosition()):e.aspect!==this.props.aspect?this.computeSizes():e.zoom!==this.props.zoom?this.recomputeCropPosition():(null===(t=e.cropSize)||void 0===t?void 0:t.height)!==(null===(o=this.props.cropSize)||void 0===o?void 0:o.height)||(null===(r=e.cropSize)||void 0===r?void 0:r.width)!==(null===(n=this.props.cropSize)||void 0===n?void 0:n.width)?this.computeSizes():(null===(a=e.crop)||void 0===a?void 0:a.x)===(null===(i=this.props.crop)||void 0===i?void 0:i.x)&&(null===(s=e.crop)||void 0===s?void 0:s.y)===(null===(c=this.props.crop)||void 0===c?void 0:c.y)||this.emitCropAreaChange(),e.zoomWithScroll!==this.props.zoomWithScroll&&this.containerRef&&(this.props.zoomWithScroll?this.containerRef.addEventListener("wheel",this.onWheel,{passive:!1}):this.clearScrollEvent()),e.video!==this.props.video&&(null===(l=this.videoRef.current)||void 0===l||l.load())},t.prototype.getAspect=function(){var e=this.props,t=e.cropSize,o=e.aspect;return t?t.width/t.height:o},t.prototype.onPinchStart=function(e){var o=t.getTouchPoint(e.touches[0]),r=t.getTouchPoint(e.touches[1]);this.lastPinchDistance=g(o,r),this.lastPinchRotation=f(o,r),this.onDragStart(b(o,r))},t.prototype.onPinchMove=function(e){var o=this,r=t.getTouchPoint(e.touches[0]),n=t.getTouchPoint(e.touches[1]),a=b(r,n);this.onDrag(a),this.rafPinchTimeout&&window.cancelAnimationFrame(this.rafPinchTimeout),this.rafPinchTimeout=window.requestAnimationFrame((function(){var e=g(r,n),t=o.props.zoom*(e/o.lastPinchDistance);o.setNewZoom(t,a),o.lastPinchDistance=e;var i=f(r,n),s=o.props.rotation+(i-o.lastPinchRotation);o.props.onRotationChange&&o.props.onRotationChange(s),o.lastPinchRotation=i}))},t.prototype.render=function(){var e=this,t=this.props,o=t.image,r=t.video,n=t.mediaProps,a=t.transform,i=t.crop,s=i.x,l=i.y,d=t.rotation,h=t.zoom,u=t.cropShape,m=t.showGrid,v=t.style,g=v.containerStyle,f=v.cropAreaStyle,w=v.mediaStyle,y=t.classes,S=y.containerClassName,C=y.cropAreaClassName,_=y.mediaClassName,b=t.objectFit;return p().createElement("div",{onMouseDown:this.onMouseDown,onTouchStart:this.onTouchStart,ref:function(t){return e.containerRef=t},"data-testid":"container",style:g,className:z("reactEasyCrop_Container",S)},o?p().createElement("img",c({alt:"",className:z("reactEasyCrop_Image","contain"===b&&"reactEasyCrop_Contain","horizontal-cover"===b&&"reactEasyCrop_Cover_Horizontal","vertical-cover"===b&&"reactEasyCrop_Cover_Vertical","auto-cover"===b&&(this.mediaSize.naturalWidth>this.mediaSize.naturalHeight?"reactEasyCrop_Cover_Horizontal":"reactEasyCrop_Cover_Vertical"),_)},n,{src:o,ref:this.imageRef,style:c(c({},w),{transform:a||"translate("+s+"px, "+l+"px) rotate("+d+"deg) scale("+h+")"}),onLoad:this.onMediaLoad})):r&&p().createElement("video",c({autoPlay:!0,loop:!0,muted:!0,className:z("reactEasyCrop_Video","contain"===b&&"reactEasyCrop_Contain","horizontal-cover"===b&&"reactEasyCrop_Cover_Horizontal","vertical-cover"===b&&"reactEasyCrop_Cover_Vertical","auto-cover"===b&&(this.mediaSize.naturalWidth>this.mediaSize.naturalHeight?"reactEasyCrop_Cover_Horizontal":"reactEasyCrop_Cover_Vertical"),_)},n,{ref:this.videoRef,onLoadedMetadata:this.onMediaLoad,style:c(c({},w),{transform:a||"translate("+s+"px, "+l+"px) rotate("+d+"deg) scale("+h+")"}),controls:!1}),(Array.isArray(r)?r:[{src:r}]).map((function(e){return p().createElement("source",c({key:e.src},e))}))),this.state.cropSize&&p().createElement("div",{style:c(c({},f),{width:this.state.cropSize.width,height:this.state.cropSize.height}),"data-testid":"cropper",className:z("reactEasyCrop_CropArea","round"===u&&"reactEasyCrop_CropAreaRound",m&&"reactEasyCrop_CropAreaGrid",C)}))},t.defaultProps={zoom:1,rotation:0,aspect:4/3,maxZoom:3,minZoom:1,cropShape:"rect",objectFit:"contain",showGrid:!0,style:{},classes:{},mediaProps:{},zoomSpeed:1,restrictPosition:!0,zoomWithScroll:!0},t.getMousePoint=function(e){return{x:Number(e.clientX),y:Number(e.clientY)}},t.getTouchPoint=function(e){return{x:Number(e.clientX),y:Number(e.clientY)}},t}(p().Component),R=M;const P=e=>new Promise(((t,o)=>{const r=new Image;r.addEventListener("load",(()=>t(r))),r.addEventListener("error",(e=>o(e))),r.setAttribute("crossOrigin","anonymous"),r.src=e}));function A(e){return e*Math.PI/180}function L(e,t,o){const r=A(o);return{width:Math.abs(Math.cos(r)*e)+Math.abs(Math.sin(r)*t),height:Math.abs(Math.sin(r)*e)+Math.abs(Math.cos(r)*t)}}document.addEventListener("DOMContentLoaded",(function(e){(()=>{const e=document.querySelectorAll(".learn-press-course-tab__filter__content"),o=function(e,o){let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],a=arguments.length>3&&void 0!==arguments[3]&&arguments[3];wp.apiFetch({path:(0,t.addQueryArgs)("lp/v1/profile/course-tab",o),method:"GET"}).then((t=>{const i=e.querySelector(".lp-skeleton-animation");if(i&&i.remove(),"success"===t.status&&t.data?n?e.innerHTML+=t.data:e.innerHTML=t.data:n?e.innerHTML+=`<div class="lp-ajax-message" style="display:block">${t.message&&t.message}</div>`:e.innerHTML=`<div class="lp-ajax-message" style="display:block">${t.message&&t.message}</div>`,a){a.classList.remove("loading");const e=a.dataset.paged;a.dataset.number<=e&&a.remove(),a.dataset.paged=parseInt(e)+1}r(e,o)})).catch((t=>{if(n?e.innerHTML+=`<div class="lp-ajax-message error" style="display:block">${t.message&&t.message}</div>`:e.innerHTML=`<div class="lp-ajax-message error" style="display:block">${t.message&&t.message}</div>`,a){a.classList.remove("loading");const e=a.dataset.paged;a.dataset.number<=e&&a.remove(),a.dataset.paged=parseInt(e)+1}}))};if("IntersectionObserver"in window){const t=new IntersectionObserver(((e,r)=>{e.forEach((e=>{if(e.isIntersecting){const r=e.target,n=r.parentNode.querySelector(".lp_profile_tab_input_param"),a={...JSON.parse(n.value),status:r.dataset.tab||""};o(r,a),t.unobserve(r)}}))}));[...e].map((e=>{if("all"!==e.dataset.tab)t.observe(e);else{const t=e.parentNode.querySelector(".lp_profile_tab_input_param"),r={...JSON.parse(t.value),status:"all"===e.dataset.tab?"":e.dataset.tab||""};o(e,r)}}))}document.querySelectorAll(".learn-press-course-tab-filters").forEach((e=>{const t=e.querySelectorAll(".learn-press-filters a");t.forEach((o=>{o.addEventListener("click",(r=>{r.preventDefault();const n=o.dataset.tab;[...t].map((e=>{e.classList.remove("active")})),o.classList.add("active"),[...e.querySelectorAll(".learn-press-course-tab__filter__content")].map((e=>{e.style.display="none",e.dataset.tab===n&&(e.style.display="")}))}))}))})),document.querySelectorAll(".learn-press-profile-course__tab__inner").forEach((e=>{const t=e.querySelectorAll("li> a");t.forEach((e=>{e.addEventListener("click",(o=>{o.preventDefault();const r=e.dataset.tab;[...t].map((e=>{e.classList.remove("active")})),e.classList.add("active"),[...document.querySelectorAll(".learn-press-course-tab-filters")].map((e=>{e.style.display="none",e.dataset.tab===r&&(e.style.display="")}))}))}))}));const r=(e,t)=>{const r=e.querySelector("button[data-paged]");r&&r.addEventListener("click",(n=>{n.preventDefault();const a=r&&r.dataset.paged;r.classList.add("loading");const i="list"===t.layout?".lp_profile_course_progress":".learn-press-courses";o(e.querySelector(i),{...t,paged:a},!0,r)}))}})(),(()=>{const e=document.querySelector(".learn-press-profile-course__statistic");if(!e)return;const o=document.querySelector('[name="args_query_user_courses_statistic"]');if(!o)return;const r=JSON.parse(o.value);var n,a;n=e,a=r,wp.apiFetch({path:(0,t.addQueryArgs)("lp/v1/profile/statistic",a),method:"GET"}).then((e=>{"success"===e.status&&e.data?n.innerHTML=e.data:n.innerHTML=`<div class="lp-ajax-message error" style="display:block">${e.message&&e.message}</div>`})).catch((e=>{console.log(e)}))})(),function(){const e=r(".order-recover"),t=e.find(".button-recover-order");t.on("click",(()=>{e.find(".learn-press-message").remove(),r(".profile-recover-order").find(".learn-press-message").remove(),r.post({url:"",data:e.serializeJSON(),beforeSend(){t.addClass("loading").attr("disabled","disabled")},success(o){if((o=LP.parseJSON(o)).message){const t=r('<div class="learn-press-message icon"><i class="fa"></i> '+o.message+"</div>");"error"==o.result&&t.addClass("error"),e.before(t)}o.redirect&&(window.location.href=o.redirect),t.removeClass("loading").removeAttr("disabled","")},error(){t.removeClass("loading").removeAttr("disabled","")}})}))}()})),document.getElementById("learnpress-avatar-upload")&&wp.element.render((0,e.createElement)((function(){const[t,o]=(0,e.useState)(),[r,n]=(0,e.useState)(0),[s,c]=(0,e.useState)(0),[l,p]=(0,e.useState)({x:0,y:0}),[d,h]=(0,e.useState)(0),[u,m]=(0,e.useState)(null),[v,g]=(0,e.useState)(0),[f,w]=(0,e.useState)(0),[y,S]=(0,e.useState)(!1),[C,_]=(0,e.useState)(!0),[b,E]=(0,e.useState)(""),[x,z]=(0,e.useState)({type:"",message:""}),M=(0,e.useRef)();(0,e.useEffect)((()=>{!async function(){_(!0);try{var e,t,r;const i=await a()({method:"GET",path:"lp/v1/profile/get-avatar"});n(null!=i&&null!==(e=i.data)&&void 0!==e&&e.width?parseInt(i.data.width):0),c(null!=i&&null!==(t=i.data)&&void 0!==t&&t.height?parseInt(i.data.height):0),o(null!=i&&null!==(r=i.data)&&void 0!==r&&r.url?i.data.url:"")}catch(e){z({type:"error",message:e.message})}_(!1)}()}),[]);const D=(0,e.useCallback)(((e,t)=>{m(t)}),[]),T=(0,e.useCallback)((async()=>{S({save:!0});try{const e=await async function(e,t){let o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{horizontal:!1,vertical:!1};const n=await P(e),a=document.createElement("canvas"),i=a.getContext("2d");if(!i)return null;const s=A(o),{width:c,height:l}=L(n.width,n.height,o);a.width=c,a.height=l,i.translate(c/2,l/2),i.rotate(s),i.scale(r.horizontal?-1:1,r.vertical?-1:1),i.translate(-n.width/2,-n.height/2),i.drawImage(n,0,0);const p=i.getImageData(t.x,t.y,t.width,t.height);return a.width=t.width,a.height=t.height,i.putImageData(p,0,0),a.toDataURL("image/jpeg")}(t,u,d),o=await((e,t,o)=>new Promise(((r,n)=>{const a=document.createElement("canvas"),i=document.createElement("img");i.src=e,i.setAttribute("crossOrigin","anonymous"),i.onload=()=>{(i.naturalWidth>t||i.naturalHeight>o)&&(a.width=t,a.height=o,a.getContext("2d").drawImage(i,0,0,t,o),r(a.toDataURL("image/jpeg"))),r(e)},i.onerror=e=>n(e)})))(e,r,s),n=await a()({path:"lp/v1/profile/upload-avatar",method:"POST",data:{file:o||""}}),{data:i,status:c,message:l}=await n;"success"===c&&window.location.reload(),z({type:c,message:l})}catch(e){z({type:"error",message:e.message||""})}S({save:!1})}),[u,d]);return(0,e.createElement)("div",{className:"learnpress_avatar"},C?(0,e.createElement)("ul",{className:"lp-skeleton-animation"},(0,e.createElement)("li",{style:{width:200,height:200}}),(0,e.createElement)("li",{style:{width:200,height:20}}),(0,e.createElement)("li",{style:{width:200,height:20}})):(0,e.createElement)(e.Fragment,null,t&&!b&&(0,e.createElement)(e.Fragment,null,f&&v?(0,e.createElement)("div",{className:"learnpress_avatar__cropper"},(0,e.createElement)("div",{style:{position:"relative",width:v,height:f,zIndex:9999,maxWidth:"100%",maxHeight:"800px"}},(0,e.createElement)(R,{image:t,crop:l,zoom:"1",cropSize:{width:r,height:s},onCropChange:p,onCropComplete:D})),(0,e.createElement)("div",null,(0,e.createElement)("button",{className:"learnpress_avatar__button learnpress_avatar__button--save "+(null!=y&&y.save?"learnpress_avatar__button--loading":""),onClick:T},(0,i.__)("Save","learnpress")))):(0,e.createElement)("div",{className:"learnpress_avatar__cropper"},(0,e.createElement)("img",{src:t,alt:""}),(0,e.createElement)("div",null,(0,e.createElement)("button",{className:"learnpress_avatar__button learnpress_avatar__button--replace",onClick:()=>M.current&&M.current.click()},(0,i.__)("Replace","learnpress")),(0,e.createElement)("button",{className:"learnpress_avatar__button learnpress_avatar__button--remove "+(null!=y&&y.remove?"learnpress_avatar__button--loading":""),onClick:async function(){if(confirm((0,i.__)("Are you sure you want to remove your avatar?","learnpress"))){S({remove:!0});try{const e=await a()({path:"lp/v1/profile/remove-avatar",method:"POST"}),{data:t,status:r,message:n}=await e;z({type:r,message:n}),o("")}catch(e){z({type:"error",message:e.message||""})}S({remove:!1})}}},(0,i.__)("Remove","learnpress"))))),(0,e.createElement)("form",{style:{display:t?"none":""}},(0,e.createElement)("div",{className:"learnpress_avatar__form"},(0,e.createElement)("div",{className:"learnpress_avatar__form-group"},(0,e.createElement)("label",{htmlFor:"avatar-file"},(0,e.createElement)("div",{className:"learnpress_avatar__form__upload"},(0,e.createElement)("div",null,(0,e.createElement)("span",null,(0,e.createElement)("svg",{viewBox:"64 64 896 896",focusable:"false","data-icon":"plus",width:"1em",height:"1em",fill:"currentColor","aria-hidden":"true"},(0,e.createElement)("defs",null,(0,e.createElement)("style",null)),(0,e.createElement)("path",{d:"M482 152h60q8 0 8 8v704q0 8-8 8h-60q-8 0-8-8V160q0-8 8-8z"}),(0,e.createElement)("path",{d:"M176 474h672q8 0 8 8v60q0 8-8 8H176q-8 0-8-8v-60q0-8 8-8z"}))),(0,e.createElement)("div",null,(0,i.__)("Upload","learnpress")))),(0,e.createElement)("input",{ref:M,type:"file",id:"avatar-file",accept:"image/*",onChange:e=>(async e=>{const t=await function(e){return new Promise((t=>{const o=new FileReader;o.addEventListener("load",(()=>t(o.result)),!1),o.readAsDataURL(e)}))}(e),n=new Image;n.src=await t,n.onload=await(function(){g(n.naturalWidth),w(n.naturalHeight);let a="";parseInt(e.size)>2097152?a=(0,i.__)("The file size is too large. You need to upload a file < 2MB.","learnpress"):(n.naturalWidth<r||n.naturalHeight<s)&&(a=(0,i.sprintf)((0,i.__)("The image size must be greater than or equal to %1$sx%2$spx","learnpress"),r,s)),a?E(a):(E(""),o(t))})})(e.target.files&&e.target.files.length>0?e.target.files[0]:"")}))))),b&&(0,e.createElement)("div",{className:"lp-ajax-message error",style:{display:"block"}},b),!b&&x&&x.type&&x.message&&(0,e.createElement)("div",{className:`lp-ajax-message ${x.type}`,style:{display:"block"}},x.message)))}),null),document.getElementById("learnpress-avatar-upload"))}()}();
|
@@ -245,10 +245,6 @@ const lpGetFinalQuiz = () => {
|
|
245 |
} );
|
246 |
|
247 |
const getResponse = async ( btn ) => {
|
248 |
-
if ( ! lpGlobalSettings.root ) {
|
249 |
-
return;
|
250 |
-
}
|
251 |
-
|
252 |
const response = await wp.apiFetch( {
|
253 |
path: 'lp/v1/admin/course/get_final_quiz',
|
254 |
method: 'POST',
|
245 |
} );
|
246 |
|
247 |
const getResponse = async ( btn ) => {
|
|
|
|
|
|
|
|
|
248 |
const response = await wp.apiFetch( {
|
249 |
path: 'lp/v1/admin/course/get_final_quiz',
|
250 |
method: 'POST',
|
@@ -0,0 +1,22 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* Class Singleton
|
5 |
+
*/
|
6 |
+
|
7 |
+
namespace LearnPress;
|
8 |
+
|
9 |
+
trait Singleton {
|
10 |
+
private static $instance = null;
|
11 |
+
final public static function getInstance() {
|
12 |
+
if ( is_null( static::$instance ) ) {
|
13 |
+
static::$instance = new static();
|
14 |
+
}
|
15 |
+
|
16 |
+
return static::$instance;
|
17 |
+
}
|
18 |
+
|
19 |
+
final private function __construct() {
|
20 |
+
parent::__construct();
|
21 |
+
}
|
22 |
+
}
|
@@ -0,0 +1,159 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace LearnPress\Helpers;
|
4 |
+
|
5 |
+
/**
|
6 |
+
* Class Template
|
7 |
+
*
|
8 |
+
* @package LearnPress\Helpers
|
9 |
+
* @since 1.0.0
|
10 |
+
* @version 1.0.0
|
11 |
+
*/
|
12 |
+
class Template {
|
13 |
+
/**
|
14 |
+
* @var bool
|
15 |
+
*/
|
16 |
+
protected $include;
|
17 |
+
|
18 |
+
protected function __construct() {
|
19 |
+
|
20 |
+
}
|
21 |
+
|
22 |
+
/**
|
23 |
+
* Set 1 for include file, 0 for not
|
24 |
+
* Set 1 for separate template is block, 0 for not | use "wp_is_block_theme" function
|
25 |
+
*
|
26 |
+
* @param bool $include
|
27 |
+
*
|
28 |
+
* @return self
|
29 |
+
*/
|
30 |
+
public static function instance( bool $include = true ): Template {
|
31 |
+
$self = new self();
|
32 |
+
$self->include = $include;
|
33 |
+
|
34 |
+
return $self;
|
35 |
+
}
|
36 |
+
|
37 |
+
/**
|
38 |
+
* Get template admin file
|
39 |
+
*
|
40 |
+
* @param string $file_name
|
41 |
+
* @param array $args
|
42 |
+
*
|
43 |
+
* @return void
|
44 |
+
* @since 1.0.0
|
45 |
+
* @version 1.0.0
|
46 |
+
*/
|
47 |
+
public function get_admin_template( string $file_name = '', array $args = array() ) {
|
48 |
+
$file_name = str_replace( '.php', '', $file_name );
|
49 |
+
$path_file = REALPRESS_VIEWS . "admin/{$file_name}.php";
|
50 |
+
|
51 |
+
$this->get_template( $path_file, $args );
|
52 |
+
}
|
53 |
+
|
54 |
+
/**
|
55 |
+
* Get template frontend file
|
56 |
+
*
|
57 |
+
* @param string $file_name
|
58 |
+
* @param array $args
|
59 |
+
*
|
60 |
+
* @return void
|
61 |
+
* @since 1.0.0
|
62 |
+
* @version 1.0.0
|
63 |
+
*/
|
64 |
+
public function get_frontend_template( string $file_name = '', array $args = array() ) {
|
65 |
+
$default_path = LP_PLUGIN_PATH . "templates/{$file_name}";
|
66 |
+
$folder_name_rewrite = apply_filters( 'learn-press/folder-name-override', LP_PLUGIN_FOLDER_NAME );
|
67 |
+
|
68 |
+
$from_theme_path = get_template_directory() . DIRECTORY_SEPARATOR . $folder_name_rewrite . DIRECTORY_SEPARATOR . $file_name;
|
69 |
+
$path_load = file_exists( $from_theme_path ) ? $from_theme_path : $default_path;
|
70 |
+
|
71 |
+
$template = $this->get_template( $path_load, $args );
|
72 |
+
|
73 |
+
if ( ! $this->include ) {
|
74 |
+
return $template;
|
75 |
+
}
|
76 |
+
}
|
77 |
+
|
78 |
+
/**
|
79 |
+
* Get frontend template block file
|
80 |
+
*
|
81 |
+
* @param string $file_name
|
82 |
+
* @param array $args
|
83 |
+
*
|
84 |
+
* @return string|void
|
85 |
+
*/
|
86 |
+
public function get_frontend_template_type_block( string $file_name = '', array $args = array() ) {
|
87 |
+
$file_name = "block/{$file_name}";
|
88 |
+
$template = $this->get_frontend_template( $file_name, $args );
|
89 |
+
|
90 |
+
if ( ! $this->include ) {
|
91 |
+
return $template;
|
92 |
+
}
|
93 |
+
}
|
94 |
+
|
95 |
+
/**
|
96 |
+
* Get frontend template file
|
97 |
+
*
|
98 |
+
* @param string $file_name
|
99 |
+
* @param array $args
|
100 |
+
*
|
101 |
+
* @return string|void
|
102 |
+
*/
|
103 |
+
public function get_frontend_template_type_classic( string $file_name = '', array $args = array() ) {
|
104 |
+
$file_name = "classic/{$file_name}";
|
105 |
+
$template = $this->get_frontend_template( $file_name, $args );
|
106 |
+
|
107 |
+
if ( ! $this->include ) {
|
108 |
+
return $template;
|
109 |
+
}
|
110 |
+
}
|
111 |
+
|
112 |
+
/**
|
113 |
+
* Get frontend group template files
|
114 |
+
*
|
115 |
+
* @param array $file_names
|
116 |
+
* @param array $args
|
117 |
+
*
|
118 |
+
* @return void
|
119 |
+
* @version 1.0.0
|
120 |
+
* @since 1.0.1
|
121 |
+
*/
|
122 |
+
public function get_frontend_templates_type_classic( array $file_names = array(), array $args = array() ) {
|
123 |
+
foreach ( $file_names as $file_name ) {
|
124 |
+
$search_extension = strrpos( $file_name, '.php' );
|
125 |
+
if ( ! $search_extension ) {
|
126 |
+
$file_name .= '.php';
|
127 |
+
}
|
128 |
+
|
129 |
+
$this->get_frontend_template_type_classic( $file_name, $args );
|
130 |
+
}
|
131 |
+
}
|
132 |
+
|
133 |
+
/**
|
134 |
+
* Include path file
|
135 |
+
*
|
136 |
+
* @param string $path_file
|
137 |
+
* @param array $args
|
138 |
+
*
|
139 |
+
* @return string|void
|
140 |
+
* @since 1.0.0
|
141 |
+
* @version 1.0.0
|
142 |
+
*/
|
143 |
+
protected function get_template( string $path_file, array $args = array() ) {
|
144 |
+
extract( $args );
|
145 |
+
if ( file_exists( $path_file ) ) {
|
146 |
+
if ( $this->include ) {
|
147 |
+
include $path_file;
|
148 |
+
} else {
|
149 |
+
return $path_file;
|
150 |
+
}
|
151 |
+
} else {
|
152 |
+
printf( esc_html__( 'Path %s not exists.', 'realpress' ), $path_file );
|
153 |
+
?>
|
154 |
+
<br>
|
155 |
+
<?php
|
156 |
+
}
|
157 |
+
}
|
158 |
+
}
|
159 |
+
|
@@ -75,24 +75,17 @@ class LP_Addon {
|
|
75 |
* LP_Addon constructor.
|
76 |
*/
|
77 |
public function __construct() {
|
78 |
-
|
79 |
$this->_define_constants();
|
80 |
-
|
81 |
-
// if ( ! $this->_check_version() ) {
|
82 |
-
// return;
|
83 |
-
// }
|
84 |
-
|
85 |
-
/**
|
86 |
-
* After all addons lp config by key "Require_LP_Version" can remove hook
|
87 |
-
*/
|
88 |
-
//add_action( 'plugins_loaded', array( $this, 'check_require_version_lp' ), - 9 );
|
89 |
-
|
90 |
$this->_includes();
|
91 |
|
92 |
add_action( 'init', array( $this, 'init' ) );
|
93 |
}
|
94 |
|
|
|
|
|
|
|
95 |
public static function admin_errors() {
|
|
|
96 |
if ( ! self::$_admin_notices ) {
|
97 |
return;
|
98 |
}
|
@@ -120,10 +113,6 @@ class LP_Addon {
|
|
120 |
* Init
|
121 |
*/
|
122 |
public function init() {
|
123 |
-
// if ( ! $this->_check_version() ) {
|
124 |
-
// return;
|
125 |
-
// }
|
126 |
-
|
127 |
$this->load_text_domain();
|
128 |
|
129 |
add_filter(
|
@@ -348,13 +337,13 @@ class LP_Addon {
|
|
348 |
/**
|
349 |
* Load Addon
|
350 |
*
|
351 |
-
* @param
|
352 |
-
* @param
|
353 |
* @param string $plugin_file
|
354 |
*
|
355 |
* @return void|mixed
|
356 |
*/
|
357 |
-
public static function load( $instance, $path, $plugin_file = '' ) {
|
358 |
$plugin_folder = '';
|
359 |
|
360 |
if ( $plugin_file ) {
|
@@ -366,9 +355,11 @@ class LP_Addon {
|
|
366 |
}
|
367 |
|
368 |
if ( ! file_exists( $path ) ) {
|
369 |
-
|
370 |
-
|
371 |
-
|
|
|
|
|
372 |
);
|
373 |
|
374 |
return;
|
@@ -377,29 +368,28 @@ class LP_Addon {
|
|
377 |
include_once $path;
|
378 |
$addon_instance = null;
|
379 |
|
380 |
-
if (
|
381 |
-
$
|
382 |
-
if ( is_callable( array( $instance, 'instance' ) ) ) {
|
383 |
-
$addon_instance = call_user_func( array( $instance, 'instance' ) );
|
384 |
-
} else {
|
385 |
$addon_instance = new $instance();
|
386 |
}
|
387 |
-
}
|
388 |
|
389 |
-
|
390 |
-
|
391 |
-
|
392 |
-
|
393 |
-
|
|
|
|
|
394 |
|
395 |
-
|
396 |
-
|
397 |
|
398 |
-
|
399 |
|
400 |
-
|
|
|
401 |
|
402 |
-
return $
|
403 |
}
|
404 |
|
405 |
public function get_plugin_url( $sub = '/' ) {
|
@@ -484,6 +474,8 @@ class LP_Addon {
|
|
484 |
|
485 |
/**
|
486 |
* @return mixed
|
|
|
|
|
487 |
*/
|
488 |
public static function instance() {
|
489 |
$name = self::_get_called_class();
|
@@ -500,6 +492,7 @@ class LP_Addon {
|
|
500 |
|
501 |
/**
|
502 |
* @return bool|string
|
|
|
503 |
*/
|
504 |
protected static function _get_called_class() {
|
505 |
if ( function_exists( 'get_called_class' ) ) {
|
@@ -520,4 +513,4 @@ class LP_Addon {
|
|
520 |
}
|
521 |
}
|
522 |
|
523 |
-
add_action( 'admin_notices', array( 'LP_Addon', 'admin_errors' ) );
|
75 |
* LP_Addon constructor.
|
76 |
*/
|
77 |
public function __construct() {
|
|
|
78 |
$this->_define_constants();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
79 |
$this->_includes();
|
80 |
|
81 |
add_action( 'init', array( $this, 'init' ) );
|
82 |
}
|
83 |
|
84 |
+
/**
|
85 |
+
* @deprecated 4.2.0
|
86 |
+
*/
|
87 |
public static function admin_errors() {
|
88 |
+
_deprecated_function( __METHOD__, '4.2.0' );
|
89 |
if ( ! self::$_admin_notices ) {
|
90 |
return;
|
91 |
}
|
113 |
* Init
|
114 |
*/
|
115 |
public function init() {
|
|
|
|
|
|
|
|
|
116 |
$this->load_text_domain();
|
117 |
|
118 |
add_filter(
|
337 |
/**
|
338 |
* Load Addon
|
339 |
*
|
340 |
+
* @param string $instance
|
341 |
+
* @param string $path
|
342 |
* @param string $plugin_file
|
343 |
*
|
344 |
* @return void|mixed
|
345 |
*/
|
346 |
+
public static function load( string $instance = '', string $path = '', string $plugin_file = '' ) {
|
347 |
$plugin_folder = '';
|
348 |
|
349 |
if ( $plugin_file ) {
|
355 |
}
|
356 |
|
357 |
if ( ! file_exists( $path ) ) {
|
358 |
+
error_log(
|
359 |
+
sprintf(
|
360 |
+
__( '%s plugin file does not exist.', 'learnpress' ),
|
361 |
+
$path
|
362 |
+
)
|
363 |
);
|
364 |
|
365 |
return;
|
368 |
include_once $path;
|
369 |
$addon_instance = null;
|
370 |
|
371 |
+
if ( ! array_key_exists( $instance, self::$instances ) ) {
|
372 |
+
if ( class_exists( $instance ) ) {
|
|
|
|
|
|
|
373 |
$addon_instance = new $instance();
|
374 |
}
|
|
|
375 |
|
376 |
+
if ( ! $addon_instance ) {
|
377 |
+
error_log(
|
378 |
+
sprintf(
|
379 |
+
__( '%s plugin class does not exist.', 'learnpress' ),
|
380 |
+
$instance
|
381 |
+
)
|
382 |
+
);
|
383 |
|
384 |
+
return;
|
385 |
+
}
|
386 |
|
387 |
+
$addon_instance->plugin_file = $plugin_file;
|
388 |
|
389 |
+
self::$instances[ $instance ] = $addon_instance;
|
390 |
+
}
|
391 |
|
392 |
+
return self::$instances[ $instance ];
|
393 |
}
|
394 |
|
395 |
public function get_plugin_url( $sub = '/' ) {
|
474 |
|
475 |
/**
|
476 |
* @return mixed
|
477 |
+
* @deprecated 4.2.0
|
478 |
+
* using on the addons: co-instructor(4.0.1), wishlist(4.0.4), announcements(4.0.3), course-review, coming-soon ...
|
479 |
*/
|
480 |
public static function instance() {
|
481 |
$name = self::_get_called_class();
|
492 |
|
493 |
/**
|
494 |
* @return bool|string
|
495 |
+
* @deprecated 4.2.0
|
496 |
*/
|
497 |
protected static function _get_called_class() {
|
498 |
if ( function_exists( 'get_called_class' ) ) {
|
513 |
}
|
514 |
}
|
515 |
|
516 |
+
//add_action( 'admin_notices', array( 'LP_Addon', 'admin_errors' ) );
|
@@ -3,7 +3,7 @@
|
|
3 |
/**
|
4 |
* Class LP_Array_Access
|
5 |
*/
|
6 |
-
class LP_Array_Access
|
7 |
|
8 |
/**
|
9 |
* @var array
|
3 |
/**
|
4 |
* Class LP_Array_Access
|
5 |
*/
|
6 |
+
class LP_Array_Access {
|
7 |
|
8 |
/**
|
9 |
* @var array
|
@@ -239,7 +239,6 @@ if ( ! class_exists( 'LP_Abstract_Object_Data' ) ) {
|
|
239 |
* @param bool $extra
|
240 |
*/
|
241 |
protected function _set_data( $key_or_data, $value = '', $extra = false ) {
|
242 |
-
|
243 |
if ( is_array( $key_or_data ) ) {
|
244 |
foreach ( $key_or_data as $key => $value ) {
|
245 |
$this->_set_data( $key, $value, $extra );
|
239 |
* @param bool $extra
|
240 |
*/
|
241 |
protected function _set_data( $key_or_data, $value = '', $extra = false ) {
|
|
|
242 |
if ( is_array( $key_or_data ) ) {
|
243 |
foreach ( $key_or_data as $key => $value ) {
|
244 |
$this->_set_data( $key, $value, $extra );
|
@@ -1,57 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* Class LP_Abstract_Singleton
|
4 |
-
*/
|
5 |
-
abstract class LP_Abstract_Singleton {
|
6 |
-
|
7 |
-
/**
|
8 |
-
* Array of singleton classes.
|
9 |
-
*
|
10 |
-
* @var array
|
11 |
-
*/
|
12 |
-
protected static $instances = array();
|
13 |
-
|
14 |
-
/**
|
15 |
-
* LP_Abstract_Singleton constructor.
|
16 |
-
*/
|
17 |
-
protected function __construct() {
|
18 |
-
}
|
19 |
-
|
20 |
-
/**
|
21 |
-
* @return mixed
|
22 |
-
*/
|
23 |
-
public static function instance() {
|
24 |
-
$name = self::_get_called_class();
|
25 |
-
|
26 |
-
if ( false === $name ) {
|
27 |
-
return false;
|
28 |
-
}
|
29 |
-
|
30 |
-
if ( empty( self::$instances[ $name ] ) ) {
|
31 |
-
self::$instances[ $name ] = new $name();
|
32 |
-
}
|
33 |
-
|
34 |
-
return self::$instances[ $name ];
|
35 |
-
}
|
36 |
-
|
37 |
-
/**
|
38 |
-
* @return bool|string
|
39 |
-
*/
|
40 |
-
protected static function _get_called_class() {
|
41 |
-
if ( function_exists( 'get_called_class' ) ) {
|
42 |
-
return get_called_class();
|
43 |
-
}
|
44 |
-
|
45 |
-
$backtrace = debug_backtrace();
|
46 |
-
|
47 |
-
if ( empty( $backtrace[2] ) ) {
|
48 |
-
return false;
|
49 |
-
}
|
50 |
-
|
51 |
-
if ( empty( $backtrace[2]['args'][0] ) ) {
|
52 |
-
return false;
|
53 |
-
}
|
54 |
-
|
55 |
-
return $backtrace[2]['args'][0];
|
56 |
-
}
|
57 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -336,10 +336,9 @@ class LP_Admin_Assets extends LP_Abstract_Assets {
|
|
336 |
if ( empty( $screen_id ) ) {
|
337 |
return;
|
338 |
}
|
339 |
-
wp_enqueue_media();
|
340 |
|
|
|
341 |
$this->handle_js( $screen_id );
|
342 |
-
|
343 |
$this->handle_style( $screen_id );
|
344 |
|
345 |
do_action( 'learn-press/admin/after-enqueue-scripts' );
|
336 |
if ( empty( $screen_id ) ) {
|
337 |
return;
|
338 |
}
|
|
|
339 |
|
340 |
+
wp_enqueue_media(); //Todo: tungnx need check why call for that using.
|
341 |
$this->handle_js( $screen_id );
|
|
|
342 |
$this->handle_style( $screen_id );
|
343 |
|
344 |
do_action( 'learn-press/admin/after-enqueue-scripts' );
|
@@ -48,11 +48,8 @@ if ( ! class_exists( 'LP_Admin_Dashboard' ) ) {
|
|
48 |
<?php
|
49 |
$eduma_data = $this->_get_theme_info( 14058034 );
|
50 |
|
51 |
-
if ( function_exists( 'learn_press_get_item_referral' ) ) {
|
52 |
-
$eduma_data['url'] = learn_press_get_item_referral( 14058034 );
|
53 |
-
}
|
54 |
-
|
55 |
if ( ! empty( $eduma_data ) ) {
|
|
|
56 |
?>
|
57 |
|
58 |
<li class="clear"></li>
|
@@ -100,9 +97,11 @@ if ( ! class_exists( 'LP_Admin_Dashboard' ) ) {
|
|
100 |
* Get total value of LP orders has completed.
|
101 |
*
|
102 |
* @return int|string
|
|
|
103 |
*/
|
104 |
private function _get_order_total_raised() {
|
105 |
-
|
|
|
106 |
$total = 0;
|
107 |
|
108 |
if ( $orders ) {
|
@@ -112,7 +111,7 @@ if ( ! class_exists( 'LP_Admin_Dashboard' ) ) {
|
|
112 |
}
|
113 |
}
|
114 |
|
115 |
-
return learn_press_format_price( $total, true )
|
116 |
}
|
117 |
|
118 |
/**
|
@@ -123,7 +122,7 @@ if ( ! class_exists( 'LP_Admin_Dashboard' ) ) {
|
|
123 |
private function _get_theme_info( $item_id ) {
|
124 |
$alls = LP_Plugins_Helper::get_related_themes();
|
125 |
|
126 |
-
if (
|
127 |
return false;
|
128 |
}
|
129 |
|
48 |
<?php
|
49 |
$eduma_data = $this->_get_theme_info( 14058034 );
|
50 |
|
|
|
|
|
|
|
|
|
51 |
if ( ! empty( $eduma_data ) ) {
|
52 |
+
$eduma_data['url'] = learn_press_get_item_referral( 14058034 );
|
53 |
?>
|
54 |
|
55 |
<li class="clear"></li>
|
97 |
* Get total value of LP orders has completed.
|
98 |
*
|
99 |
* @return int|string
|
100 |
+
* @deprecated 4.1.7.4
|
101 |
*/
|
102 |
private function _get_order_total_raised() {
|
103 |
+
_deprecated_function( __METHOD__, '4.1.7.4' );
|
104 |
+
/*$orders = learn_press_get_orders( array( 'post_status' => 'lp-completed' ) );
|
105 |
$total = 0;
|
106 |
|
107 |
if ( $orders ) {
|
111 |
}
|
112 |
}
|
113 |
|
114 |
+
return learn_press_format_price( $total, true );*/
|
115 |
}
|
116 |
|
117 |
/**
|
122 |
private function _get_theme_info( $item_id ) {
|
123 |
$alls = LP_Plugins_Helper::get_related_themes();
|
124 |
|
125 |
+
if ( empty( $alls ) ) {
|
126 |
return false;
|
127 |
}
|
128 |
|
@@ -514,7 +514,7 @@ if ( ! function_exists( 'learn_press_get_item_referral' ) ) {
|
|
514 |
21680592 => 'https://1.envato.market/qqO6y',
|
515 |
);
|
516 |
|
517 |
-
return
|
518 |
}
|
519 |
}
|
520 |
|
@@ -1187,8 +1187,8 @@ function learn_press_get_chart_courses( $from = null, $by = null, $time_ago = 0
|
|
1187 |
*/
|
1188 |
function learn_press_get_chart_orders( $from = null, $by = null, $time_ago = 0 ) {
|
1189 |
global $wpdb;
|
1190 |
-
|
1191 |
-
|
1192 |
$report_sales_by = learn_press_get_request( 'report_sales_by' );
|
1193 |
$course_id = learn_press_get_request( 'course_id' );
|
1194 |
$cat_id = learn_press_get_request( 'cat_id' );
|
514 |
21680592 => 'https://1.envato.market/qqO6y',
|
515 |
);
|
516 |
|
517 |
+
return $affiliate_links[ $item_id ] ?? 'https://themeforest.net/user/thimpress/portfolio/';
|
518 |
}
|
519 |
}
|
520 |
|
1187 |
*/
|
1188 |
function learn_press_get_chart_orders( $from = null, $by = null, $time_ago = 0 ) {
|
1189 |
global $wpdb;
|
1190 |
+
$sql_join = '';
|
1191 |
+
|
1192 |
$report_sales_by = learn_press_get_request( 'report_sales_by' );
|
1193 |
$course_id = learn_press_get_request( 'course_id' );
|
1194 |
$cat_id = learn_press_get_request( 'cat_id' );
|
@@ -263,7 +263,7 @@ abstract class LP_Abstract_Submenu {
|
|
263 |
*/
|
264 |
public function get_active_page( $prefix = true ) {
|
265 |
if ( false === $this->page ) {
|
266 |
-
$this->page =
|
267 |
}
|
268 |
|
269 |
return $prefix ? $this->page : str_replace( 'learn-press-', '', $this->page );
|
263 |
*/
|
264 |
public function get_active_page( $prefix = true ) {
|
265 |
if ( false === $this->page ) {
|
266 |
+
$this->page = LP_Request::get_param( 'page' );
|
267 |
}
|
268 |
|
269 |
return $prefix ? $this->page : str_replace( 'learn-press-', '', $this->page );
|
@@ -11,7 +11,12 @@ if ( ! isset( $data ) || ! isset( $data['check'] ) || ! $data['check'] ) {
|
|
11 |
return;
|
12 |
}
|
13 |
|
14 |
-
$info
|
|
|
|
|
|
|
|
|
|
|
15 |
$data_info = LP_Admin_Notice::get_data_lp_beta( $info );
|
16 |
?>
|
17 |
|
11 |
return;
|
12 |
}
|
13 |
|
14 |
+
$info = is_array( $data['info'] ) ? $data['info'] : [];
|
15 |
+
if ( empty( $info ) ) {
|
16 |
+
echo '<p>No beta version</p>';
|
17 |
+
return;
|
18 |
+
}
|
19 |
+
|
20 |
$data_info = LP_Admin_Notice::get_data_lp_beta( $info );
|
21 |
?>
|
22 |
|
@@ -1,27 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* Template for display error wrong name plugin learnpress
|
4 |
-
*/
|
5 |
-
|
6 |
-
if ( ! defined( 'ABSPATH' ) ) {
|
7 |
-
exit; // Exit if accessed directly
|
8 |
-
}
|
9 |
-
|
10 |
-
if ( ! isset( $data ) ) {
|
11 |
-
return;
|
12 |
-
}
|
13 |
-
?>
|
14 |
-
|
15 |
-
<div class="notice <?php echo esc_attr( $data['class'] ?? '' ); ?>">
|
16 |
-
<p>
|
17 |
-
<?php
|
18 |
-
printf(
|
19 |
-
__(
|
20 |
-
'The LearnPress plugin base directory must be <strong>learnpress/learnpres.php</strong> (case-sensitive) to ensure all functions work properly and are fully operational (currently <strong>%s</strong>)',
|
21 |
-
'learnpress'
|
22 |
-
),
|
23 |
-
LP_PLUGIN_BASENAME
|
24 |
-
);
|
25 |
-
?>
|
26 |
-
</p>
|
27 |
-
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -436,7 +436,10 @@ class LP_Meta_Box_Course extends LP_Meta_Box {
|
|
436 |
foreach ( $tab_content['content'] as $meta_key => $object ) {
|
437 |
if ( is_a( $object, 'LP_Meta_Box_Field' ) ) {
|
438 |
$object->id = $meta_key;
|
439 |
-
|
|
|
|
|
|
|
440 |
}
|
441 |
}
|
442 |
|
436 |
foreach ( $tab_content['content'] as $meta_key => $object ) {
|
437 |
if ( is_a( $object, 'LP_Meta_Box_Field' ) ) {
|
438 |
$object->id = $meta_key;
|
439 |
+
$output = $object->output( $post->ID );
|
440 |
+
if ( ! empty( $output ) ) {
|
441 |
+
echo wp_kses_post( $output );
|
442 |
+
}
|
443 |
}
|
444 |
}
|
445 |
|
@@ -81,6 +81,7 @@ class LP_Meta_Box_Field {
|
|
81 |
}
|
82 |
|
83 |
public function output( $thepostid ) {
|
|
|
84 |
}
|
85 |
|
86 |
public function save( $post_id ) {
|
81 |
}
|
82 |
|
83 |
public function output( $thepostid ) {
|
84 |
+
return '';
|
85 |
}
|
86 |
|
87 |
public function save( $post_id ) {
|
@@ -24,7 +24,7 @@ class LP_Meta_Box_Duration_Field extends LP_Meta_Box_Field {
|
|
24 |
|
25 |
public function output( $thepostid ) {
|
26 |
if ( empty( $this->id ) ) {
|
27 |
-
return;
|
28 |
}
|
29 |
|
30 |
$field = $this->extra;
|
24 |
|
25 |
public function output( $thepostid ) {
|
26 |
if ( empty( $this->id ) ) {
|
27 |
+
return '';
|
28 |
}
|
29 |
|
30 |
$field = $this->extra;
|
@@ -48,7 +48,10 @@ class LP_Meta_Box_Lesson extends LP_Meta_Box {
|
|
48 |
foreach ( $this->metabox( $post->ID ) as $key => $object ) {
|
49 |
if ( is_a( $object, 'LP_Meta_Box_Field' ) ) {
|
50 |
$object->id = $key;
|
51 |
-
|
|
|
|
|
|
|
52 |
} elseif ( is_array( $object ) ) {
|
53 |
$is_old = true;
|
54 |
}
|
48 |
foreach ( $this->metabox( $post->ID ) as $key => $object ) {
|
49 |
if ( is_a( $object, 'LP_Meta_Box_Field' ) ) {
|
50 |
$object->id = $key;
|
51 |
+
$output = $object->output( $post->ID );
|
52 |
+
if ( ! empty( $output ) ) {
|
53 |
+
learn_press_echo_vuejs_write_on_php( $object->output( $post->ID ) );
|
54 |
+
}
|
55 |
} elseif ( is_array( $object ) ) {
|
56 |
$is_old = true;
|
57 |
}
|
@@ -3,13 +3,16 @@
|
|
3 |
* Admin View: Content tab preview export invoice
|
4 |
* @author hungkv
|
5 |
* @since 3.2.7.8
|
6 |
-
* @version 1.0.
|
7 |
*/
|
8 |
|
9 |
/**
|
10 |
* Prevent loading this file directly
|
11 |
*/
|
12 |
defined( 'ABSPATH' ) || exit();
|
|
|
|
|
|
|
13 |
if ( ! isset( $order ) || ! isset( $currency_symbol ) ) {
|
14 |
return;
|
15 |
}
|
@@ -62,10 +65,10 @@ wp_enqueue_script( 'learnpress-jspdf' );
|
|
62 |
<div class="order-items">
|
63 |
<table id="tab_customers" class="table table-striped list-order-items">
|
64 |
<colgroup>
|
65 |
-
<col
|
66 |
-
<col
|
67 |
-
<col
|
68 |
-
<col
|
69 |
</colgroup>
|
70 |
<thead>
|
71 |
<tr class='warning'>
|
@@ -81,14 +84,16 @@ wp_enqueue_script( 'learnpress-jspdf' );
|
|
81 |
'p' => 0,
|
82 |
'limit' => '9999',
|
83 |
);
|
84 |
-
|
|
|
|
|
85 |
?>
|
86 |
<?php foreach ( $items as $item ) : ?>
|
87 |
<tr>
|
88 |
<td><?php echo esc_html( $item['name'] ); ?></td>
|
89 |
-
<td><?php echo learn_press_format_price(
|
90 |
-
<td>x <?php echo
|
91 |
-
<td><?php echo learn_press_format_price(
|
92 |
</tr>
|
93 |
<?php endforeach; ?>
|
94 |
<?php endif; ?>
|
@@ -98,13 +103,13 @@ wp_enqueue_script( 'learnpress-jspdf' );
|
|
98 |
<td></td>
|
99 |
<td></td>
|
100 |
<td><?php echo esc_html__( 'Sub Total', 'learnpress' ); ?></td>
|
101 |
-
<td><?php echo learn_press_format_price( $order->order_subtotal, $currency_symbol ); ?></td>
|
102 |
</tr>
|
103 |
<tr>
|
104 |
<td></td>
|
105 |
<td></td>
|
106 |
<td><?php _e( 'Total', 'learnpress' ); ?></td>
|
107 |
-
<td><?php echo learn_press_format_price( $order->order_total, $currency_symbol ); ?></td>
|
108 |
</tr>
|
109 |
</tfoot>
|
110 |
</table>
|
3 |
* Admin View: Content tab preview export invoice
|
4 |
* @author hungkv
|
5 |
* @since 3.2.7.8
|
6 |
+
* @version 1.0.1
|
7 |
*/
|
8 |
|
9 |
/**
|
10 |
* Prevent loading this file directly
|
11 |
*/
|
12 |
defined( 'ABSPATH' ) || exit();
|
13 |
+
/**
|
14 |
+
* @var $order LP_Order
|
15 |
+
*/
|
16 |
if ( ! isset( $order ) || ! isset( $currency_symbol ) ) {
|
17 |
return;
|
18 |
}
|
65 |
<div class="order-items">
|
66 |
<table id="tab_customers" class="table table-striped list-order-items">
|
67 |
<colgroup>
|
68 |
+
<col>
|
69 |
+
<col>
|
70 |
+
<col>
|
71 |
+
<col>
|
72 |
</colgroup>
|
73 |
<thead>
|
74 |
<tr class='warning'>
|
84 |
'p' => 0,
|
85 |
'limit' => '9999',
|
86 |
);
|
87 |
+
|
88 |
+
$items = $order->get_items_filter( $filter );
|
89 |
+
if ( $items ) :
|
90 |
?>
|
91 |
<?php foreach ( $items as $item ) : ?>
|
92 |
<tr>
|
93 |
<td><?php echo esc_html( $item['name'] ); ?></td>
|
94 |
+
<td><?php echo learn_press_format_price( $item['total'] ?? 0, $currency_symbol ?? '$' ); ?></td>
|
95 |
+
<td>x <?php echo $item['quantity'] ?? 0; ?></td>
|
96 |
+
<td><?php echo learn_press_format_price( $item['total'] ?? 0, $currency_symbol ?? '$' ); ?></td>
|
97 |
</tr>
|
98 |
<?php endforeach; ?>
|
99 |
<?php endif; ?>
|
103 |
<td></td>
|
104 |
<td></td>
|
105 |
<td><?php echo esc_html__( 'Sub Total', 'learnpress' ); ?></td>
|
106 |
+
<td><?php echo learn_press_format_price( $order->get_data( 'order_subtotal' ), $currency_symbol ); ?></td>
|
107 |
</tr>
|
108 |
<tr>
|
109 |
<td></td>
|
110 |
<td></td>
|
111 |
<td><?php _e( 'Total', 'learnpress' ); ?></td>
|
112 |
+
<td><?php echo learn_press_format_price( $order->get_data( 'order_total' ), $currency_symbol ); ?></td>
|
113 |
</tr>
|
114 |
</tfoot>
|
115 |
</table>
|
@@ -4,7 +4,7 @@
|
|
4 |
*
|
5 |
* @author ThimPress (Nhamdv)
|
6 |
* @package LearnPress/Admin/Views
|
7 |
-
* @version 4.0.
|
8 |
*/
|
9 |
|
10 |
if ( isset( $order_items ) ) {
|
@@ -56,7 +56,7 @@ $user_ip = $order->get_user_ip_address();
|
|
56 |
<input type="number" class="order-minute" name="mn" min="0" max="59" value="<?php echo esc_attr( $order->get_order_date( 'm' ) ); ?>">
|
57 |
</div>
|
58 |
|
59 |
-
<div class="order-data-field order-data-status <?php echo sanitize_title( $order->
|
60 |
<label><?php esc_html_e( 'Status:', 'learnpress' ); ?></label>
|
61 |
<select name="order-status" data-status="<?php echo 'lp-' . $order->get_status(); ?>">
|
62 |
<?php
|
@@ -184,7 +184,7 @@ $user_ip = $order->get_user_ip_address();
|
|
184 |
</td>
|
185 |
<td width="100" class="align-right">
|
186 |
<span class="order-subtotal">
|
187 |
-
<?php echo learn_press_format_price( $order->order_subtotal, $currency_symbol ); ?>
|
188 |
</span>
|
189 |
</td>
|
190 |
</tr>
|
@@ -194,7 +194,7 @@ $user_ip = $order->get_user_ip_address();
|
|
194 |
</td>
|
195 |
<td class="align-right total">
|
196 |
<span class="order-total">
|
197 |
-
<?php echo learn_press_format_price( $order->order_total, $currency_symbol ); ?>
|
198 |
</span>
|
199 |
</td>
|
200 |
</tr>
|
4 |
*
|
5 |
* @author ThimPress (Nhamdv)
|
6 |
* @package LearnPress/Admin/Views
|
7 |
+
* @version 4.0.1
|
8 |
*/
|
9 |
|
10 |
if ( isset( $order_items ) ) {
|
56 |
<input type="number" class="order-minute" name="mn" min="0" max="59" value="<?php echo esc_attr( $order->get_order_date( 'm' ) ); ?>">
|
57 |
</div>
|
58 |
|
59 |
+
<div class="order-data-field order-data-status <?php echo sanitize_title( $order->get_post_status() ); ?>">
|
60 |
<label><?php esc_html_e( 'Status:', 'learnpress' ); ?></label>
|
61 |
<select name="order-status" data-status="<?php echo 'lp-' . $order->get_status(); ?>">
|
62 |
<?php
|
184 |
</td>
|
185 |
<td width="100" class="align-right">
|
186 |
<span class="order-subtotal">
|
187 |
+
<?php echo learn_press_format_price( $order->get_data( 'order_subtotal' ), $currency_symbol ); ?>
|
188 |
</span>
|
189 |
</td>
|
190 |
</tr>
|
194 |
</td>
|
195 |
<td class="align-right total">
|
196 |
<span class="order-total">
|
197 |
+
<?php echo learn_press_format_price( $order->get_data( 'order_total' ), $currency_symbol ); ?>
|
198 |
</span>
|
199 |
</td>
|
200 |
</tr>
|
@@ -54,7 +54,10 @@ class LP_Meta_Box_Question extends LP_Meta_Box {
|
|
54 |
foreach ( $this->metabox( $post->ID ) as $key => $object ) {
|
55 |
if ( is_a( $object, 'LP_Meta_Box_Field' ) ) {
|
56 |
$object->id = $key;
|
57 |
-
|
|
|
|
|
|
|
58 |
} elseif ( is_array( $object ) ) {
|
59 |
$is_old = true;
|
60 |
}
|
54 |
foreach ( $this->metabox( $post->ID ) as $key => $object ) {
|
55 |
if ( is_a( $object, 'LP_Meta_Box_Field' ) ) {
|
56 |
$object->id = $key;
|
57 |
+
$output = $object->output( $post->ID );
|
58 |
+
if ( ! empty( $output ) ) {
|
59 |
+
echo wp_kses_post( $object->output( $post->ID ) );
|
60 |
+
}
|
61 |
} elseif ( is_array( $object ) ) {
|
62 |
$is_old = true;
|
63 |
}
|
@@ -110,7 +110,10 @@ class LP_Meta_Box_Quiz extends LP_Meta_Box {
|
|
110 |
foreach ( $this->metabox( $post->ID ) as $key => $object ) {
|
111 |
if ( is_a( $object, 'LP_Meta_Box_Field' ) ) {
|
112 |
$object->id = $key;
|
113 |
-
|
|
|
|
|
|
|
114 |
} elseif ( is_array( $object ) ) {
|
115 |
$is_old = true;
|
116 |
}
|
110 |
foreach ( $this->metabox( $post->ID ) as $key => $object ) {
|
111 |
if ( is_a( $object, 'LP_Meta_Box_Field' ) ) {
|
112 |
$object->id = $key;
|
113 |
+
$output = $object->output( $post->ID );
|
114 |
+
if ( ! empty( $output ) ) {
|
115 |
+
echo wp_kses_post( $object->output( $post->ID ) );
|
116 |
+
}
|
117 |
} elseif ( is_array( $object ) ) {
|
118 |
$is_old = true;
|
119 |
}
|
@@ -9,7 +9,7 @@
|
|
9 |
|
10 |
defined( 'ABSPATH' ) || exit;
|
11 |
|
12 |
-
LearnPress::instance()->session->remove( 'do-update-learnpress', true );
|
13 |
?>
|
14 |
|
15 |
<div class="updated notice">
|
9 |
|
10 |
defined( 'ABSPATH' ) || exit;
|
11 |
|
12 |
+
//LearnPress::instance()->session->remove( 'do-update-learnpress', true );
|
13 |
?>
|
14 |
|
15 |
<div class="updated notice">
|
@@ -80,8 +80,8 @@ if ( ! class_exists( 'LP_Background_Query_Items' ) ) {
|
|
80 |
public function get_related_themes() {
|
81 |
$themes = get_transient( 'lp_related_themes' );
|
82 |
|
83 |
-
if ( ! $themes ) {
|
84 |
-
$this->query_related_themes();
|
85 |
}
|
86 |
|
87 |
return is_array( $themes ) ? $themes : false;
|
80 |
public function get_related_themes() {
|
81 |
$themes = get_transient( 'lp_related_themes' );
|
82 |
|
83 |
+
if ( ! is_array( $themes ) || empty( $themes ) ) {
|
84 |
+
$themes = $this->query_related_themes();
|
85 |
}
|
86 |
|
87 |
return is_array( $themes ) ? $themes : false;
|
@@ -0,0 +1,38 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* Class LP_Quiz_Cache
|
5 |
+
*
|
6 |
+
* @author tungnx
|
7 |
+
* @since 4.1.7.4
|
8 |
+
* @version 1.0.0
|
9 |
+
*/
|
10 |
+
defined( 'ABSPATH' ) || exit();
|
11 |
+
|
12 |
+
class LP_Question_Cache extends LP_Cache {
|
13 |
+
/**
|
14 |
+
* @var null|LP_Question_Cache
|
15 |
+
*/
|
16 |
+
protected static $instance;
|
17 |
+
/**
|
18 |
+
* @var string
|
19 |
+
*/
|
20 |
+
protected $key_group_child = 'question';
|
21 |
+
|
22 |
+
/**
|
23 |
+
* Get instance
|
24 |
+
*
|
25 |
+
* @return self
|
26 |
+
*/
|
27 |
+
public static function instance(): self {
|
28 |
+
if ( is_null( self::$instance ) ) {
|
29 |
+
self::$instance = new self();
|
30 |
+
}
|
31 |
+
|
32 |
+
return self::$instance;
|
33 |
+
}
|
34 |
+
|
35 |
+
protected function __construct() {
|
36 |
+
parent::__construct();
|
37 |
+
}
|
38 |
+
}
|
@@ -18,14 +18,14 @@ class LP_Cart {
|
|
18 |
*
|
19 |
* @var LP_Cart object
|
20 |
*/
|
21 |
-
private static $
|
22 |
|
23 |
/**
|
24 |
* Hold the content of the cart
|
25 |
*
|
26 |
* @var array
|
27 |
*/
|
28 |
-
protected $_cart_content =
|
29 |
|
30 |
/**
|
31 |
* Key of cart content stored in session
|
@@ -61,10 +61,10 @@ class LP_Cart {
|
|
61 |
LP_Request::register( 'add-course-to-cart', array( $this, 'add_to_cart' ), 20 );
|
62 |
LP_Request::register( 'remove-cart-item', array( $this, 'remove_item' ), 20 );
|
63 |
|
64 |
-
add_action( 'learn-press/add-to-cart', array( $this, 'calculate_totals' ), 10 );
|
65 |
//add_action( 'wp', array( $this, 'maybe_set_cart_cookies' ), 99 );
|
66 |
//add_action( 'shutdown', array( $this, 'maybe_set_cart_cookies' ), 0 );
|
67 |
-
add_action( 'wp_loaded', array( $this, 'init' ) );
|
68 |
}
|
69 |
|
70 |
/**
|
@@ -80,7 +80,7 @@ class LP_Cart {
|
|
80 |
return;
|
81 |
}
|
82 |
|
83 |
-
|
84 |
}
|
85 |
|
86 |
/**
|
@@ -107,8 +107,10 @@ class LP_Cart {
|
|
107 |
* Get data from session
|
108 |
*
|
109 |
* @return array
|
|
|
110 |
*/
|
111 |
public function get_cart_for_session() {
|
|
|
112 |
$cart_session = array();
|
113 |
|
114 |
if ( $this->get_cart() ) {
|
@@ -126,14 +128,14 @@ class LP_Cart {
|
|
126 |
*
|
127 |
* @return array
|
128 |
*/
|
129 |
-
public function get_cart() {
|
130 |
-
if ( ! did_action( 'wp_loaded' ) ) {
|
131 |
_doing_it_wrong( __FUNCTION__, __( 'Get cart should not be called before the wp_loaded action.', 'learnpress' ), '2.3' );
|
132 |
-
}
|
133 |
|
134 |
-
if ( ! did_action( 'learn_press_cart_loaded_from_session' ) ) {
|
135 |
-
$this->get_cart_from_session();
|
136 |
-
}
|
137 |
|
138 |
return array_filter( (array) $this->_cart_content );
|
139 |
}
|
@@ -145,7 +147,7 @@ class LP_Cart {
|
|
145 |
* @param int $quantity
|
146 |
* @param array $item_data
|
147 |
*
|
148 |
-
* @return
|
149 |
*/
|
150 |
public function add_to_cart( int $item_id = 0, int $quantity = 1, array $item_data = array() ) {
|
151 |
try {
|
@@ -190,13 +192,12 @@ class LP_Cart {
|
|
190 |
)
|
191 |
);
|
192 |
|
193 |
-
|
|
|
194 |
|
195 |
-
|
196 |
-
* @see LP_Cart::calculate_totals()
|
197 |
-
*/
|
198 |
-
do_action( 'learn-press/add-to-cart', $item_id, $quantity, $item_data, $cart_id );
|
199 |
|
|
|
200 |
return $cart_id;
|
201 |
} catch ( Exception $e ) {
|
202 |
if ( $e->getMessage() ) {
|
@@ -223,7 +224,7 @@ class LP_Cart {
|
|
223 |
|
224 |
do_action( 'learn_press_cart_item_removed', $item_id, $this );
|
225 |
|
226 |
-
$this->
|
227 |
|
228 |
return true;
|
229 |
}
|
@@ -233,17 +234,23 @@ class LP_Cart {
|
|
233 |
|
234 |
/**
|
235 |
* Re-calculate cart totals and update data to session
|
|
|
|
|
|
|
236 |
*/
|
237 |
public function calculate_totals() {
|
238 |
-
$
|
239 |
-
$
|
240 |
-
$
|
|
|
|
|
|
|
|
|
|
|
241 |
|
242 |
if ( $items ) {
|
243 |
foreach ( $items as $cart_id => $item ) {
|
244 |
-
|
245 |
$item_type = get_post_type( $item['item_id'] );
|
246 |
-
|
247 |
if ( ! in_array( $item_type, learn_press_get_item_types_can_purchase() ) ) {
|
248 |
continue;
|
249 |
}
|
@@ -260,22 +267,38 @@ class LP_Cart {
|
|
260 |
|
261 |
$total = $subtotal;
|
262 |
|
263 |
-
$
|
264 |
-
$
|
265 |
|
266 |
-
|
267 |
-
|
|
|
268 |
}
|
269 |
}
|
270 |
|
271 |
-
$
|
|
|
|
|
272 |
}
|
273 |
|
274 |
/**
|
275 |
* Update cart content to session
|
276 |
*/
|
277 |
public function update_session() {
|
278 |
-
learn_press_session_set( $this->_cart_session_key, $this->get_cart_for_session() );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
279 |
}
|
280 |
|
281 |
/**
|
@@ -292,59 +315,22 @@ class LP_Cart {
|
|
292 |
*
|
293 |
* @return array
|
294 |
*/
|
295 |
-
public function get_items() {
|
296 |
-
|
297 |
-
|
298 |
-
return $items;
|
299 |
}
|
300 |
|
301 |
/**
|
302 |
* Load cart content data from session
|
303 |
*
|
304 |
* @since 3.0.0
|
305 |
-
* @version 3.0.
|
|
|
306 |
*/
|
307 |
public function get_cart_from_session() {
|
308 |
-
|
309 |
-
|
310 |
-
|
311 |
-
|
312 |
-
$cart = learn_press_session_get( $this->_cart_session_key );
|
313 |
-
$data = array();
|
314 |
-
if ( $cart ) {
|
315 |
-
foreach ( $cart as $cart_id => $values ) {
|
316 |
-
if ( ! empty( $values['item_id'] ) ) {
|
317 |
-
$item_type = get_post_type( $values['item_id'] );
|
318 |
-
if ( ! in_array( $item_type, learn_press_get_item_types_can_purchase() ) ) {
|
319 |
-
continue;
|
320 |
-
}
|
321 |
-
|
322 |
-
switch ( $item_type ) {
|
323 |
-
case LP_COURSE_CPT:
|
324 |
-
$course = learn_press_get_course( $values['item_id'] );
|
325 |
-
if ( $course && $course->exists() && $values['quantity'] > 0 ) {
|
326 |
-
if ( ! $course->is_purchasable() ) {
|
327 |
-
learn_press_add_message( sprintf( __( '%s has been removed from your cart because it can no longer be purchased.', 'learnpress' ), $course->get_title() ), 'error' );
|
328 |
-
do_action( 'learn-press/remove-cart-item-from-session', $cart, $values );
|
329 |
-
} else {
|
330 |
-
$data = array_merge( $values, array( 'data' => $course ) );
|
331 |
-
$this->_cart_content[ $cart_id ] = $data;
|
332 |
-
}
|
333 |
-
}
|
334 |
-
break;
|
335 |
-
default:
|
336 |
-
$this->_cart_content[ $cart_id ] = apply_filters( 'learn-press/get-cart-item-from-session/item_type_' . $item_type, $data, $values, $cart_id );
|
337 |
-
break;
|
338 |
-
}
|
339 |
-
}
|
340 |
-
}
|
341 |
-
}
|
342 |
-
|
343 |
-
do_action( 'learn_press_cart_loaded_from_session' );
|
344 |
-
LearnPress::instance()->session->set( $this->_cart_session_key, $this->get_cart_for_session() );
|
345 |
-
do_action( 'learn_press_get_cart_from_session' );
|
346 |
-
|
347 |
-
$this->calculate_totals();
|
348 |
}
|
349 |
|
350 |
/**
|
@@ -396,19 +382,19 @@ class LP_Cart {
|
|
396 |
}
|
397 |
|
398 |
/**
|
399 |
-
* Return
|
400 |
*
|
401 |
-
* @param LP_Course $
|
402 |
* @param int $quantity
|
403 |
*
|
404 |
* @return mixed
|
405 |
*/
|
406 |
-
public function get_item_subtotal( $
|
407 |
-
$price = $
|
408 |
$row_price = $price * $quantity;
|
409 |
$course_subtotal = learn_press_format_price( $row_price, true );
|
410 |
|
411 |
-
return apply_filters( 'learn-press/cart/item-subtotal', $course_subtotal, $
|
412 |
}
|
413 |
|
414 |
/**
|
@@ -416,14 +402,15 @@ class LP_Cart {
|
|
416 |
*
|
417 |
* @return $this
|
418 |
*/
|
419 |
-
public function empty_cart() {
|
420 |
|
421 |
do_action( 'learn-press/cart/before-empty' );
|
422 |
|
423 |
$this->_cart_content = array();
|
424 |
-
|
425 |
-
|
426 |
-
unset( LearnPress::instance()->session->
|
|
|
427 |
|
428 |
do_action( 'learn-press/cart/emptied' );
|
429 |
|
@@ -435,7 +422,8 @@ class LP_Cart {
|
|
435 |
*
|
436 |
* @return bool
|
437 |
*/
|
438 |
-
public function is_empty() {
|
|
|
439 |
return sizeof( $this->get_cart() ) === 0;
|
440 |
}
|
441 |
|
@@ -458,7 +446,8 @@ class LP_Cart {
|
|
458 |
* @return mixed
|
459 |
*/
|
460 |
public function needs_payment() {
|
461 |
-
|
|
|
462 |
}
|
463 |
|
464 |
/**
|
@@ -472,28 +461,13 @@ class LP_Cart {
|
|
472 |
/**
|
473 |
* Get unique instance of LP_Cart object
|
474 |
*
|
475 |
-
* @return LP_Cart
|
476 |
*/
|
477 |
public static function instance() {
|
478 |
-
|
479 |
-
|
480 |
-
$class = get_called_class();
|
481 |
-
}
|
482 |
-
|
483 |
-
$backtrace = debug_backtrace();
|
484 |
-
|
485 |
-
if ( isset( $backtrace[2]['function'] ) ) {
|
486 |
-
if ( 'call_user_func' === $backtrace[2]['function'] ) {
|
487 |
-
$class = $backtrace[2]['args'][0][0];
|
488 |
-
}
|
489 |
-
} elseif ( isset( $backtrace[2]['class'] ) ) {
|
490 |
-
$class = $backtrace[2]['class'];
|
491 |
-
}
|
492 |
-
|
493 |
-
if ( empty( self::$instances[ $class ] ) ) {
|
494 |
-
self::$instances[ $class ] = new $class();
|
495 |
}
|
496 |
|
497 |
-
return self::$
|
498 |
}
|
499 |
}
|
18 |
*
|
19 |
* @var LP_Cart object
|
20 |
*/
|
21 |
+
private static $instance = null;
|
22 |
|
23 |
/**
|
24 |
* Hold the content of the cart
|
25 |
*
|
26 |
* @var array
|
27 |
*/
|
28 |
+
protected $_cart_content = [];
|
29 |
|
30 |
/**
|
31 |
* Key of cart content stored in session
|
61 |
LP_Request::register( 'add-course-to-cart', array( $this, 'add_to_cart' ), 20 );
|
62 |
LP_Request::register( 'remove-cart-item', array( $this, 'remove_item' ), 20 );
|
63 |
|
64 |
+
//add_action( 'learn-press/add-to-cart', array( $this, 'calculate_totals' ), 10 );
|
65 |
//add_action( 'wp', array( $this, 'maybe_set_cart_cookies' ), 99 );
|
66 |
//add_action( 'shutdown', array( $this, 'maybe_set_cart_cookies' ), 0 );
|
67 |
+
//add_action( 'wp_loaded', array( $this, 'init' ) );
|
68 |
}
|
69 |
|
70 |
/**
|
80 |
return;
|
81 |
}
|
82 |
|
83 |
+
//$this->get_cart_from_session();
|
84 |
}
|
85 |
|
86 |
/**
|
107 |
* Get data from session
|
108 |
*
|
109 |
* @return array
|
110 |
+
* @deprecated 4.1.7.3
|
111 |
*/
|
112 |
public function get_cart_for_session() {
|
113 |
+
_deprecated_function( __FUNCTION__, '4.1.7.3', 'get_cart' );
|
114 |
$cart_session = array();
|
115 |
|
116 |
if ( $this->get_cart() ) {
|
128 |
*
|
129 |
* @return array
|
130 |
*/
|
131 |
+
public function get_cart(): array {
|
132 |
+
/*if ( ! did_action( 'wp_loaded' ) ) {
|
133 |
_doing_it_wrong( __FUNCTION__, __( 'Get cart should not be called before the wp_loaded action.', 'learnpress' ), '2.3' );
|
134 |
+
}*/
|
135 |
|
136 |
+
/*if ( ! did_action( 'learn_press_cart_loaded_from_session' ) ) {
|
137 |
+
return $this->get_cart_from_session();
|
138 |
+
}*/
|
139 |
|
140 |
return array_filter( (array) $this->_cart_content );
|
141 |
}
|
147 |
* @param int $quantity
|
148 |
* @param array $item_data
|
149 |
*
|
150 |
+
* @return string|false
|
151 |
*/
|
152 |
public function add_to_cart( int $item_id = 0, int $quantity = 1, array $item_data = array() ) {
|
153 |
try {
|
192 |
)
|
193 |
);
|
194 |
|
195 |
+
// Update cart to session DB.
|
196 |
+
$this->update_session();
|
197 |
|
198 |
+
//$this->set_cart_cookies( true );
|
|
|
|
|
|
|
199 |
|
200 |
+
do_action( 'learn-press/add-to-cart', $item_id, $quantity, $item_data, $cart_id );
|
201 |
return $cart_id;
|
202 |
} catch ( Exception $e ) {
|
203 |
if ( $e->getMessage() ) {
|
224 |
|
225 |
do_action( 'learn_press_cart_item_removed', $item_id, $this );
|
226 |
|
227 |
+
$this->update_session();
|
228 |
|
229 |
return true;
|
230 |
}
|
234 |
|
235 |
/**
|
236 |
* Re-calculate cart totals and update data to session
|
237 |
+
*
|
238 |
+
* @since 3.0.0
|
239 |
+
* @version 4.0.1
|
240 |
*/
|
241 |
public function calculate_totals() {
|
242 |
+
$data = new stdClass();
|
243 |
+
$total = 0;
|
244 |
+
$data->subtotal = $total;
|
245 |
+
$data->total = $total;
|
246 |
+
$subtotal = $total;
|
247 |
+
$this->total = $total;
|
248 |
+
$this->subtotal = $total;
|
249 |
+
$items = $this->get_cart();
|
250 |
|
251 |
if ( $items ) {
|
252 |
foreach ( $items as $cart_id => $item ) {
|
|
|
253 |
$item_type = get_post_type( $item['item_id'] );
|
|
|
254 |
if ( ! in_array( $item_type, learn_press_get_item_types_can_purchase() ) ) {
|
255 |
continue;
|
256 |
}
|
267 |
|
268 |
$total = $subtotal;
|
269 |
|
270 |
+
$data->subtotal += $subtotal;
|
271 |
+
$data->total += $total;
|
272 |
|
273 |
+
// For template old use.
|
274 |
+
LearnPress::instance()->cart->subtotal += $subtotal;
|
275 |
+
LearnPress::instance()->cart->total += $total;
|
276 |
}
|
277 |
}
|
278 |
|
279 |
+
return $data;
|
280 |
+
|
281 |
+
//$this->update_session();
|
282 |
}
|
283 |
|
284 |
/**
|
285 |
* Update cart content to session
|
286 |
*/
|
287 |
public function update_session() {
|
288 |
+
//learn_press_session_set( $this->_cart_session_key, $this->get_cart_for_session() );
|
289 |
+
$cart = $this->get_cart();
|
290 |
+
|
291 |
+
// Only save data item_id and quantity.
|
292 |
+
$data_cart_save = array_map(
|
293 |
+
function ( $item ) {
|
294 |
+
return array(
|
295 |
+
'item_id' => $item['item_id'],
|
296 |
+
'quantity' => $item['quantity'],
|
297 |
+
);
|
298 |
+
},
|
299 |
+
$cart
|
300 |
+
);
|
301 |
+
LearnPress::instance()->session->set( $this->_cart_session_key, $data_cart_save, true );
|
302 |
}
|
303 |
|
304 |
/**
|
315 |
*
|
316 |
* @return array
|
317 |
*/
|
318 |
+
public function get_items(): array {
|
319 |
+
return $this->get_cart();
|
|
|
|
|
320 |
}
|
321 |
|
322 |
/**
|
323 |
* Load cart content data from session
|
324 |
*
|
325 |
* @since 3.0.0
|
326 |
+
* @version 3.0.2
|
327 |
+
* @modify 4.1.7.4 - tungnx
|
328 |
*/
|
329 |
public function get_cart_from_session() {
|
330 |
+
$session_data = LearnPress::instance()->session->get_session_data();
|
331 |
+
$cart = maybe_unserialize( $session_data['cart'] ?? '' );
|
332 |
+
$this->_cart_content = $cart;
|
333 |
+
return $this->_cart_content;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
334 |
}
|
335 |
|
336 |
/**
|
382 |
}
|
383 |
|
384 |
/**
|
385 |
+
* Return subtotal of cart content
|
386 |
*
|
387 |
+
* @param LP_Course|LP_Certificate $item
|
388 |
* @param int $quantity
|
389 |
*
|
390 |
* @return mixed
|
391 |
*/
|
392 |
+
public function get_item_subtotal( $item, int $quantity = 1 ) {
|
393 |
+
$price = $item->get_price();
|
394 |
$row_price = $price * $quantity;
|
395 |
$course_subtotal = learn_press_format_price( $row_price, true );
|
396 |
|
397 |
+
return apply_filters( 'learn-press/cart/item-subtotal', $course_subtotal, $item, $quantity, $this );
|
398 |
}
|
399 |
|
400 |
/**
|
402 |
*
|
403 |
* @return $this
|
404 |
*/
|
405 |
+
public function empty_cart(): LP_Cart {
|
406 |
|
407 |
do_action( 'learn-press/cart/before-empty' );
|
408 |
|
409 |
$this->_cart_content = array();
|
410 |
+
$lp_session = LearnPress::instance()->session;
|
411 |
+
$lp_session->set( 'cart', '', true );
|
412 |
+
//unset( LearnPress::instance()->session->order_awaiting_payment );
|
413 |
+
//unset( LearnPress::instance()->session->cart );
|
414 |
|
415 |
do_action( 'learn-press/cart/emptied' );
|
416 |
|
422 |
*
|
423 |
* @return bool
|
424 |
*/
|
425 |
+
public function is_empty(): bool {
|
426 |
+
$this->get_cart_from_session();
|
427 |
return sizeof( $this->get_cart() ) === 0;
|
428 |
}
|
429 |
|
446 |
* @return mixed
|
447 |
*/
|
448 |
public function needs_payment() {
|
449 |
+
$cart_data = $this->calculate_totals();
|
450 |
+
return apply_filters( 'learn_press_cart_needs_payment', $cart_data->total > 0, $this );
|
451 |
}
|
452 |
|
453 |
/**
|
461 |
/**
|
462 |
* Get unique instance of LP_Cart object
|
463 |
*
|
464 |
+
* @return LP_Cart
|
465 |
*/
|
466 |
public static function instance() {
|
467 |
+
if ( is_null( self::$instance ) ) {
|
468 |
+
self::$instance = new self();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
469 |
}
|
470 |
|
471 |
+
return self::$instance;
|
472 |
}
|
473 |
}
|
@@ -2,9 +2,9 @@
|
|
2 |
/**
|
3 |
* Return LP_Cart object instance
|
4 |
*
|
5 |
-
* @return
|
6 |
*/
|
7 |
-
function learn_press_get_cart() {
|
8 |
return LearnPress::instance()->cart;
|
9 |
}
|
10 |
|
@@ -48,11 +48,16 @@ function learn_press_get_cart_course_url() {
|
|
48 |
* Return total of cart
|
49 |
*
|
50 |
* @return mixed
|
|
|
51 |
*/
|
52 |
function learn_press_get_cart_total() {
|
|
|
53 |
return LearnPress::instance()->cart->total;
|
54 |
}
|
55 |
|
|
|
|
|
|
|
56 |
function learn_press_clear_cart_after_payment() {
|
57 |
global $wp;
|
58 |
|
@@ -68,23 +73,24 @@ function learn_press_clear_cart_after_payment() {
|
|
68 |
}
|
69 |
}
|
70 |
|
71 |
-
if ( ! is_null( LearnPress::instance()->session ) && LearnPress::instance()->session->order_awaiting_payment > 0 ) {
|
72 |
-
$order = learn_press_get_order( LearnPress::instance()->session->order_awaiting_payment );
|
73 |
|
74 |
if ( $order && $order->id > 0 ) {
|
75 |
if ( ! $order->has_status( array( 'failed', 'pending', 'cancelled' ) ) ) {
|
76 |
LearnPress::instance()->cart->empty_cart();
|
77 |
-
LearnPress::instance()->session->order_awaiting_payment
|
78 |
}
|
79 |
}
|
80 |
}
|
81 |
}
|
82 |
-
add_action( 'get_header', 'learn_press_clear_cart_after_payment' );
|
83 |
|
84 |
/**
|
85 |
* @param LP_Cart $cart
|
86 |
*
|
87 |
* @return mixed
|
|
|
88 |
*/
|
89 |
function learn_press_custom_checkout_cart( $cart ) {
|
90 |
if ( empty( $_REQUEST['single-item'] ) ) {
|
@@ -101,4 +107,4 @@ function learn_press_custom_checkout_cart( $cart ) {
|
|
101 |
|
102 |
return $cart;
|
103 |
}
|
104 |
-
add_filter( 'learn_press_checkout_cart', 'learn_press_custom_checkout_cart' );
|
2 |
/**
|
3 |
* Return LP_Cart object instance
|
4 |
*
|
5 |
+
* @return LP_Cart
|
6 |
*/
|
7 |
+
function learn_press_get_cart(): LP_Cart {
|
8 |
return LearnPress::instance()->cart;
|
9 |
}
|
10 |
|
48 |
* Return total of cart
|
49 |
*
|
50 |
* @return mixed
|
51 |
+
* @deprecated 4.1.7.4
|
52 |
*/
|
53 |
function learn_press_get_cart_total() {
|
54 |
+
_deprecated_function( __FUNCTION__, '4.1.7.4' );
|
55 |
return LearnPress::instance()->cart->total;
|
56 |
}
|
57 |
|
58 |
+
/**
|
59 |
+
* @deprecated 4.1.7.4
|
60 |
+
*/
|
61 |
function learn_press_clear_cart_after_payment() {
|
62 |
global $wp;
|
63 |
|
73 |
}
|
74 |
}
|
75 |
|
76 |
+
if ( ! is_null( LearnPress::instance()->session ) && LearnPress::instance()->session->get( 'order_awaiting_payment' ) > 0 ) {
|
77 |
+
$order = learn_press_get_order( LearnPress::instance()->session->get( 'order_awaiting_payment' ) );
|
78 |
|
79 |
if ( $order && $order->id > 0 ) {
|
80 |
if ( ! $order->has_status( array( 'failed', 'pending', 'cancelled' ) ) ) {
|
81 |
LearnPress::instance()->cart->empty_cart();
|
82 |
+
LearnPress::instance()->session->remove( 'order_awaiting_payment' );
|
83 |
}
|
84 |
}
|
85 |
}
|
86 |
}
|
87 |
+
//add_action( 'get_header', 'learn_press_clear_cart_after_payment' );
|
88 |
|
89 |
/**
|
90 |
* @param LP_Cart $cart
|
91 |
*
|
92 |
* @return mixed
|
93 |
+
* @deprecated 4.1.7.4
|
94 |
*/
|
95 |
function learn_press_custom_checkout_cart( $cart ) {
|
96 |
if ( empty( $_REQUEST['single-item'] ) ) {
|
107 |
|
108 |
return $cart;
|
109 |
}
|
110 |
+
//add_filter( 'learn_press_checkout_cart', 'learn_press_custom_checkout_cart' );
|
@@ -154,12 +154,20 @@ class LP_Checkout {
|
|
154 |
}*/
|
155 |
|
156 |
/**
|
|
|
|
|
157 |
* @return int|WP_Error
|
158 |
*/
|
159 |
-
protected function
|
160 |
-
$
|
161 |
-
|
162 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
163 |
|
164 |
return $user_id;
|
165 |
}
|
@@ -262,7 +270,6 @@ class LP_Checkout {
|
|
262 |
}
|
263 |
|
264 |
$user = get_user_by( 'email', $email );
|
265 |
-
|
266 |
if ( ! $user ) {
|
267 |
return false;
|
268 |
}
|
@@ -337,25 +344,19 @@ class LP_Checkout {
|
|
337 |
}
|
338 |
|
339 |
/**
|
340 |
-
*
|
341 |
*
|
|
|
|
|
342 |
* @return mixed|WP_Error
|
343 |
* @throws Exception
|
344 |
*/
|
345 |
public function create_order() {
|
346 |
-
|
347 |
-
|
348 |
-
$order_id = apply_filters( 'learn-press/checkout/create-order', null, $this );
|
349 |
-
|
350 |
-
if ( $order_id ) {
|
351 |
-
return $order_id;
|
352 |
-
}
|
353 |
-
$cart = LearnPress::instance()->cart;
|
354 |
|
355 |
try {
|
356 |
-
|
357 |
-
|
358 |
-
// Insert or update the post data
|
359 |
$order_id = absint( LearnPress::instance()->session->get( 'order_awaiting_payment' ) );
|
360 |
|
361 |
// Resume the unpaid order if its pending
|
@@ -378,48 +379,48 @@ class LP_Checkout {
|
|
378 |
|
379 |
$order_id = $order->get_id();
|
380 |
do_action( 'learn-press/checkout/new-order', $order_id );
|
381 |
-
}
|
382 |
|
|
|
383 |
$user_id = 0;
|
|
|
384 |
if ( is_user_logged_in() ) {
|
385 |
$user_id = get_current_user_id();
|
386 |
} else {
|
387 |
-
$checkout_option =
|
|
|
|
|
388 |
|
389 |
// Create new user if buy with Guest and tick "Create new Account"
|
390 |
if ( $checkout_option === 'new-account' ) {
|
391 |
-
if ( $
|
392 |
-
throw new Exception( '
|
393 |
}
|
394 |
|
395 |
-
|
396 |
-
|
397 |
-
$user_id = $this->_create_account();
|
398 |
|
399 |
-
|
|
|
|
|
400 |
wp_new_user_notification( $user_id, null, apply_filters( 'learn-press/email-create-new-user-when-checkout', 'user' ) );
|
401 |
-
}
|
402 |
-
|
403 |
-
$user = get_user_by( 'email', $this->get_checkout_email() );
|
404 |
-
|
405 |
-
if ( $order->is_guest() && $user ) {
|
406 |
-
$user_id = $user->ID;
|
407 |
}
|
408 |
}
|
409 |
-
|
410 |
-
if ( $user_id ) {
|
411 |
-
$order->set_user_id( $user_id );
|
412 |
-
}
|
413 |
}
|
414 |
|
415 |
$order->set_customer_note( $this->order_comment );
|
416 |
$order->set_status( learn_press_default_order_status( 'lp-' ) );
|
417 |
-
$order->set_total( $
|
418 |
-
$order->set_subtotal( $
|
419 |
$order->set_user_ip_address( learn_press_get_ip() );
|
420 |
$order->set_user_agent( learn_press_get_user_agent() );
|
421 |
$order->set_created_via( 'checkout' );
|
422 |
$order->set_user_id( apply_filters( 'learn-press/checkout/default-user', $user_id ) );
|
|
|
|
|
|
|
|
|
423 |
|
424 |
if ( $this->is_enable_guest_checkout() && $this->get_checkout_email() ) {
|
425 |
$order->set_checkout_email( $this->get_checkout_email() );
|
@@ -427,7 +428,7 @@ class LP_Checkout {
|
|
427 |
|
428 |
$order_id = $order->save();
|
429 |
|
430 |
-
// Store the line items to the
|
431 |
foreach ( $cart->get_items() as $item ) {
|
432 |
$item_type = get_post_type( $item['item_id'] );
|
433 |
|
@@ -444,8 +445,6 @@ class LP_Checkout {
|
|
444 |
do_action( 'learn-press/checkout/add-order-item-meta', $item_id, $item );
|
445 |
}
|
446 |
|
447 |
-
$order->set_payment_method( $this->payment_method );
|
448 |
-
|
449 |
if ( ! empty( $this->user_id ) ) {
|
450 |
do_action( 'learn-press/checkout/update-user-meta', $this->user_id );
|
451 |
}
|
@@ -455,11 +454,7 @@ class LP_Checkout {
|
|
455 |
if ( ! $order_id || is_wp_error( $order_id ) ) {
|
456 |
learn_press_add_message( __( 'Unable to checkout. Order creation failed.', 'learnpress' ) );
|
457 |
}
|
458 |
-
|
459 |
-
$wpdb->query( 'COMMIT' );
|
460 |
-
|
461 |
} catch ( Exception $e ) {
|
462 |
-
$wpdb->query( 'ROLLBACK' );
|
463 |
learn_press_add_message( $e->getMessage() );
|
464 |
|
465 |
return false;
|
@@ -672,16 +667,13 @@ class LP_Checkout {
|
|
672 |
$has_error = false;
|
673 |
|
674 |
try {
|
675 |
-
|
676 |
if ( function_exists( 'set_time_limit' ) ) {
|
677 |
@set_time_limit( 0 ); // @codingStandardsIgnoreLine
|
678 |
}
|
679 |
|
680 |
do_action( 'learn-press/before-checkout' );
|
681 |
|
682 |
-
$cart
|
683 |
-
$result = false;
|
684 |
-
|
685 |
if ( $cart->is_empty() ) {
|
686 |
throw new Exception( __( 'Your cart is currently empty.', 'learnpress' ) );
|
687 |
}
|
@@ -704,12 +696,12 @@ class LP_Checkout {
|
|
704 |
$messages[ $key ] = array( $error, 'error' );
|
705 |
}
|
706 |
} else {
|
|
|
707 |
// maybe throw new exception
|
708 |
$this->validate_payment();
|
709 |
|
710 |
// Create order.
|
711 |
$order_id = $this->create_order();
|
712 |
-
|
713 |
if ( is_wp_error( $order_id ) ) {
|
714 |
throw new Exception( $order_id->get_error_message() );
|
715 |
}
|
@@ -717,13 +709,15 @@ class LP_Checkout {
|
|
717 |
// allow Third-party hook: send email and more...
|
718 |
do_action( 'learn-press/checkout-order-processed', $order_id, $this );
|
719 |
|
720 |
-
if ( $this->payment_method ) {
|
721 |
-
//
|
722 |
-
LearnPress::instance()->session->order_awaiting_payment = $order_id;
|
723 |
// Process Payment
|
724 |
$result = $this->payment_method->process_payment( $order_id );
|
725 |
|
726 |
if ( isset( $result['result'] ) ) {
|
|
|
|
|
|
|
727 |
if ( 'success' === $result['result'] ) {
|
728 |
$result = apply_filters( 'learn-press/payment-successful-result', $result, $order_id );
|
729 |
}
|
@@ -736,12 +730,10 @@ class LP_Checkout {
|
|
736 |
}
|
737 |
}
|
738 |
} else {
|
739 |
-
//
|
740 |
$order = new LP_Order( $order_id );
|
741 |
-
|
742 |
-
|
743 |
-
|
744 |
-
$is_guest_checkout = $this->guest_email ? true : false;
|
745 |
$redirect = $order->get_checkout_order_received_url();
|
746 |
|
747 |
if ( ! $is_guest_checkout ) {
|
@@ -759,6 +751,9 @@ class LP_Checkout {
|
|
759 |
}
|
760 |
}
|
761 |
|
|
|
|
|
|
|
762 |
$result = array(
|
763 |
'result' => 'success',
|
764 |
'redirect' => $redirect,
|
@@ -788,7 +783,7 @@ class LP_Checkout {
|
|
788 |
)
|
789 |
);
|
790 |
|
791 |
-
|
792 |
}
|
793 |
|
794 |
/**
|
154 |
}*/
|
155 |
|
156 |
/**
|
157 |
+
* Create account when checking out with user guest and tick create account.
|
158 |
+
*
|
159 |
* @return int|WP_Error
|
160 |
*/
|
161 |
+
protected function create_account(): int {
|
162 |
+
$user_id = 0;
|
163 |
+
|
164 |
+
try {
|
165 |
+
$email = $this->get_checkout_email();
|
166 |
+
$password = wp_generate_password();
|
167 |
+
$user_id = wp_create_user( $email, $password, $email );
|
168 |
+
} catch ( Throwable $e ) {
|
169 |
+
error_log( $e->getMessage() );
|
170 |
+
}
|
171 |
|
172 |
return $user_id;
|
173 |
}
|
270 |
}
|
271 |
|
272 |
$user = get_user_by( 'email', $email );
|
|
|
273 |
if ( ! $user ) {
|
274 |
return false;
|
275 |
}
|
344 |
}
|
345 |
|
346 |
/**
|
347 |
+
* Create LP Order.
|
348 |
*
|
349 |
+
* @since 3.0.0
|
350 |
+
* @version 4.0.1
|
351 |
* @return mixed|WP_Error
|
352 |
* @throws Exception
|
353 |
*/
|
354 |
public function create_order() {
|
355 |
+
$cart = LearnPress::instance()->cart;
|
356 |
+
$cart_data = $cart->calculate_totals();
|
|
|
|
|
|
|
|
|
|
|
|
|
357 |
|
358 |
try {
|
359 |
+
/*// Insert or update the post data
|
|
|
|
|
360 |
$order_id = absint( LearnPress::instance()->session->get( 'order_awaiting_payment' ) );
|
361 |
|
362 |
// Resume the unpaid order if its pending
|
379 |
|
380 |
$order_id = $order->get_id();
|
381 |
do_action( 'learn-press/checkout/new-order', $order_id );
|
382 |
+
}*/
|
383 |
|
384 |
+
$order = new LP_Order();
|
385 |
$user_id = 0;
|
386 |
+
|
387 |
if ( is_user_logged_in() ) {
|
388 |
$user_id = get_current_user_id();
|
389 |
} else {
|
390 |
+
$checkout_option = LP_Request::get_param( 'checkout-email-option' );
|
391 |
+
// Set user id for Order if buy with Guest and email exists on the user
|
392 |
+
$user_id = $this->checkout_email_exists();
|
393 |
|
394 |
// Create new user if buy with Guest and tick "Create new Account"
|
395 |
if ( $checkout_option === 'new-account' ) {
|
396 |
+
if ( $user_id ) {
|
397 |
+
throw new Exception( __( 'New account email is existed', 'learnpress' ), 0 );
|
398 |
}
|
399 |
|
400 |
+
//$order->set_meta( '_create_account', 'yes' );
|
|
|
|
|
401 |
|
402 |
+
$user_id = $this->create_account();
|
403 |
+
if ( $user_id ) {
|
404 |
+
// Notify mail create user success
|
405 |
wp_new_user_notification( $user_id, null, apply_filters( 'learn-press/email-create-new-user-when-checkout', 'user' ) );
|
406 |
+
} else {
|
407 |
+
throw new Exception( __( 'Create account failed', 'learnpress' ), 0 );
|
|
|
|
|
|
|
|
|
408 |
}
|
409 |
}
|
|
|
|
|
|
|
|
|
410 |
}
|
411 |
|
412 |
$order->set_customer_note( $this->order_comment );
|
413 |
$order->set_status( learn_press_default_order_status( 'lp-' ) );
|
414 |
+
$order->set_total( $cart_data->total );
|
415 |
+
$order->set_subtotal( $cart_data->subtotal );
|
416 |
$order->set_user_ip_address( learn_press_get_ip() );
|
417 |
$order->set_user_agent( learn_press_get_user_agent() );
|
418 |
$order->set_created_via( 'checkout' );
|
419 |
$order->set_user_id( apply_filters( 'learn-press/checkout/default-user', $user_id ) );
|
420 |
+
if ( $this->payment_method instanceof LP_Gateway_Abstract ) {
|
421 |
+
$order->set_data( 'payment_method', $this->payment_method->get_id() );
|
422 |
+
$order->set_data( 'payment_method_title', $this->payment_method->get_title() );
|
423 |
+
}
|
424 |
|
425 |
if ( $this->is_enable_guest_checkout() && $this->get_checkout_email() ) {
|
426 |
$order->set_checkout_email( $this->get_checkout_email() );
|
428 |
|
429 |
$order_id = $order->save();
|
430 |
|
431 |
+
// Store the line items to the order
|
432 |
foreach ( $cart->get_items() as $item ) {
|
433 |
$item_type = get_post_type( $item['item_id'] );
|
434 |
|
445 |
do_action( 'learn-press/checkout/add-order-item-meta', $item_id, $item );
|
446 |
}
|
447 |
|
|
|
|
|
448 |
if ( ! empty( $this->user_id ) ) {
|
449 |
do_action( 'learn-press/checkout/update-user-meta', $this->user_id );
|
450 |
}
|
454 |
if ( ! $order_id || is_wp_error( $order_id ) ) {
|
455 |
learn_press_add_message( __( 'Unable to checkout. Order creation failed.', 'learnpress' ) );
|
456 |
}
|
|
|
|
|
|
|
457 |
} catch ( Exception $e ) {
|
|
|
458 |
learn_press_add_message( $e->getMessage() );
|
459 |
|
460 |
return false;
|
667 |
$has_error = false;
|
668 |
|
669 |
try {
|
|
|
670 |
if ( function_exists( 'set_time_limit' ) ) {
|
671 |
@set_time_limit( 0 ); // @codingStandardsIgnoreLine
|
672 |
}
|
673 |
|
674 |
do_action( 'learn-press/before-checkout' );
|
675 |
|
676 |
+
$cart = LearnPress::instance()->cart;
|
|
|
|
|
677 |
if ( $cart->is_empty() ) {
|
678 |
throw new Exception( __( 'Your cart is currently empty.', 'learnpress' ) );
|
679 |
}
|
696 |
$messages[ $key ] = array( $error, 'error' );
|
697 |
}
|
698 |
} else {
|
699 |
+
//LearnPress::instance()->cart->calculate_totals();
|
700 |
// maybe throw new exception
|
701 |
$this->validate_payment();
|
702 |
|
703 |
// Create order.
|
704 |
$order_id = $this->create_order();
|
|
|
705 |
if ( is_wp_error( $order_id ) ) {
|
706 |
throw new Exception( $order_id->get_error_message() );
|
707 |
}
|
709 |
// allow Third-party hook: send email and more...
|
710 |
do_action( 'learn-press/checkout-order-processed', $order_id, $this );
|
711 |
|
712 |
+
if ( $this->payment_method instanceof LP_Gateway_Abstract ) {
|
713 |
+
//LearnPress::instance()->session->set( 'order_awaiting_payment', $order_id );
|
|
|
714 |
// Process Payment
|
715 |
$result = $this->payment_method->process_payment( $order_id );
|
716 |
|
717 |
if ( isset( $result['result'] ) ) {
|
718 |
+
// Clear cart.
|
719 |
+
LearnPress::instance()->get_cart()->empty_cart();
|
720 |
+
|
721 |
if ( 'success' === $result['result'] ) {
|
722 |
$result = apply_filters( 'learn-press/payment-successful-result', $result, $order_id );
|
723 |
}
|
730 |
}
|
731 |
}
|
732 |
} else {
|
733 |
+
// For case enroll course free.
|
734 |
$order = new LP_Order( $order_id );
|
735 |
+
if ( $order->payment_complete() ) {
|
736 |
+
$is_guest_checkout = (bool) $this->guest_email;
|
|
|
|
|
737 |
$redirect = $order->get_checkout_order_received_url();
|
738 |
|
739 |
if ( ! $is_guest_checkout ) {
|
751 |
}
|
752 |
}
|
753 |
|
754 |
+
// Clear cart.
|
755 |
+
LearnPress::instance()->get_cart()->empty_cart();
|
756 |
+
|
757 |
$result = array(
|
758 |
'result' => 'success',
|
759 |
'redirect' => $redirect,
|
783 |
)
|
784 |
);
|
785 |
|
786 |
+
wp_send_json( $result );
|
787 |
}
|
788 |
|
789 |
/**
|
@@ -3,7 +3,7 @@
|
|
3 |
/**
|
4 |
* Class LP_Datetime
|
5 |
*/
|
6 |
-
class LP_Datetime
|
7 |
/**
|
8 |
* @var string $format.
|
9 |
*/
|
@@ -36,7 +36,7 @@ class LP_Datetime extends DateTime {
|
|
36 |
/**
|
37 |
* Constructor.
|
38 |
*
|
39 |
-
* @param string $date
|
40 |
* @param mixed $tz
|
41 |
*
|
42 |
* @throws
|
@@ -53,7 +53,8 @@ class LP_Datetime extends DateTime {
|
|
53 |
}
|
54 |
|
55 |
//date_default_timezone_set( 'UTC' );
|
56 |
-
parent::__construct( $this->raw_date );
|
|
|
57 |
}
|
58 |
|
59 |
/**
|
@@ -82,12 +83,20 @@ class LP_Datetime extends DateTime {
|
|
82 |
* Check if time is exceeded with current time
|
83 |
*
|
84 |
* using by Addon Content Drip.
|
|
|
|
|
|
|
85 |
*/
|
86 |
-
public function is_exceeded(
|
87 |
-
return $this->getTimestamp() >=
|
88 |
}
|
89 |
|
90 |
-
|
|
|
|
|
|
|
|
|
|
|
91 |
return ! $this->raw_date || $this->raw_date === '0000-00-00 00:00:00';
|
92 |
}
|
93 |
|
@@ -164,69 +173,67 @@ class LP_Datetime extends DateTime {
|
|
164 |
* @return string The date as a formatted string.
|
165 |
*/
|
166 |
public function __toString() {
|
167 |
-
return
|
168 |
}
|
169 |
|
170 |
/**
|
171 |
* Gets the date as a formatted string.
|
172 |
*
|
173 |
-
* @param string $format
|
174 |
-
* @param boolean $local
|
175 |
*
|
176 |
-
* @
|
|
|
|
|
177 |
*/
|
178 |
-
public function format( $format = '', $local = true ) {
|
179 |
-
|
180 |
-
|
|
|
|
|
181 |
}
|
182 |
|
183 |
if ( empty( $format ) ) {
|
184 |
-
$format = '
|
185 |
}
|
186 |
|
187 |
-
$return = false;
|
188 |
-
|
189 |
switch ( $format ) {
|
190 |
case 'i18n':
|
191 |
-
$
|
192 |
-
break;
|
193 |
-
case 'timestamp':
|
194 |
-
$return = $this->getTimestamp( $local );
|
195 |
break;
|
|
|
|
|
|
|
196 |
case 'human':
|
197 |
-
$
|
198 |
-
$time_diff =
|
199 |
|
200 |
if ( $time_diff > 0 ) {
|
201 |
-
$
|
202 |
}
|
203 |
break;
|
204 |
case 'mysql':
|
205 |
-
$
|
206 |
break;
|
207 |
default:
|
208 |
-
$
|
209 |
}
|
210 |
|
211 |
-
|
212 |
-
|
213 |
-
|
214 |
-
/**
|
215 |
-
* Get format date time by settings of WP
|
216 |
-
*
|
217 |
-
* @since 4.1.7.3
|
218 |
-
* @return void
|
219 |
-
*/
|
220 |
-
public function get_local_date_time() {
|
221 |
|
|
|
222 |
}
|
223 |
|
224 |
/**
|
225 |
* @param boolean $hours True to return the value in hours.
|
226 |
*
|
227 |
* @return float
|
|
|
228 |
*/
|
229 |
public function getOffset( $hours = false ) {
|
|
|
230 |
return $this->tz ? (float) $hours ? ( $this->tz->getOffset( $this ) / 3600 ) : $this->tz->getOffset( $this ) : 0;
|
231 |
}
|
232 |
|
@@ -259,10 +266,12 @@ class LP_Datetime extends DateTime {
|
|
259 |
*
|
260 |
* @param boolean $local True to return the date string in the local time zone, false to return it in GMT.
|
261 |
*
|
|
|
|
|
262 |
* @return string
|
263 |
*/
|
264 |
-
public function toSql( $local = true ) {
|
265 |
-
return $this->format( '
|
266 |
}
|
267 |
|
268 |
/**
|
@@ -293,8 +302,10 @@ class LP_Datetime extends DateTime {
|
|
293 |
* @param boolean $local True to return the date string in the local time zone, false to return it in GMT.
|
294 |
*
|
295 |
* @return string
|
|
|
296 |
*/
|
297 |
public function toRFC822( $local = true ) {
|
|
|
298 |
return $this->format( DateTime::RFC2822, $local );
|
299 |
}
|
300 |
|
@@ -306,17 +317,23 @@ class LP_Datetime extends DateTime {
|
|
306 |
*/
|
307 |
public function toUnix() {
|
308 |
_deprecated_function( __METHOD__, '4.1.7.3' );
|
309 |
-
return (int) parent::format( 'U' );
|
310 |
}
|
311 |
|
312 |
-
|
313 |
-
|
314 |
-
|
315 |
-
|
316 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
317 |
}
|
318 |
|
319 |
-
return $
|
320 |
}
|
321 |
|
322 |
/**
|
@@ -356,16 +373,20 @@ class LP_Datetime extends DateTime {
|
|
356 |
public function addDuration( $seconds ) {
|
357 |
_deprecated_function( __METHOD__, '4.1.7.3' );
|
358 |
$timestamp = $this->getTimestamp();
|
359 |
-
parent::__construct( date( 'Y-m-d H:i:s', $timestamp + $seconds ), $this->tz ); // phpcs:ignore
|
360 |
}
|
361 |
|
|
|
|
|
|
|
362 |
public function getPeriod( $seconds, $local = true ) {
|
363 |
-
|
|
|
364 |
|
365 |
if ( ! is_numeric( $seconds ) ) {
|
366 |
$seconds = strtotime( $seconds ) - time();
|
367 |
}
|
368 |
|
369 |
-
return date( 'Y-m-d H:i:s', $timestamp + $seconds )
|
370 |
}
|
371 |
}
|
3 |
/**
|
4 |
* Class LP_Datetime
|
5 |
*/
|
6 |
+
class LP_Datetime {
|
7 |
/**
|
8 |
* @var string $format.
|
9 |
*/
|
36 |
/**
|
37 |
* Constructor.
|
38 |
*
|
39 |
+
* @param string|int $date
|
40 |
* @param mixed $tz
|
41 |
*
|
42 |
* @throws
|
53 |
}
|
54 |
|
55 |
//date_default_timezone_set( 'UTC' );
|
56 |
+
//parent::__construct( $this->raw_date );
|
57 |
+
//$m = $this->format( 'm' );
|
58 |
}
|
59 |
|
60 |
/**
|
83 |
* Check if time is exceeded with current time
|
84 |
*
|
85 |
* using by Addon Content Drip.
|
86 |
+
*
|
87 |
+
* @since 3.0.1
|
88 |
+
* @version 4.0.1
|
89 |
*/
|
90 |
+
public function is_exceeded(): bool {
|
91 |
+
return $this->getTimestamp() >= time();
|
92 |
}
|
93 |
|
94 |
+
/**
|
95 |
+
* Check date is null
|
96 |
+
*
|
97 |
+
* @return bool
|
98 |
+
*/
|
99 |
+
public function is_null(): bool {
|
100 |
return ! $this->raw_date || $this->raw_date === '0000-00-00 00:00:00';
|
101 |
}
|
102 |
|
173 |
* @return string The date as a formatted string.
|
174 |
*/
|
175 |
public function __toString() {
|
176 |
+
return $this->format( self::$format );
|
177 |
}
|
178 |
|
179 |
/**
|
180 |
* Gets the date as a formatted string.
|
181 |
*
|
182 |
+
* @param string $format Set i18n to return date in local time.
|
183 |
+
* @param boolean $local.
|
184 |
*
|
185 |
+
* @since 3.0.0
|
186 |
+
* @version 4.0.1
|
187 |
+
* @return string.
|
188 |
*/
|
189 |
+
public function format( string $format = '', bool $local = true ): string {
|
190 |
+
$date_str = '';
|
191 |
+
|
192 |
+
if ( '0000-00-00 00:00:00' === $this->get_raw_date() ) {
|
193 |
+
return $date_str;
|
194 |
}
|
195 |
|
196 |
if ( empty( $format ) ) {
|
197 |
+
$format = get_option( 'date_format', 'Y-m-d' );
|
198 |
}
|
199 |
|
|
|
|
|
200 |
switch ( $format ) {
|
201 |
case 'i18n':
|
202 |
+
$date_str = learn_press_date_i18n( $this->getTimestamp() );
|
|
|
|
|
|
|
203 |
break;
|
204 |
+
/*case 'timestamp':
|
205 |
+
$date_str = $this->getTimestamp();
|
206 |
+
break;*/
|
207 |
case 'human':
|
208 |
+
$time = $this->getTimestamp();
|
209 |
+
$time_diff = time() - $time;
|
210 |
|
211 |
if ( $time_diff > 0 ) {
|
212 |
+
$date_str = sprintf( __( '%s ago', 'learnpress' ), human_time_diff( $time, time() ) );
|
213 |
}
|
214 |
break;
|
215 |
case 'mysql':
|
216 |
+
$date_str = gmdate( 'Y-m-d H:i:s', $this->getTimestamp() );
|
217 |
break;
|
218 |
default:
|
219 |
+
$date_str = gmdate( $format, $this->getTimestamp() );
|
220 |
}
|
221 |
|
222 |
+
if ( ! is_string( $date_str ) ) {
|
223 |
+
$date_str = '';
|
224 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
225 |
|
226 |
+
return $date_str;
|
227 |
}
|
228 |
|
229 |
/**
|
230 |
* @param boolean $hours True to return the value in hours.
|
231 |
*
|
232 |
* @return float
|
233 |
+
* @deprecated 4.1.7.3
|
234 |
*/
|
235 |
public function getOffset( $hours = false ) {
|
236 |
+
_deprecated_function( __METHOD__, '4.1.7.3' );
|
237 |
return $this->tz ? (float) $hours ? ( $this->tz->getOffset( $this ) / 3600 ) : $this->tz->getOffset( $this ) : 0;
|
238 |
}
|
239 |
|
266 |
*
|
267 |
* @param boolean $local True to return the date string in the local time zone, false to return it in GMT.
|
268 |
*
|
269 |
+
* @since 3.0.0
|
270 |
+
* @version 4.0.1
|
271 |
* @return string
|
272 |
*/
|
273 |
+
public function toSql( $local = true ): string {
|
274 |
+
return $this->format( 'mysql' );
|
275 |
}
|
276 |
|
277 |
/**
|
302 |
* @param boolean $local True to return the date string in the local time zone, false to return it in GMT.
|
303 |
*
|
304 |
* @return string
|
305 |
+
* @deprecated 4.1.7.3
|
306 |
*/
|
307 |
public function toRFC822( $local = true ) {
|
308 |
+
_deprecated_function( __METHOD__, '4.1.7.3' );
|
309 |
return $this->format( DateTime::RFC2822, $local );
|
310 |
}
|
311 |
|
317 |
*/
|
318 |
public function toUnix() {
|
319 |
_deprecated_function( __METHOD__, '4.1.7.3' );
|
320 |
+
//return (int) parent::format( 'U' );
|
321 |
}
|
322 |
|
323 |
+
/**
|
324 |
+
* Get timestamp of Date.
|
325 |
+
*
|
326 |
+
* @return int
|
327 |
+
*/
|
328 |
+
public function getTimestamp( $local = true ): int {
|
329 |
+
try {
|
330 |
+
$date = new DateTime( $this->get_raw_date() );
|
331 |
+
} catch ( Throwable $e ) {
|
332 |
+
error_log( $e->getMessage() );
|
333 |
+
$date = new DateTime();
|
334 |
}
|
335 |
|
336 |
+
return $date->getTimestamp();
|
337 |
}
|
338 |
|
339 |
/**
|
373 |
public function addDuration( $seconds ) {
|
374 |
_deprecated_function( __METHOD__, '4.1.7.3' );
|
375 |
$timestamp = $this->getTimestamp();
|
376 |
+
//parent::__construct( date( 'Y-m-d H:i:s', $timestamp + $seconds ), $this->tz ); // phpcs:ignore
|
377 |
}
|
378 |
|
379 |
+
/**
|
380 |
+
* @deprecated 4.1.7.3
|
381 |
+
*/
|
382 |
public function getPeriod( $seconds, $local = true ) {
|
383 |
+
_deprecated_function( __METHOD__, '4.1.7.3' );
|
384 |
+
/*$timestamp = $this->getTimestamp( $local );
|
385 |
|
386 |
if ( ! is_numeric( $seconds ) ) {
|
387 |
$seconds = strtotime( $seconds ) - time();
|
388 |
}
|
389 |
|
390 |
+
return date( 'Y-m-d H:i:s', $timestamp + $seconds );*/
|
391 |
}
|
392 |
}
|
@@ -267,7 +267,7 @@ class LP_Page_Controller {
|
|
267 |
array(
|
268 |
$page_title,
|
269 |
'→',
|
270 |
-
$tab
|
271 |
)
|
272 |
)
|
273 |
);
|
@@ -280,6 +280,10 @@ class LP_Page_Controller {
|
|
280 |
$title .= ' - ' . get_bloginfo( 'name', 'display' );
|
281 |
}
|
282 |
|
|
|
|
|
|
|
|
|
283 |
return apply_filters( 'learn-press/title-page', $title );
|
284 |
}
|
285 |
|
267 |
array(
|
268 |
$page_title,
|
269 |
'→',
|
270 |
+
$tab->get( 'title' ),
|
271 |
)
|
272 |
)
|
273 |
);
|
280 |
$title .= ' - ' . get_bloginfo( 'name', 'display' );
|
281 |
}
|
282 |
|
283 |
+
if ( empty( $title ) ) {
|
284 |
+
$title = get_bloginfo( 'name', 'display' );
|
285 |
+
}
|
286 |
+
|
287 |
return apply_filters( 'learn-press/title-page', $title );
|
288 |
}
|
289 |
|
@@ -1,6 +1,11 @@
|
|
1 |
<?php
|
2 |
/**
|
3 |
* Class LP_Query_List_Table
|
|
|
|
|
|
|
|
|
|
|
4 |
*/
|
5 |
class LP_Query_List_Table implements ArrayAccess {
|
6 |
/**
|
@@ -70,6 +75,10 @@ class LP_Query_List_Table implements ArrayAccess {
|
|
70 |
return $this->_data['items'];
|
71 |
}
|
72 |
|
|
|
|
|
|
|
|
|
73 |
/**
|
74 |
* @return int
|
75 |
*/
|
1 |
<?php
|
2 |
/**
|
3 |
* Class LP_Query_List_Table
|
4 |
+
*
|
5 |
+
* @since 3.0.0
|
6 |
+
* @version 3.0.1
|
7 |
+
* Addons: Assignments, H5P is using.
|
8 |
+
* Update all before not implements ArrayAccess
|
9 |
*/
|
10 |
class LP_Query_List_Table implements ArrayAccess {
|
11 |
/**
|
75 |
return $this->_data['items'];
|
76 |
}
|
77 |
|
78 |
+
public function get( string $key = '' ) {
|
79 |
+
return empty( $key ) ? $this->_data : $this->_data[ $key ];
|
80 |
+
}
|
81 |
+
|
82 |
/**
|
83 |
* @return int
|
84 |
*/
|
@@ -116,8 +116,8 @@ class LP_Query {
|
|
116 |
$has_category = true;
|
117 |
}
|
118 |
|
119 |
-
$custom_slug_lesson = sanitize_title_with_dashes( LP_Settings::
|
120 |
-
$custom_slug_quiz = sanitize_title_with_dashes( LP_Settings::
|
121 |
|
122 |
/**
|
123 |
* Use urldecode to convert an encoded string to normal.
|
116 |
$has_category = true;
|
117 |
}
|
118 |
|
119 |
+
$custom_slug_lesson = sanitize_title_with_dashes( LP_Settings::get_option( 'lesson_slug', 'lessons' ) );
|
120 |
+
$custom_slug_quiz = sanitize_title_with_dashes( LP_Settings::get_option( 'quiz_slug', 'quizzes' ) );
|
121 |
|
122 |
/**
|
123 |
* Use urldecode to convert an encoded string to normal.
|
@@ -519,7 +519,7 @@ class LP_Request {
|
|
519 |
return $cookie[ $name ] ?? $def;
|
520 |
}
|
521 |
|
522 |
-
public static function set_cookie( $name, $value, $expires = '', $domain = '', $path = '', $secure = false ) {
|
523 |
if ( func_num_args() > 2 ) {
|
524 |
learn_press_setcookie( $name, $value, $expires, $secure );
|
525 |
} else {
|
@@ -528,12 +528,15 @@ class LP_Request {
|
|
528 |
$cookie[ $name ] = $value;
|
529 |
learn_press_setcookie( 'LP', $value );
|
530 |
}
|
531 |
-
}
|
532 |
}
|
533 |
|
534 |
LP_Request::init();
|
535 |
|
536 |
-
|
|
|
|
|
|
|
537 |
class LP_Request_Handler extends LP_Request {
|
538 |
|
539 |
}
|
519 |
return $cookie[ $name ] ?? $def;
|
520 |
}
|
521 |
|
522 |
+
/*public static function set_cookie( $name, $value, $expires = '', $domain = '', $path = '', $secure = false ) {
|
523 |
if ( func_num_args() > 2 ) {
|
524 |
learn_press_setcookie( $name, $value, $expires, $secure );
|
525 |
} else {
|
528 |
$cookie[ $name ] = $value;
|
529 |
learn_press_setcookie( 'LP', $value );
|
530 |
}
|
531 |
+
}*/
|
532 |
}
|
533 |
|
534 |
LP_Request::init();
|
535 |
|
536 |
+
/**
|
537 |
+
* @deprecated 4.1.7.3
|
538 |
+
* using in the addon course review 4.0.3, wishlist 4.0.3
|
539 |
+
*/
|
540 |
class LP_Request_Handler extends LP_Request {
|
541 |
|
542 |
}
|
@@ -2,13 +2,14 @@
|
|
2 |
|
3 |
/**
|
4 |
* Class LP_Session_Handler
|
|
|
|
|
5 |
*/
|
6 |
-
class LP_Session_Handler
|
7 |
-
|
8 |
/**
|
9 |
-
* @var
|
10 |
*/
|
11 |
-
|
12 |
|
13 |
/**
|
14 |
* @var array $_data
|
@@ -23,15 +24,16 @@ class LP_Session_Handler implements ArrayAccess {
|
|
23 |
/**
|
24 |
* @var string cookie name
|
25 |
*/
|
26 |
-
private $_cookie;
|
27 |
|
28 |
/**
|
29 |
-
* @var
|
30 |
*/
|
31 |
-
private $_session_expiration;
|
32 |
|
33 |
/**
|
34 |
-
* $var bool
|
|
|
35 |
*/
|
36 |
private $_has_cookie = false;
|
37 |
|
@@ -44,6 +46,7 @@ class LP_Session_Handler implements ArrayAccess {
|
|
44 |
|
45 |
/**
|
46 |
* @var string Custom session table name
|
|
|
47 |
*/
|
48 |
private $_table;
|
49 |
|
@@ -58,9 +61,13 @@ class LP_Session_Handler implements ArrayAccess {
|
|
58 |
* @param mixed $key
|
59 |
*
|
60 |
* @return mixed
|
|
|
|
|
|
|
61 |
*/
|
62 |
public function __get( $key ) {
|
63 |
-
|
|
|
64 |
}
|
65 |
|
66 |
/**
|
@@ -68,12 +75,16 @@ class LP_Session_Handler implements ArrayAccess {
|
|
68 |
*
|
69 |
* @param mixed $key
|
70 |
* @param mixed $value
|
|
|
|
|
|
|
71 |
*/
|
72 |
public function __set( $key, $value ) {
|
|
|
73 |
// if ( $key === 'order_awaiting_payment' ) {
|
74 |
|
75 |
// }
|
76 |
-
|
77 |
}
|
78 |
|
79 |
/**
|
@@ -82,74 +93,119 @@ class LP_Session_Handler implements ArrayAccess {
|
|
82 |
* @param mixed $key
|
83 |
*
|
84 |
* @return bool
|
|
|
85 |
*/
|
86 |
public function __isset( $key ) {
|
87 |
-
|
|
|
88 |
}
|
89 |
|
90 |
/**
|
91 |
* __unset function.
|
92 |
*
|
93 |
* @param mixed $key
|
|
|
94 |
*/
|
95 |
public function __unset( $key ) {
|
|
|
96 |
if ( isset( $this->_data[ $key ] ) ) {
|
97 |
unset( $this->_data[ $key ] );
|
98 |
$this->_changed = true;
|
99 |
}
|
100 |
}
|
101 |
|
102 |
-
protected $schedule_id = 'learn-press/clear-expired-session';
|
103 |
|
104 |
/**
|
105 |
* LP_Session_Handler constructor.
|
106 |
*
|
107 |
* @version 3.2.2
|
108 |
*/
|
109 |
-
|
110 |
$this->init();
|
111 |
$this->init_hooks();
|
112 |
}
|
113 |
|
114 |
protected function init_hooks() {
|
115 |
-
add_action( '
|
116 |
-
add_action( 'learn_press_cleanup_sessions', array( $this, 'cleanup_sessions' ), 10 );
|
117 |
-
add_action( 'shutdown', array( $this, 'save_data' ), 20 );
|
118 |
add_action( 'wp_logout', array( $this, 'destroy_session' ) );
|
|
|
|
|
|
|
119 |
//add_action( 'wp', array( $this, 'schedule_event' ) );
|
120 |
//add_action( $this->schedule_id, array( $this, 'cleanup_sessions' ), 10 );
|
121 |
}
|
122 |
|
123 |
-
|
124 |
-
|
125 |
-
|
126 |
-
|
127 |
-
|
128 |
-
|
129 |
-
|
130 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
131 |
}
|
132 |
|
133 |
-
|
134 |
-
|
135 |
-
|
136 |
-
|
137 |
|
138 |
-
|
139 |
-
|
140 |
-
|
141 |
-
|
142 |
-
|
143 |
-
|
144 |
-
|
145 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
146 |
}
|
147 |
-
} else {
|
148 |
-
$this->set_session_expiration();
|
149 |
-
$this->_customer_id = $this->generate_customer_id();
|
150 |
|
|
|
151 |
}
|
152 |
-
$this->_data = $this->get_session_data();
|
153 |
}
|
154 |
|
155 |
/*public function schedule_event() {
|
@@ -158,224 +214,318 @@ class LP_Session_Handler implements ArrayAccess {
|
|
158 |
}
|
159 |
}*/
|
160 |
|
161 |
-
|
162 |
-
|
163 |
-
|
164 |
-
|
165 |
-
|
166 |
-
|
167 |
-
|
168 |
-
|
169 |
-
|
170 |
-
|
171 |
-
|
172 |
-
|
|
|
|
|
173 |
}
|
|
|
|
|
174 |
}
|
175 |
|
|
|
|
|
|
|
176 |
public function has_cookie() {
|
177 |
-
|
|
|
178 |
}
|
179 |
|
180 |
-
|
181 |
-
|
|
|
|
|
|
|
|
|
|
|
182 |
}
|
183 |
|
184 |
-
|
185 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
186 |
}
|
187 |
|
188 |
-
|
189 |
-
|
190 |
-
|
191 |
-
|
192 |
-
|
193 |
-
|
|
|
|
|
194 |
|
195 |
-
|
196 |
-
}
|
197 |
}
|
198 |
|
199 |
-
|
200 |
-
|
|
|
|
|
|
|
|
|
201 |
if ( empty( $_COOKIE[ $this->_cookie ] ) || ! is_string( $_COOKIE[ $this->_cookie ] ) ) {
|
202 |
-
return
|
203 |
}
|
204 |
|
205 |
list( $customer_id, $session_expiration, $cookie_hash ) = explode( '||', $_COOKIE[ $this->_cookie ] );
|
206 |
|
207 |
$to_hash = $customer_id . '|' . $session_expiration;
|
208 |
$hash = hash_hmac( 'md5', $to_hash, wp_hash( $to_hash ) );
|
209 |
-
|
210 |
-
// LP_Debug::instance()->add( array(
|
211 |
-
// $this->_customer_id,
|
212 |
-
// $_COOKIE,
|
213 |
-
// $_REQUEST,
|
214 |
-
// $_POST,
|
215 |
-
// $_GET,
|
216 |
-
// $_SERVER
|
217 |
-
// ), 'sessions-cookie' );
|
218 |
-
|
219 |
if ( empty( $cookie_hash ) || ! hash_equals( $hash, $cookie_hash ) ) {
|
220 |
-
return
|
221 |
}
|
222 |
|
223 |
return array( $customer_id, $session_expiration, $cookie_hash );
|
224 |
}
|
225 |
|
226 |
-
|
227 |
-
|
228 |
-
|
229 |
-
|
230 |
-
|
231 |
-
|
232 |
-
|
233 |
-
|
234 |
-
|
235 |
-
|
236 |
}
|
237 |
|
238 |
-
return
|
239 |
}
|
240 |
|
241 |
/**
|
242 |
* Increment group cache prefix (invalidates cache).
|
243 |
*
|
244 |
* @param string $group
|
|
|
245 |
*/
|
246 |
public function incr_cache_prefix( $group ) {
|
247 |
-
|
|
|
248 |
}
|
249 |
|
250 |
-
|
251 |
-
|
252 |
-
|
253 |
-
|
254 |
-
|
255 |
-
|
256 |
-
|
257 |
-
|
258 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
259 |
'session_value' => maybe_serialize( $this->_data ),
|
260 |
'session_expiry' => $this->_session_expiration,
|
261 |
-
|
262 |
-
|
263 |
-
|
264 |
-
|
265 |
-
|
266 |
-
|
267 |
-
|
268 |
-
|
269 |
-
|
270 |
-
|
271 |
-
|
272 |
-
|
273 |
-
|
274 |
-
|
275 |
-
|
276 |
-
|
277 |
-
|
278 |
-
|
279 |
-
|
280 |
-
|
281 |
-
|
|
|
|
|
|
|
|
|
|
|
282 |
}
|
|
|
|
|
283 |
}
|
284 |
|
|
|
|
|
|
|
285 |
public function destroy_session() {
|
286 |
-
|
287 |
if ( $id ) {
|
288 |
delete_user_meta( $id, '_lp_expiration' );
|
289 |
-
}
|
290 |
|
291 |
-
// Clear cookie
|
292 |
-
|
293 |
-
|
294 |
-
|
295 |
-
|
296 |
-
// Clear cart
|
297 |
-
$this->set( 'cart', '' );
|
298 |
-
$this->set( 'temp_user', '' );
|
299 |
|
300 |
-
// Clear
|
301 |
-
$this->
|
302 |
-
$this->_changed = false;
|
303 |
-
$this->_customer_id = $this->generate_customer_id();
|
304 |
|
305 |
-
$logout_redirect_page_id = LP_Settings::get_option( 'logout_redirect_page_id'
|
306 |
if ( $logout_redirect_page_id ) {
|
307 |
-
|
308 |
wp_safe_redirect( get_the_permalink( $logout_redirect_page_id ) );
|
309 |
die;
|
310 |
}
|
311 |
}
|
312 |
|
313 |
-
|
314 |
-
|
315 |
-
|
316 |
-
|
317 |
-
|
318 |
-
|
319 |
-
|
320 |
-
|
321 |
-
|
322 |
-
|
323 |
-
|
324 |
-
|
325 |
-
|
326 |
-
|
327 |
-
|
|
|
|
|
|
|
328 |
|
329 |
-
|
330 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
331 |
}
|
332 |
|
333 |
-
|
334 |
-
|
335 |
-
// echo "KEY:" . $this->get_cache_prefix() . $customer_id . "]";
|
336 |
|
337 |
-
|
338 |
-
|
339 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
340 |
|
341 |
-
|
342 |
-
|
|
|
|
|
|
|
|
|
343 |
}
|
344 |
|
345 |
-
|
|
|
|
|
|
|
|
|
346 |
}
|
347 |
|
348 |
-
return
|
349 |
}
|
350 |
|
351 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
352 |
global $wpdb;
|
|
|
353 |
|
354 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
355 |
|
356 |
-
$
|
357 |
-
$this->_table,
|
358 |
-
array(
|
359 |
-
'session_key' => $customer_id,
|
360 |
-
)
|
361 |
-
);
|
362 |
}
|
363 |
|
364 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
365 |
global $wpdb;
|
366 |
-
$
|
367 |
-
|
368 |
-
|
369 |
-
|
370 |
-
|
371 |
-
|
372 |
-
'session_key' => $customer_id,
|
373 |
-
|
374 |
-
|
375 |
-
|
376 |
-
)
|
377 |
-
)
|
378 |
-
|
|
|
|
|
|
|
|
|
379 |
}
|
380 |
|
381 |
/**
|
@@ -427,8 +577,11 @@ class LP_Session_Handler implements ArrayAccess {
|
|
427 |
}
|
428 |
}
|
429 |
|
430 |
-
|
431 |
-
|
|
|
|
|
|
|
432 |
}
|
433 |
|
434 |
public function get_session_expiration() {
|
@@ -436,27 +589,43 @@ class LP_Session_Handler implements ArrayAccess {
|
|
436 |
}
|
437 |
|
438 |
public static function instance() {
|
439 |
-
if (
|
440 |
self::$_instance = new self();
|
441 |
}
|
442 |
|
443 |
return self::$_instance;
|
444 |
}
|
445 |
|
|
|
|
|
|
|
446 |
public function offsetExists( $offset ) {
|
|
|
447 |
return array_key_exists( $offset, $this->_data );
|
448 |
}
|
449 |
|
|
|
|
|
|
|
450 |
public function offsetGet( $offset ) {
|
451 |
-
|
|
|
452 |
}
|
453 |
|
|
|
|
|
|
|
454 |
public function offsetUnset( $offset ) {
|
455 |
-
|
|
|
456 |
}
|
457 |
|
|
|
|
|
|
|
458 |
public function offsetSet( $offset, $value ) {
|
459 |
-
|
|
|
460 |
}
|
461 |
}
|
462 |
|
2 |
|
3 |
/**
|
4 |
* Class LP_Session_Handler
|
5 |
+
*
|
6 |
+
* Only set COOKIE for user guest
|
7 |
*/
|
8 |
+
class LP_Session_Handler {
|
|
|
9 |
/**
|
10 |
+
* @var string $_customer_id
|
11 |
*/
|
12 |
+
public $_customer_id = '';
|
13 |
|
14 |
/**
|
15 |
* @var array $_data
|
24 |
/**
|
25 |
* @var string cookie name
|
26 |
*/
|
27 |
+
private $_cookie = '';
|
28 |
|
29 |
/**
|
30 |
+
* @var int session expiration timestamp
|
31 |
*/
|
32 |
+
private $_session_expiration = 0;
|
33 |
|
34 |
/**
|
35 |
+
* $var bool based on whether a cookie exists
|
36 |
+
* @deprecated 4.1.7.4
|
37 |
*/
|
38 |
private $_has_cookie = false;
|
39 |
|
46 |
|
47 |
/**
|
48 |
* @var string Custom session table name
|
49 |
+
* @deprecated 4.1.7.4
|
50 |
*/
|
51 |
private $_table;
|
52 |
|
61 |
* @param mixed $key
|
62 |
*
|
63 |
* @return mixed
|
64 |
+
* @deprecated 4.1.7.4
|
65 |
+
* Addon Stripe, 2Checkout, Authorize, Certificate is using this method via call session->order_awaiting_payment
|
66 |
+
* After change all to session->set('order_awaiting_payment') we can remove this method.
|
67 |
*/
|
68 |
public function __get( $key ) {
|
69 |
+
_deprecated_function( __METHOD__, '4.1.7.4' );
|
70 |
+
//return $this->get( $key );
|
71 |
}
|
72 |
|
73 |
/**
|
75 |
*
|
76 |
* @param mixed $key
|
77 |
* @param mixed $value
|
78 |
+
* @deprecated 4.1.7.4
|
79 |
+
* Addon Stripe, 2Checkout, Authorize, Certificate is using this method via call session->order_awaiting_payment
|
80 |
+
* After change all to session->set('order_awaiting_payment') we can remove this method.
|
81 |
*/
|
82 |
public function __set( $key, $value ) {
|
83 |
+
_deprecated_function( 'LP_Session::__set', '4.1.7.4' );
|
84 |
// if ( $key === 'order_awaiting_payment' ) {
|
85 |
|
86 |
// }
|
87 |
+
//$this->set( $key, $value );
|
88 |
}
|
89 |
|
90 |
/**
|
93 |
* @param mixed $key
|
94 |
*
|
95 |
* @return bool
|
96 |
+
* @deprecated 4.1.7.4
|
97 |
*/
|
98 |
public function __isset( $key ) {
|
99 |
+
_deprecated_function( __METHOD__, '4.1.7.4' );
|
100 |
+
//return isset( $this->_data[ sanitize_key( $key ) ] );
|
101 |
}
|
102 |
|
103 |
/**
|
104 |
* __unset function.
|
105 |
*
|
106 |
* @param mixed $key
|
107 |
+
* @deprecated 4.1.7.4
|
108 |
*/
|
109 |
public function __unset( $key ) {
|
110 |
+
_deprecated_function( __METHOD__, '4.1.7.4' );
|
111 |
if ( isset( $this->_data[ $key ] ) ) {
|
112 |
unset( $this->_data[ $key ] );
|
113 |
$this->_changed = true;
|
114 |
}
|
115 |
}
|
116 |
|
117 |
+
//protected $schedule_id = 'learn-press/clear-expired-session';
|
118 |
|
119 |
/**
|
120 |
* LP_Session_Handler constructor.
|
121 |
*
|
122 |
* @version 3.2.2
|
123 |
*/
|
124 |
+
protected function __construct() {
|
125 |
$this->init();
|
126 |
$this->init_hooks();
|
127 |
}
|
128 |
|
129 |
protected function init_hooks() {
|
130 |
+
add_action( 'wp_login', [ $this, 'handle_when_user_login_success' ], 10, 2 );
|
|
|
|
|
131 |
add_action( 'wp_logout', array( $this, 'destroy_session' ) );
|
132 |
+
//add_action( 'learn_press_set_cart_cookies', array( $this, 'set_customer_session_cookie' ), 10 );
|
133 |
+
//add_action( 'learn_press_cleanup_sessions', array( $this, 'cleanup_sessions' ), 10 );
|
134 |
+
//add_action( 'shutdown', array( $this, 'save_data' ), 20 );
|
135 |
//add_action( 'wp', array( $this, 'schedule_event' ) );
|
136 |
//add_action( $this->schedule_id, array( $this, 'cleanup_sessions' ), 10 );
|
137 |
}
|
138 |
|
139 |
+
/**
|
140 |
+
* Set COOKIE for only user guest
|
141 |
+
* Set data: customer_id, session_expiration
|
142 |
+
*
|
143 |
+
* @return self
|
144 |
+
* @since 3.0.0
|
145 |
+
* @version 4.0.1
|
146 |
+
* @modify Tungnx
|
147 |
+
*/
|
148 |
+
protected function init(): LP_Session_Handler {
|
149 |
+
$expire_time_for_guest = 2 * DAY_IN_SECONDS;
|
150 |
+
$expire_time_for_user = 6 * DAY_IN_SECONDS;
|
151 |
+
|
152 |
+
// Set data for user Guest.
|
153 |
+
if ( ! is_user_logged_in() ) { // Generate data and set cookie for guest
|
154 |
+
$this->_cookie = '_learn_press_session_' . COOKIEHASH;
|
155 |
+
$cookie = $this->get_cookie_data();
|
156 |
+
// If cookie exists, set data from cookie for guest
|
157 |
+
if ( ! empty( $cookie ) ) {
|
158 |
+
$this->_customer_id = (string) $cookie[0];
|
159 |
+
$this->_session_expiration = (int) $cookie[1];
|
160 |
+
//$this->_has_cookie = true;
|
161 |
+
if ( time() > $this->_session_expiration - HOUR_IN_SECONDS ) {
|
162 |
+
$this->set_session_expiration( $expire_time_for_guest );
|
163 |
+
$this->update_session_timestamp( $this->_customer_id, $this->_session_expiration );
|
164 |
+
}
|
165 |
+
} else { // Create new cookie and session for user Guest.
|
166 |
+
$this->set_session_expiration( $expire_time_for_guest );
|
167 |
+
$this->_customer_id = $this->generate_guest_id();
|
168 |
+
$this->set_customer_session_cookie();
|
169 |
+
}
|
170 |
+
} else { // Set data for user logged.
|
171 |
+
$this->set_session_expiration( $expire_time_for_user );
|
172 |
+
$this->_customer_id = get_current_user_id();
|
173 |
}
|
174 |
|
175 |
+
//$this->_data = $this->get_session_data();
|
176 |
+
|
177 |
+
return $this;
|
178 |
+
}
|
179 |
|
180 |
+
/**
|
181 |
+
* Handle when user logged in.
|
182 |
+
*
|
183 |
+
* @param $user_name
|
184 |
+
* @param $user
|
185 |
+
*
|
186 |
+
* @return void
|
187 |
+
*/
|
188 |
+
public function handle_when_user_login_success( $user_name, $user ) {
|
189 |
+
/**
|
190 |
+
* Must set wp_set_current_user to get_current_user_id and is_user_logged_in work correctly.
|
191 |
+
* Don't know why WP 6.3 and lower run wrong.
|
192 |
+
* If version WP after run correctly, remove wp_set_current_user.
|
193 |
+
*/
|
194 |
+
wp_set_current_user( $user->ID );
|
195 |
+
$user_id = get_current_user_id();
|
196 |
+
|
197 |
+
/**
|
198 |
+
* Delete session of user guest before.
|
199 |
+
*/
|
200 |
+
if ( $user_id ) {
|
201 |
+
$customer_id = $this->get_customer_id();
|
202 |
+
$user_before = get_user_by( 'ID', $customer_id );
|
203 |
+
if ( ! $user_before ) {
|
204 |
+
$this->delete_session( $customer_id . '' );
|
205 |
}
|
|
|
|
|
|
|
206 |
|
207 |
+
$this->_customer_id = $user_id;
|
208 |
}
|
|
|
209 |
}
|
210 |
|
211 |
/*public function schedule_event() {
|
214 |
}
|
215 |
}*/
|
216 |
|
217 |
+
/**
|
218 |
+
* Set cookie for user guest.
|
219 |
+
*
|
220 |
+
* @return LP_Session_Handler
|
221 |
+
*/
|
222 |
+
public function set_customer_session_cookie(): LP_Session_Handler {
|
223 |
+
$to_hash = $this->_customer_id . '|' . $this->_session_expiration;
|
224 |
+
$cookie_hash = hash_hmac( 'md5', $to_hash, wp_hash( $to_hash ) );
|
225 |
+
$cookie_value = $this->_customer_id . '||' . $this->_session_expiration . '||' . $cookie_hash;
|
226 |
+
//$this->_has_cookie = true;
|
227 |
+
|
228 |
+
// Set the cookie
|
229 |
+
if ( ! isset( $_COOKIE[ $this->_cookie ] ) || $_COOKIE[ $this->_cookie ] !== $cookie_value ) {
|
230 |
+
learn_press_setcookie( $this->_cookie, $cookie_value, $this->_session_expiration, is_ssl(), true );
|
231 |
}
|
232 |
+
|
233 |
+
return $this;
|
234 |
}
|
235 |
|
236 |
+
/**
|
237 |
+
* @deprecated 4.1.7.4
|
238 |
+
*/
|
239 |
public function has_cookie() {
|
240 |
+
_deprecated_function( __METHOD__, '4.1.7.4' );
|
241 |
+
//return $this->_has_cookie && $this->_has_browser_cookie;
|
242 |
}
|
243 |
|
244 |
+
/**
|
245 |
+
* Check has session.
|
246 |
+
*
|
247 |
+
* @return bool
|
248 |
+
*/
|
249 |
+
public function has_session(): bool {
|
250 |
+
return isset( $_COOKIE[ $this->_cookie ] ) || is_user_logged_in();
|
251 |
}
|
252 |
|
253 |
+
/**
|
254 |
+
* Set session expiration.
|
255 |
+
*
|
256 |
+
* @param int $duration
|
257 |
+
*
|
258 |
+
* @return LP_Session_Handler
|
259 |
+
*/
|
260 |
+
public function set_session_expiration( int $duration = 0 ): LP_Session_Handler {
|
261 |
+
$this->_session_expiration = time() + $duration;
|
262 |
+
|
263 |
+
return $this;
|
264 |
}
|
265 |
|
266 |
+
/**
|
267 |
+
* Generate string customer id for guest
|
268 |
+
*
|
269 |
+
* @return string
|
270 |
+
*/
|
271 |
+
public function generate_guest_id(): string {
|
272 |
+
require_once ABSPATH . 'wp-includes/class-phpass.php';
|
273 |
+
$hasher = new PasswordHash( 12, false );
|
274 |
|
275 |
+
return md5( $hasher->get_random_bytes( 32 ) );
|
|
|
276 |
}
|
277 |
|
278 |
+
/**
|
279 |
+
* Get cookie of guest.
|
280 |
+
*
|
281 |
+
* @return array
|
282 |
+
*/
|
283 |
+
public function get_cookie_data(): array {
|
284 |
if ( empty( $_COOKIE[ $this->_cookie ] ) || ! is_string( $_COOKIE[ $this->_cookie ] ) ) {
|
285 |
+
return [];
|
286 |
}
|
287 |
|
288 |
list( $customer_id, $session_expiration, $cookie_hash ) = explode( '||', $_COOKIE[ $this->_cookie ] );
|
289 |
|
290 |
$to_hash = $customer_id . '|' . $session_expiration;
|
291 |
$hash = hash_hmac( 'md5', $to_hash, wp_hash( $to_hash ) );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
292 |
if ( empty( $cookie_hash ) || ! hash_equals( $hash, $cookie_hash ) ) {
|
293 |
+
return [];
|
294 |
}
|
295 |
|
296 |
return array( $customer_id, $session_expiration, $cookie_hash );
|
297 |
}
|
298 |
|
299 |
+
/**
|
300 |
+
* Get session data
|
301 |
+
*
|
302 |
+
* @return array
|
303 |
+
*/
|
304 |
+
public function get_session_data(): array {
|
305 |
+
if ( is_user_logged_in() ) {
|
306 |
+
$customer_id = get_current_user_id();
|
307 |
+
} else {
|
308 |
+
$customer_id = $this->get_customer_id();
|
309 |
}
|
310 |
|
311 |
+
return (array) $this->get_session_by_customer_id( (string) $customer_id );
|
312 |
}
|
313 |
|
314 |
/**
|
315 |
* Increment group cache prefix (invalidates cache).
|
316 |
*
|
317 |
* @param string $group
|
318 |
+
* @deprecated 4.1.7.4
|
319 |
*/
|
320 |
public function incr_cache_prefix( $group ) {
|
321 |
+
_deprecated_function( __METHOD__, '4.1.7.4' );
|
322 |
+
//wp_cache_incr( 'learn_press_' . $group . '_cache_prefix', 1, $group );
|
323 |
}
|
324 |
|
325 |
+
/**
|
326 |
+
* Save session data to the database.
|
327 |
+
*
|
328 |
+
* @return bool
|
329 |
+
*/
|
330 |
+
public function save_data(): bool {
|
331 |
+
$res = false;
|
332 |
+
|
333 |
+
try {
|
334 |
+
if ( $this->_changed && $this->has_session() ) {
|
335 |
+
$lp_session_db = LP_Sessions_DB::getInstance();
|
336 |
+
|
337 |
+
// Check exists on DB.
|
338 |
+
$filter = new LP_Session_filter();
|
339 |
+
$filter->collection = $lp_session_db->tb_lp_sessions;
|
340 |
+
$filter->field_count = 'session_id';
|
341 |
+
$filter->limit = 1;
|
342 |
+
$filter->where[] = $lp_session_db->wpdb->prepare( 'AND session_key = %s', $this->_customer_id );
|
343 |
+
$get = $lp_session_db->execute( $filter );
|
344 |
+
|
345 |
+
$data = [
|
346 |
+
'session_key' => (string) $this->_customer_id,
|
347 |
'session_value' => maybe_serialize( $this->_data ),
|
348 |
'session_expiry' => $this->_session_expiration,
|
349 |
+
];
|
350 |
+
if ( ! empty( $get ) ) {
|
351 |
+
// Update
|
352 |
+
$lp_session_db->wpdb->update(
|
353 |
+
$lp_session_db->tb_lp_sessions,
|
354 |
+
$data,
|
355 |
+
[ 'session_key' => $this->_customer_id ],
|
356 |
+
[ '%s', '%s', '%d' ],
|
357 |
+
[ '%s' ]
|
358 |
+
);
|
359 |
+
// Clear cache.
|
360 |
+
LP_Session_Cache::instance()->clear( $this->_customer_id );
|
361 |
+
} else {
|
362 |
+
// Insert
|
363 |
+
$lp_session_db->wpdb->insert(
|
364 |
+
$lp_session_db->tb_lp_sessions,
|
365 |
+
$data,
|
366 |
+
[ '%s', '%s', '%d' ]
|
367 |
+
);
|
368 |
+
}
|
369 |
+
|
370 |
+
$this->_changed = false;
|
371 |
+
$res = true;
|
372 |
+
}
|
373 |
+
} catch ( Throwable $e ) {
|
374 |
+
error_log( $e->getMessage() );
|
375 |
}
|
376 |
+
|
377 |
+
return $res;
|
378 |
}
|
379 |
|
380 |
+
/**
|
381 |
+
* Destroy session.
|
382 |
+
*/
|
383 |
public function destroy_session() {
|
384 |
+
/*$id = $this->get( 'temp_user' );
|
385 |
if ( $id ) {
|
386 |
delete_user_meta( $id, '_lp_expiration' );
|
387 |
+
}*/
|
388 |
|
389 |
+
// Clear cookie.
|
390 |
+
if ( ! empty( $this->_cookie ) ) {
|
391 |
+
learn_press_remove_cookie( $this->_cookie );
|
392 |
+
}
|
|
|
|
|
|
|
|
|
393 |
|
394 |
+
// Clear session expire.
|
395 |
+
$this->cleanup_sessions_expire();
|
|
|
|
|
396 |
|
397 |
+
$logout_redirect_page_id = LP_Settings::get_option( 'logout_redirect_page_id' );
|
398 |
if ( $logout_redirect_page_id ) {
|
|
|
399 |
wp_safe_redirect( get_the_permalink( $logout_redirect_page_id ) );
|
400 |
die;
|
401 |
}
|
402 |
}
|
403 |
|
404 |
+
/**
|
405 |
+
* Clear session expired.
|
406 |
+
*
|
407 |
+
* @return bool
|
408 |
+
*/
|
409 |
+
public function cleanup_sessions_expire(): bool {
|
410 |
+
$res = true;
|
411 |
+
$lp_session_db = LP_Sessions_DB::getInstance();
|
412 |
+
|
413 |
+
try {
|
414 |
+
// Get session expired.
|
415 |
+
$filter_get = new LP_Session_Filter();
|
416 |
+
$filter_get->where[] = $lp_session_db->wpdb->prepare( 'AND session_expiry < %d', time() );
|
417 |
+
$sessions = $lp_session_db->get_sessions( $filter_get );
|
418 |
+
// Clear cache.
|
419 |
+
foreach ( $sessions as $session ) {
|
420 |
+
LP_Session_Cache::instance()->clear( $session->session_key );
|
421 |
+
}
|
422 |
|
423 |
+
// Delete session expired.
|
424 |
+
$filter = new LP_Session_Filter();
|
425 |
+
$filter->collection = $lp_session_db->tb_lp_sessions;
|
426 |
+
$filter->where[] = $lp_session_db->wpdb->prepare( 'AND session_expiry < %d', time() );
|
427 |
+
$lp_session_db->delete_execute( $filter );
|
428 |
+
} catch ( Throwable $e ) {
|
429 |
+
$res = false;
|
430 |
+
error_log( $e->getMessage() );
|
431 |
}
|
432 |
|
433 |
+
return $res;
|
434 |
+
}
|
|
|
435 |
|
436 |
+
/**
|
437 |
+
* Get session on DB.
|
438 |
+
*
|
439 |
+
* @param string $customer_id
|
440 |
+
*
|
441 |
+
* @return false|mixed|string
|
442 |
+
* @Todo - Tungnx should handle data when save type json instead serialize.
|
443 |
+
*/
|
444 |
+
public function get_session_by_customer_id( string $customer_id = '' ) {
|
445 |
+
$lp_session_db = LP_Sessions_DB::getInstance();
|
446 |
+
$session = [];
|
447 |
+
|
448 |
+
try {
|
449 |
+
// Get cache.
|
450 |
+
$session_cache = LP_Session_Cache::instance();
|
451 |
+
$key_cache = $customer_id;
|
452 |
+
$session = $session_cache->get_cache( $key_cache );
|
453 |
+
if ( $session !== false ) {
|
454 |
+
return $session;
|
455 |
+
}
|
456 |
|
457 |
+
$filter = new LP_Session_Filter();
|
458 |
+
$filter->session_key = $customer_id;
|
459 |
+
$filter->limit = 1;
|
460 |
+
$res = $lp_session_db->get_sessions( $filter );
|
461 |
+
if ( ! empty( $res ) ) {
|
462 |
+
$session = $res[0]->session_value;
|
463 |
}
|
464 |
|
465 |
+
$session = LP_Helper::maybe_unserialize( $session );
|
466 |
+
// Set cache.
|
467 |
+
$session_cache->set_cache( $key_cache, $session );
|
468 |
+
} catch ( Throwable $e ) {
|
469 |
+
error_log( $e->getMessage() );
|
470 |
}
|
471 |
|
472 |
+
return $session;
|
473 |
}
|
474 |
|
475 |
+
/**
|
476 |
+
* Delete session by customer_id on DB.
|
477 |
+
*
|
478 |
+
* @param string $customer_id
|
479 |
+
*
|
480 |
+
* @return bool
|
481 |
+
*/
|
482 |
+
public function delete_session( string $customer_id ): bool {
|
483 |
global $wpdb;
|
484 |
+
$rs = true;
|
485 |
|
486 |
+
try {
|
487 |
+
$wpdb->delete(
|
488 |
+
LP_Sessions_DB::getInstance()->tb_lp_sessions,
|
489 |
+
[ 'session_key' => $customer_id ],
|
490 |
+
[ '%s' ]
|
491 |
+
);
|
492 |
+
// Clear cache.
|
493 |
+
LP_Session_Cache::instance()->clear( $customer_id );
|
494 |
+
} catch ( Throwable $e ) {
|
495 |
+
$rs = false;
|
496 |
+
error_log( $e->getMessage() );
|
497 |
+
}
|
498 |
|
499 |
+
return $rs;
|
|
|
|
|
|
|
|
|
|
|
500 |
}
|
501 |
|
502 |
+
/**
|
503 |
+
* Get session id.
|
504 |
+
*
|
505 |
+
* @param $customer_id
|
506 |
+
* @param $timestamp
|
507 |
+
*
|
508 |
+
* @return bool
|
509 |
+
*/
|
510 |
+
public function update_session_timestamp( $customer_id, $timestamp ): bool {
|
511 |
global $wpdb;
|
512 |
+
$res = true;
|
513 |
+
|
514 |
+
try {
|
515 |
+
$wpdb->update(
|
516 |
+
LP_Sessions_DB::getInstance()->tb_lp_sessions,
|
517 |
+
[ 'session_expiry' => $timestamp ],
|
518 |
+
[ 'session_key' => $customer_id ],
|
519 |
+
[ '%d' ]
|
520 |
+
);
|
521 |
+
// Clear cache.
|
522 |
+
LP_Session_Cache::instance()->clear( $customer_id );
|
523 |
+
} catch ( Throwable $e ) {
|
524 |
+
$res = false;
|
525 |
+
error_log( $e->getMessage() );
|
526 |
+
}
|
527 |
+
|
528 |
+
return $res;
|
529 |
}
|
530 |
|
531 |
/**
|
577 |
}
|
578 |
}
|
579 |
|
580 |
+
/**
|
581 |
+
* Get customer id.
|
582 |
+
*/
|
583 |
+
public function get_customer_id(): string {
|
584 |
+
return (string) $this->_customer_id;
|
585 |
}
|
586 |
|
587 |
public function get_session_expiration() {
|
589 |
}
|
590 |
|
591 |
public static function instance() {
|
592 |
+
if ( is_null( self::$_instance ) ) {
|
593 |
self::$_instance = new self();
|
594 |
}
|
595 |
|
596 |
return self::$_instance;
|
597 |
}
|
598 |
|
599 |
+
/**
|
600 |
+
* @deprecated 4.1.7.4
|
601 |
+
*/
|
602 |
public function offsetExists( $offset ) {
|
603 |
+
_deprecated_function( __METHOD__, '4.1.7.4' );
|
604 |
return array_key_exists( $offset, $this->_data );
|
605 |
}
|
606 |
|
607 |
+
/**
|
608 |
+
* @deprecated 4.1.7.4
|
609 |
+
*/
|
610 |
public function offsetGet( $offset ) {
|
611 |
+
_deprecated_function( __METHOD__, '4.1.7.4' );
|
612 |
+
//return $this->get( $offset );
|
613 |
}
|
614 |
|
615 |
+
/**
|
616 |
+
* @deprecated 4.1.7.4
|
617 |
+
*/
|
618 |
public function offsetUnset( $offset ) {
|
619 |
+
_deprecated_function( __METHOD__, '4.1.7.4' );
|
620 |
+
//$this->remove( $offset );
|
621 |
}
|
622 |
|
623 |
+
/**
|
624 |
+
* @deprecated 4.1.7.4
|
625 |
+
*/
|
626 |
public function offsetSet( $offset, $value ) {
|
627 |
+
_deprecated_function( __METHOD__, '4.1.7.4' );
|
628 |
+
//$this->set( $offset, $value );
|
629 |
}
|
630 |
}
|
631 |
|
@@ -341,10 +341,10 @@ if ( ! function_exists( 'LP_Abstract_Course' ) ) {
|
|
341 |
}
|
342 |
|
343 |
/**
|
344 |
-
* @
|
345 |
-
* @deprecated
|
346 |
*/
|
347 |
public function is_require_enrollment() {
|
|
|
348 |
return ! $this->is_no_required_enroll();
|
349 |
}
|
350 |
|
@@ -1003,8 +1003,8 @@ if ( ! function_exists( 'LP_Abstract_Course' ) ) {
|
|
1003 |
$slug_prefixes = apply_filters(
|
1004 |
'learn-press/course/custom-item-prefixes',
|
1005 |
array(
|
1006 |
-
LP_QUIZ_CPT => sanitize_title_with_dashes( LP_Settings::
|
1007 |
-
LP_LESSON_CPT => sanitize_title_with_dashes( LP_Settings::
|
1008 |
),
|
1009 |
$this->get_id()
|
1010 |
);
|
341 |
}
|
342 |
|
343 |
/**
|
344 |
+
* @deprecated 4.1.7.4
|
|
|
345 |
*/
|
346 |
public function is_require_enrollment() {
|
347 |
+
_deprecated_function( __METHOD__, '4.1.7.4' );
|
348 |
return ! $this->is_no_required_enroll();
|
349 |
}
|
350 |
|
1003 |
$slug_prefixes = apply_filters(
|
1004 |
'learn-press/course/custom-item-prefixes',
|
1005 |
array(
|
1006 |
+
LP_QUIZ_CPT => sanitize_title_with_dashes( LP_Settings::get_option( 'quiz_slug', 'quizzes' ) ),
|
1007 |
+
LP_LESSON_CPT => sanitize_title_with_dashes( LP_Settings::get_option( 'lesson_slug', 'lessons' ) ),
|
1008 |
),
|
1009 |
$this->get_id()
|
1010 |
);
|
@@ -13,7 +13,7 @@ if ( ! class_exists( 'LP_Course_Item' ) ) {
|
|
13 |
/**
|
14 |
* Class LP_Course_Item.
|
15 |
*/
|
16 |
-
class LP_Course_Item extends LP_Abstract_Post_Data
|
17 |
|
18 |
/**
|
19 |
* The icon maybe used somewhere.
|
13 |
/**
|
14 |
* Class LP_Course_Item.
|
15 |
*/
|
16 |
+
class LP_Course_Item extends LP_Abstract_Post_Data {
|
17 |
|
18 |
/**
|
19 |
* The icon maybe used somewhere.
|
@@ -73,6 +73,7 @@ if ( ! class_exists( 'LP_Course' ) ) {
|
|
73 |
* @param int $course_id
|
74 |
*
|
75 |
* @return mixed|bool|LP_Course
|
|
|
76 |
*/
|
77 |
public static function get_course( int $course_id = 0 ) {
|
78 |
if ( isset( LP_Global::$courses[ $course_id ] ) ) {
|
73 |
* @param int $course_id
|
74 |
*
|
75 |
* @return mixed|bool|LP_Course
|
76 |
+
* @Todo - Tungnx review to rewrite this method.
|
77 |
*/
|
78 |
public static function get_course( int $course_id = 0 ) {
|
79 |
if ( isset( LP_Global::$courses[ $course_id ] ) ) {
|
@@ -1008,11 +1008,10 @@ add_filter( 'learn-press/enroll-course-redirect', 'learn_press_remove_query_var_
|
|
1008 |
*
|
1009 |
* @since 3.0.0
|
1010 |
*/
|
1011 |
-
function learn_press_mark_user_just_logged_in() {
|
1012 |
LearnPress::instance()->session->set( 'user_just_logged_in', 'yes' );
|
1013 |
}
|
1014 |
-
|
1015 |
-
add_action( 'wp_login', 'learn_press_mark_user_just_logged_in' );
|
1016 |
|
1017 |
function learn_press_translate_course_result_required( $course ) {
|
1018 |
if ( ! $course ) {
|
1008 |
*
|
1009 |
* @since 3.0.0
|
1010 |
*/
|
1011 |
+
/*function learn_press_mark_user_just_logged_in() {
|
1012 |
LearnPress::instance()->session->set( 'user_just_logged_in', 'yes' );
|
1013 |
}
|
1014 |
+
add_action( 'wp_login', 'learn_press_mark_user_just_logged_in' );*/
|
|
|
1015 |
|
1016 |
function learn_press_translate_course_result_required( $course ) {
|
1017 |
if ( ! $course ) {
|
@@ -75,7 +75,7 @@ class LP_Order_CURD extends LP_Object_Data_CURD implements LP_Interface_CURD {
|
|
75 |
'_order_subtotal' => $order->get_subtotal(),
|
76 |
'_order_total' => $order->get_total(),
|
77 |
'_order_key' => $order->get_order_key(),
|
78 |
-
'_payment_method' => $order->
|
79 |
'_payment_method_title' => $order->get_payment_method_title(),
|
80 |
'_user_ip_address' => $order->get_user_ip_address(),
|
81 |
'_user_agent' => $order->get_user_agent(),
|
@@ -471,7 +471,10 @@ class LP_Order_CURD extends LP_Object_Data_CURD implements LP_Interface_CURD {
|
|
471 |
'currency' => get_post_meta( $post->ID, '_order_currency', true ),
|
472 |
)
|
473 |
);
|
474 |
-
|
|
|
|
|
|
|
475 |
$order->get_items();
|
476 |
$order->read_meta();
|
477 |
}
|
75 |
'_order_subtotal' => $order->get_subtotal(),
|
76 |
'_order_total' => $order->get_total(),
|
77 |
'_order_key' => $order->get_order_key(),
|
78 |
+
'_payment_method' => $order->get_data( 'payment_method', '' ),
|
79 |
'_payment_method_title' => $order->get_payment_method_title(),
|
80 |
'_user_ip_address' => $order->get_user_ip_address(),
|
81 |
'_user_agent' => $order->get_user_agent(),
|
471 |
'currency' => get_post_meta( $post->ID, '_order_currency', true ),
|
472 |
)
|
473 |
);
|
474 |
+
$order->set_data( 'order_subtotal', get_post_meta( $post->ID, '_order_subtotal', true ) );
|
475 |
+
$order->set_data( 'order_total', get_post_meta( $post->ID, '_order_total', true ) );
|
476 |
+
$order->set_data( 'payment_method', get_post_meta( $post->ID, '_payment_method', true ) );
|
477 |
+
$order->set_data( 'payment_method_title', get_post_meta( $post->ID, '_payment_method_title', true ) );
|
478 |
$order->get_items();
|
479 |
$order->read_meta();
|
480 |
}
|
@@ -802,7 +802,7 @@ if ( ! class_exists( 'LP_Order_Post_Type' ) ) {
|
|
802 |
if ( $title ) {
|
803 |
?>
|
804 |
<div class="payment-method-title">
|
805 |
-
<?php echo wp_kses_post( $the_order->
|
806 |
</div>
|
807 |
<?php
|
808 |
}
|
802 |
if ( $title ) {
|
803 |
?>
|
804 |
<div class="payment-method-title">
|
805 |
+
<?php echo wp_kses_post( $the_order->get_total() == 0 ? $title : sprintf( __( 'Pay via <strong>%s</strong>', 'learnpress' ), apply_filters( 'learn-press/order-payment-method-title', $title, $the_order ), $the_order ) ); ?>
|
806 |
</div>
|
807 |
<?php
|
808 |
}
|
@@ -31,10 +31,10 @@ class LP_Question_Answers_DB extends LP_Database {
|
|
31 |
* @throws Exception
|
32 |
*/
|
33 |
public function get_question_asnwers( LP_Question_Answers_Filter $filter, &$total_rows = 0 ) {
|
34 |
-
$default_fields
|
35 |
-
$filter->fields
|
36 |
$filter->exclude_fields[] = 'order';
|
37 |
-
$filter->fields[]
|
38 |
|
39 |
if ( empty( $filter->collection ) ) {
|
40 |
$filter->collection = $this->tb_lp_question_answers;
|
31 |
* @throws Exception
|
32 |
*/
|
33 |
public function get_question_asnwers( LP_Question_Answers_Filter $filter, &$total_rows = 0 ) {
|
34 |
+
$default_fields = $this->get_cols_of_table( $this->tb_lp_question_answers );
|
35 |
+
$filter->fields = array_merge( $default_fields, $filter->fields );
|
36 |
$filter->exclude_fields[] = 'order';
|
37 |
+
$filter->fields[] = '`order`';
|
38 |
|
39 |
if ( empty( $filter->collection ) ) {
|
40 |
$filter->collection = $this->tb_lp_question_answers;
|
@@ -10,18 +10,58 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
10 |
* @since 4.1.1
|
11 |
*/
|
12 |
class LP_Sessions_DB extends LP_Database {
|
13 |
-
|
|
|
|
|
|
|
14 |
|
15 |
protected function __construct() {
|
16 |
parent::__construct();
|
17 |
}
|
18 |
|
19 |
-
|
20 |
-
|
21 |
-
|
|
|
|
|
|
|
|
|
|
|
22 |
}
|
23 |
|
24 |
-
return self::$
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
25 |
}
|
26 |
|
27 |
/**
|
@@ -66,5 +106,3 @@ class LP_Sessions_DB extends LP_Database {
|
|
66 |
}
|
67 |
}
|
68 |
|
69 |
-
LP_Sessions_DB::getInstance();
|
70 |
-
|
10 |
* @since 4.1.1
|
11 |
*/
|
12 |
class LP_Sessions_DB extends LP_Database {
|
13 |
+
/**
|
14 |
+
* @var LP_Sessions_DB
|
15 |
+
*/
|
16 |
+
private static $instance;
|
17 |
|
18 |
protected function __construct() {
|
19 |
parent::__construct();
|
20 |
}
|
21 |
|
22 |
+
/**
|
23 |
+
* Instance
|
24 |
+
*
|
25 |
+
* @return LP_Sessions_DB
|
26 |
+
*/
|
27 |
+
public static function getInstance(): self {
|
28 |
+
if ( is_null( self::$instance ) ) {
|
29 |
+
self::$instance = new self();
|
30 |
}
|
31 |
|
32 |
+
return self::$instance;
|
33 |
+
}
|
34 |
+
|
35 |
+
/**
|
36 |
+
* Get sessions.
|
37 |
+
*
|
38 |
+
* @param LP_Session_Filter $filter
|
39 |
+
*
|
40 |
+
* @return array|int|string|null
|
41 |
+
* @throws Exception
|
42 |
+
*/
|
43 |
+
public function get_sessions( LP_Session_Filter $filter ) {
|
44 |
+
$default_fields = $this->get_cols_of_table( $this->tb_lp_sessions );
|
45 |
+
$filter->fields = array_merge( $default_fields, $filter->fields );
|
46 |
+
|
47 |
+
if ( empty( $filter->collection ) ) {
|
48 |
+
$filter->collection = $this->tb_lp_sessions;
|
49 |
+
}
|
50 |
+
|
51 |
+
if ( empty( $filter->collection_alias ) ) {
|
52 |
+
$filter->collection_alias = 'ss';
|
53 |
+
}
|
54 |
+
|
55 |
+
if ( empty( $filter->field_count ) ) {
|
56 |
+
$filter->field_count = 'session_id';
|
57 |
+
}
|
58 |
+
|
59 |
+
// Filter by session_key.
|
60 |
+
if ( ! empty( $filter->session_key ) ) {
|
61 |
+
$filter->where[] = $this->wpdb->prepare( 'AND session_key = %s', $filter->session_key );
|
62 |
+
}
|
63 |
+
|
64 |
+
return $this->execute( $filter );
|
65 |
}
|
66 |
|
67 |
/**
|
106 |
}
|
107 |
}
|
108 |
|
|
|
|
@@ -96,6 +96,10 @@ class LP_Filter {
|
|
96 |
/**
|
97 |
* @var bool set true to return total_rows only
|
98 |
*/
|
|
|
|
|
|
|
|
|
99 |
public $query_count = false;
|
100 |
/**
|
101 |
* @var string Ex: ID, for query: COUNT(ID)
|
96 |
/**
|
97 |
* @var bool set true to return total_rows only
|
98 |
*/
|
99 |
+
public $query_count_only = false;
|
100 |
+
/**
|
101 |
+
* @var bool set true to return total_rows
|
102 |
+
*/
|
103 |
public $query_count = false;
|
104 |
/**
|
105 |
* @var string Ex: ID, for query: COUNT(ID)
|
@@ -0,0 +1,40 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Class LP_Section_Filter
|
4 |
+
*
|
5 |
+
* @author ThimPress
|
6 |
+
* @package LearnPress/Classes/Filters
|
7 |
+
* @version 4.1.4.1
|
8 |
+
*/
|
9 |
+
|
10 |
+
/**
|
11 |
+
* Prevent loading this file directly
|
12 |
+
*/
|
13 |
+
defined( 'ABSPATH' ) || exit();
|
14 |
+
|
15 |
+
if ( class_exists( 'LP_Section_Filter' ) ) {
|
16 |
+
return;
|
17 |
+
}
|
18 |
+
|
19 |
+
class LP_Session_Filter extends LP_Filter {
|
20 |
+
/**
|
21 |
+
* @var string
|
22 |
+
*/
|
23 |
+
public $field_count = 'session_id';
|
24 |
+
/**
|
25 |
+
* @var int
|
26 |
+
*/
|
27 |
+
public $session_id = 0;
|
28 |
+
/**
|
29 |
+
* @var string
|
30 |
+
*/
|
31 |
+
public $session_key = '';
|
32 |
+
/**
|
33 |
+
* @var string
|
34 |
+
*/
|
35 |
+
public $session_value = '';
|
36 |
+
/**
|
37 |
+
* @var string
|
38 |
+
*/
|
39 |
+
public $session_expiry = '';
|
40 |
+
}
|
@@ -52,7 +52,7 @@ if ( ! function_exists( 'LP_Gateway_Offline_Payment' ) ) {
|
|
52 |
return;
|
53 |
}
|
54 |
|
55 |
-
add_action( 'learn-press/order/received', array( $this, 'instructions' ), 99 );
|
56 |
add_filter(
|
57 |
'learn-press/payment-gateway/' . $this->id . '/available',
|
58 |
array(
|
@@ -79,9 +79,10 @@ if ( ! function_exists( 'LP_Gateway_Offline_Payment' ) ) {
|
|
79 |
* @param $order
|
80 |
*/
|
81 |
public function instructions( $order ) {
|
82 |
-
|
|
|
83 |
echo stripcslashes( wpautop( wptexturize( $this->instructions ) ) );
|
84 |
-
}
|
85 |
}
|
86 |
|
87 |
protected function _get( $name ) {
|
52 |
return;
|
53 |
}
|
54 |
|
55 |
+
//add_action( 'learn-press/order/received', array( $this, 'instructions' ), 99 );
|
56 |
add_filter(
|
57 |
'learn-press/payment-gateway/' . $this->id . '/available',
|
58 |
array(
|
79 |
* @param $order
|
80 |
*/
|
81 |
public function instructions( $order ) {
|
82 |
+
_deprecated_function( __METHOD__, '4.1.7.4' );
|
83 |
+
/*if ( $order && ( $this->id == $order->payment_method ) && $this->instructions ) {
|
84 |
echo stripcslashes( wpautop( wptexturize( $this->instructions ) ) );
|
85 |
+
}*/
|
86 |
}
|
87 |
|
88 |
protected function _get( $name ) {
|
@@ -336,9 +336,9 @@ class LP_Jwt_Courses_V1_Controller extends LP_REST_Jwt_Posts_Controller {
|
|
336 |
$checkout = LP_Checkout::instance();
|
337 |
|
338 |
if ( ! learn_press_enable_cart() ) {
|
339 |
-
|
340 |
$cart->empty_cart();
|
341 |
-
LearnPress::instance()->session->order_awaiting_payment
|
342 |
}
|
343 |
|
344 |
$cart_id = $cart->add_to_cart( $course_id, 1, array() );
|
@@ -846,7 +846,7 @@ class LP_Jwt_Courses_V1_Controller extends LP_REST_Jwt_Posts_Controller {
|
|
846 |
'duration' => $item->get_duration()->to_timer( $format, true ),
|
847 |
'graduation' => $user_item ? $user_item->get_graduation() : '',
|
848 |
'status' => $user_item ? $user_item->get_status() : '',
|
849 |
-
'locked' => isset( $can_view_item->flag )
|
850 |
);
|
851 |
}
|
852 |
}
|
336 |
$checkout = LP_Checkout::instance();
|
337 |
|
338 |
if ( ! learn_press_enable_cart() ) {
|
339 |
+
//$order_awaiting_payment = LearnPress::instance()->session->get( 'order_awaiting_payment' );
|
340 |
$cart->empty_cart();
|
341 |
+
//LearnPress::instance()->session->set( 'order_awaiting_payment', $order_awaiting_payment );
|
342 |
}
|
343 |
|
344 |
$cart_id = $cart->add_to_cart( $course_id, 1, array() );
|
846 |
'duration' => $item->get_duration()->to_timer( $format, true ),
|
847 |
'graduation' => $user_item ? $user_item->get_graduation() : '',
|
848 |
'status' => $user_item ? $user_item->get_status() : '',
|
849 |
+
'locked' => ! isset( $can_view_item->flag ) || ! $can_view_item->flag,
|
850 |
);
|
851 |
}
|
852 |
}
|
@@ -774,8 +774,8 @@ class LP_Jwt_Users_V1_Controller extends LP_REST_Jwt_Controller {
|
|
774 |
$query = $user_profile->get_user_quizzes( $filter );
|
775 |
|
776 |
$ids = array();
|
777 |
-
if ( ! empty( $query
|
778 |
-
foreach ( $query
|
779 |
$ids[] = array(
|
780 |
'id' => $item->get_id(),
|
781 |
'result' => $item->get_percent_result() ?? '',
|
@@ -810,9 +810,8 @@ class LP_Jwt_Users_V1_Controller extends LP_REST_Jwt_Controller {
|
|
810 |
|
811 |
if ( method_exists( $profile, 'query_orders' ) ) {
|
812 |
$query_orders = $profile->query_orders( array( 'fields' => 'ids' ) );
|
813 |
-
|
814 |
-
|
815 |
-
foreach ( $query_orders['items'] as $order_id ) {
|
816 |
$order = learn_press_get_order( $order_id );
|
817 |
|
818 |
$output[ $order_id ] = array(
|
@@ -1130,7 +1129,15 @@ class LP_Jwt_Users_V1_Controller extends LP_REST_Jwt_Controller {
|
|
1130 |
return $output;
|
1131 |
}*/
|
1132 |
|
1133 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1134 |
$output = array();
|
1135 |
|
1136 |
if ( get_current_user_id() === $user->ID || current_user_can( 'list_users' ) ) {
|
774 |
$query = $user_profile->get_user_quizzes( $filter );
|
775 |
|
776 |
$ids = array();
|
777 |
+
if ( ! empty( $query->get_items() ) ) {
|
778 |
+
foreach ( $query->get_items() as $item ) {
|
779 |
$ids[] = array(
|
780 |
'id' => $item->get_id(),
|
781 |
'result' => $item->get_percent_result() ?? '',
|
810 |
|
811 |
if ( method_exists( $profile, 'query_orders' ) ) {
|
812 |
$query_orders = $profile->query_orders( array( 'fields' => 'ids' ) );
|
813 |
+
if ( ! empty( $query_orders->get_items() ) ) {
|
814 |
+
foreach ( $query_orders->get_items() as $order_id ) {
|
|
|
815 |
$order = learn_press_get_order( $order_id );
|
816 |
|
817 |
$output[ $order_id ] = array(
|
1129 |
return $output;
|
1130 |
}*/
|
1131 |
|
1132 |
+
/**
|
1133 |
+
* Get data tabs.
|
1134 |
+
*
|
1135 |
+
* @param $user
|
1136 |
+
* @param $request
|
1137 |
+
*
|
1138 |
+
* @return array
|
1139 |
+
*/
|
1140 |
+
public function get_lp_data_tabs( $user, $request ): array {
|
1141 |
$output = array();
|
1142 |
|
1143 |
if ( get_current_user_id() === $user->ID || current_user_can( 'list_users' ) ) {
|
@@ -25,9 +25,6 @@ define( 'LP_LOG_PATH', $upload_dir['basedir'] . '/learn-press-logs/' );
|
|
25 |
// Turn on/off cart.
|
26 |
const LP_ENABLE_CART = false;
|
27 |
|
28 |
-
// Cache group id.
|
29 |
-
const LP_SESSION_CACHE_GROUP = 'learn_press_session_id';
|
30 |
-
|
31 |
// Table prefix.
|
32 |
const LP_TABLE_PREFIX = 'learnpress_';
|
33 |
|
25 |
// Turn on/off cart.
|
26 |
const LP_ENABLE_CART = false;
|
27 |
|
|
|
|
|
|
|
28 |
// Table prefix.
|
29 |
const LP_TABLE_PREFIX = 'learnpress_';
|
30 |
|
@@ -1422,6 +1422,7 @@ function learn_press_seconds_to_weeks( int $secs = 0 ) {
|
|
1422 |
return $result;
|
1423 |
}
|
1424 |
|
|
|
1425 |
function learn_press_course_lesson_permalink_friendly( $permalink, $lesson_id, $course_id ) {
|
1426 |
if ( '' != get_option( 'permalink_structure' ) ) {
|
1427 |
if ( preg_match( '!\?lesson=([^\?\&]*)!', $permalink, $matches ) ) {
|
@@ -1436,7 +1437,11 @@ function learn_press_course_lesson_permalink_friendly( $permalink, $lesson_id, $
|
|
1436 |
return $permalink;
|
1437 |
}
|
1438 |
|
|
|
|
|
|
|
1439 |
function learn_press_course_question_permalink_friendly( $permalink, $lesson_id, $course_id ) {
|
|
|
1440 |
if ( '' != get_option( 'permalink_structure' ) ) {
|
1441 |
if ( preg_match( '!\?lesson=([^\?\&]*)!', $permalink, $matches ) ) {
|
1442 |
$permalink = preg_replace(
|
@@ -1450,15 +1455,13 @@ function learn_press_course_question_permalink_friendly( $permalink, $lesson_id,
|
|
1450 |
return $permalink;
|
1451 |
}
|
1452 |
|
1453 |
-
add_filter( 'learn_press_course_lesson_permalink', 'learn_press_course_lesson_permalink_friendly', 10, 3 );
|
1454 |
-
|
1455 |
function learn_press_user_maybe_is_a_teacher( $user = null ) {
|
1456 |
if ( ! $user ) {
|
1457 |
$user = learn_press_get_current_user();
|
1458 |
} elseif ( is_numeric( $user ) ) {
|
1459 |
$user = learn_press_get_user( $user );
|
1460 |
}
|
1461 |
-
if ( ! $user ) {
|
1462 |
return false;
|
1463 |
}
|
1464 |
|
@@ -1818,10 +1821,12 @@ function learn_press_setcookie( $name, $value, $expire = 0, $secure = false, $ht
|
|
1818 |
/**
|
1819 |
* Clear cookie
|
1820 |
*
|
1821 |
-
* @param $name
|
1822 |
*/
|
1823 |
-
function learn_press_remove_cookie( $name ) {
|
1824 |
-
|
|
|
|
|
1825 |
|
1826 |
if ( array_key_exists( $name, $_COOKIE ) ) {
|
1827 |
unset( $_COOKIE[ $name ] );
|
@@ -1829,7 +1834,7 @@ function learn_press_remove_cookie( $name ) {
|
|
1829 |
}
|
1830 |
|
1831 |
/**
|
1832 |
-
* Filter the login url so third-party can be
|
1833 |
*
|
1834 |
* @param string $redirect
|
1835 |
*
|
@@ -1986,8 +1991,10 @@ if ( ! function_exists( 'learn_press_reset_auto_increment' ) ) {
|
|
1986 |
* Get the cart object in checkout page
|
1987 |
*
|
1988 |
* @return LP_Cart
|
|
|
1989 |
*/
|
1990 |
function learn_press_get_checkout_cart() {
|
|
|
1991 |
return apply_filters( 'learn_press_checkout_cart', LearnPress::instance()->cart );
|
1992 |
}
|
1993 |
|
@@ -2650,19 +2657,24 @@ function learn_press_sort_list_by_priority_callback( $a, $b ) {
|
|
2650 |
/**
|
2651 |
* Localize date with custom format.
|
2652 |
*
|
2653 |
-
* @param
|
2654 |
* @param string $format
|
2655 |
* @param bool $gmt
|
2656 |
*
|
2657 |
* @return string
|
2658 |
* @since 3.0.0
|
2659 |
*/
|
2660 |
-
function learn_press_date_i18n( $timestamp =
|
2661 |
if ( ! $format ) {
|
2662 |
$format = get_option( 'date_format' );
|
2663 |
}
|
2664 |
|
2665 |
-
|
|
|
|
|
|
|
|
|
|
|
2666 |
}
|
2667 |
|
2668 |
/**
|
1422 |
return $result;
|
1423 |
}
|
1424 |
|
1425 |
+
add_filter( 'learn_press_course_lesson_permalink', 'learn_press_course_lesson_permalink_friendly', 10, 3 );
|
1426 |
function learn_press_course_lesson_permalink_friendly( $permalink, $lesson_id, $course_id ) {
|
1427 |
if ( '' != get_option( 'permalink_structure' ) ) {
|
1428 |
if ( preg_match( '!\?lesson=([^\?\&]*)!', $permalink, $matches ) ) {
|
1437 |
return $permalink;
|
1438 |
}
|
1439 |
|
1440 |
+
/**
|
1441 |
+
* @deprecated 4.1.7.3
|
1442 |
+
*/
|
1443 |
function learn_press_course_question_permalink_friendly( $permalink, $lesson_id, $course_id ) {
|
1444 |
+
_deprecated_function( __FUNCTION__, '4.1.7.3' );
|
1445 |
if ( '' != get_option( 'permalink_structure' ) ) {
|
1446 |
if ( preg_match( '!\?lesson=([^\?\&]*)!', $permalink, $matches ) ) {
|
1447 |
$permalink = preg_replace(
|
1455 |
return $permalink;
|
1456 |
}
|
1457 |
|
|
|
|
|
1458 |
function learn_press_user_maybe_is_a_teacher( $user = null ) {
|
1459 |
if ( ! $user ) {
|
1460 |
$user = learn_press_get_current_user();
|
1461 |
} elseif ( is_numeric( $user ) ) {
|
1462 |
$user = learn_press_get_user( $user );
|
1463 |
}
|
1464 |
+
if ( ! $user || $user instanceof LP_User_Guest ) {
|
1465 |
return false;
|
1466 |
}
|
1467 |
|
1821 |
/**
|
1822 |
* Clear cookie
|
1823 |
*
|
1824 |
+
* @param string $name
|
1825 |
*/
|
1826 |
+
function learn_press_remove_cookie( string $name = '' ) {
|
1827 |
+
if ( ! empty( $name ) ) {
|
1828 |
+
setcookie( $name, '', time() - YEAR_IN_SECONDS, COOKIEPATH ? COOKIEPATH : '/', COOKIE_DOMAIN );
|
1829 |
+
}
|
1830 |
|
1831 |
if ( array_key_exists( $name, $_COOKIE ) ) {
|
1832 |
unset( $_COOKIE[ $name ] );
|
1834 |
}
|
1835 |
|
1836 |
/**
|
1837 |
+
* Filter the login url so third-party can be customized
|
1838 |
*
|
1839 |
* @param string $redirect
|
1840 |
*
|
1991 |
* Get the cart object in checkout page
|
1992 |
*
|
1993 |
* @return LP_Cart
|
1994 |
+
* @deprecated 4.1.7.4
|
1995 |
*/
|
1996 |
function learn_press_get_checkout_cart() {
|
1997 |
+
_deprecated_function( __FUNCTION__, '4.1.7.4', 'LearnPress::instance()->cart' );
|
1998 |
return apply_filters( 'learn_press_checkout_cart', LearnPress::instance()->cart );
|
1999 |
}
|
2000 |
|
2657 |
/**
|
2658 |
* Localize date with custom format.
|
2659 |
*
|
2660 |
+
* @param int|bool $timestamp
|
2661 |
* @param string $format
|
2662 |
* @param bool $gmt
|
2663 |
*
|
2664 |
* @return string
|
2665 |
* @since 3.0.0
|
2666 |
*/
|
2667 |
+
function learn_press_date_i18n( $timestamp = 0, string $format = '', bool $gmt = false ): string {
|
2668 |
if ( ! $format ) {
|
2669 |
$format = get_option( 'date_format' );
|
2670 |
}
|
2671 |
|
2672 |
+
$date_str = date_i18n( $format, $timestamp, $gmt );
|
2673 |
+
if ( ! is_string( $date_str ) ) {
|
2674 |
+
$date_str = '';
|
2675 |
+
}
|
2676 |
+
|
2677 |
+
return $date_str;
|
2678 |
}
|
2679 |
|
2680 |
/**
|
@@ -2231,7 +2231,11 @@ if ( ! function_exists( 'learn_press_back_to_class_button' ) ) {
|
|
2231 |
}
|
2232 |
}
|
2233 |
|
|
|
|
|
|
|
2234 |
function learn_press_get_become_a_teacher_form_fields() {
|
|
|
2235 |
$user = learn_press_get_current_user();
|
2236 |
$fields = array(
|
2237 |
'bat_name' => array(
|
2231 |
}
|
2232 |
}
|
2233 |
|
2234 |
+
/**
|
2235 |
+
* @deprecated 4.0.0
|
2236 |
+
*/
|
2237 |
function learn_press_get_become_a_teacher_form_fields() {
|
2238 |
+
_deprecated_function( __FUNCTION__, '4.0.0', '' );
|
2239 |
$user = learn_press_get_current_user();
|
2240 |
$fields = array(
|
2241 |
'bat_name' => array(
|
@@ -256,13 +256,13 @@ if ( ! function_exists( 'learn_press_single_quiz_args' ) ) {
|
|
256 |
if ( $quiz && $course ) {
|
257 |
$user = learn_press_get_current_user();
|
258 |
$course_id = $course->get_id();
|
259 |
-
|
260 |
|
261 |
-
if ( $user_quiz ) {
|
262 |
$remaining_time = $user_quiz->get_time_remaining();
|
263 |
} else {
|
264 |
$remaining_time = false;
|
265 |
-
}
|
266 |
|
267 |
$args = array(
|
268 |
'id' => $quiz->get_id(),
|
@@ -287,6 +287,7 @@ if ( ! function_exists( 'learn_press_single_document_title_parts' ) ) {
|
|
287 |
*
|
288 |
* @return array
|
289 |
* @since 3.0.0
|
|
|
290 |
*/
|
291 |
function learn_press_single_document_title_parts( $title ) {
|
292 |
if ( learn_press_is_course() ) {
|
@@ -331,7 +332,7 @@ if ( ! function_exists( 'learn_press_single_document_title_parts' ) ) {
|
|
331 |
array(
|
332 |
$page_title,
|
333 |
'→',
|
334 |
-
$tab
|
335 |
)
|
336 |
)
|
337 |
);
|
@@ -657,7 +658,11 @@ function learn_press_print_messages( $clear = true ) {
|
|
657 |
}
|
658 |
}
|
659 |
|
|
|
|
|
|
|
660 |
function learn_press_message_count( $type = '' ) {
|
|
|
661 |
$count = 0;
|
662 |
$messages = learn_press_session_get( learn_press_session_message_id(), array() );
|
663 |
|
@@ -995,9 +1000,6 @@ if ( ! function_exists( 'learn_press_is_404' ) ) {
|
|
995 |
*/
|
996 |
function learn_press_is_404() {
|
997 |
global $wp_query;
|
998 |
-
if ( ! empty( $_REQUEST['debug-404'] ) ) {
|
999 |
-
learn_press_debug( debug_backtrace( DEBUG_BACKTRACE_PROVIDE_OBJECT, $_REQUEST['debug-404'] ) );
|
1000 |
-
}
|
1001 |
$wp_query->set_404();
|
1002 |
status_header( 404 );
|
1003 |
}
|
256 |
if ( $quiz && $course ) {
|
257 |
$user = learn_press_get_current_user();
|
258 |
$course_id = $course->get_id();
|
259 |
+
//$user_quiz = $user->get_item_data( $quiz->get_id(), $course_id );
|
260 |
|
261 |
+
/*if ( $user_quiz ) {
|
262 |
$remaining_time = $user_quiz->get_time_remaining();
|
263 |
} else {
|
264 |
$remaining_time = false;
|
265 |
+
}*/
|
266 |
|
267 |
$args = array(
|
268 |
'id' => $quiz->get_id(),
|
287 |
*
|
288 |
* @return array
|
289 |
* @since 3.0.0
|
290 |
+
* @version 3.0.1
|
291 |
*/
|
292 |
function learn_press_single_document_title_parts( $title ) {
|
293 |
if ( learn_press_is_course() ) {
|
332 |
array(
|
333 |
$page_title,
|
334 |
'→',
|
335 |
+
$tab->get( 'title' ),
|
336 |
)
|
337 |
)
|
338 |
);
|
658 |
}
|
659 |
}
|
660 |
|
661 |
+
/**
|
662 |
+
* @deprecated 4.1.7.4
|
663 |
+
*/
|
664 |
function learn_press_message_count( $type = '' ) {
|
665 |
+
_deprecated_function( __FUNCTION__, '4.1.7.4' );
|
666 |
$count = 0;
|
667 |
$messages = learn_press_session_get( learn_press_session_message_id(), array() );
|
668 |
|
1000 |
*/
|
1001 |
function learn_press_is_404() {
|
1002 |
global $wp_query;
|
|
|
|
|
|
|
1003 |
$wp_query->set_404();
|
1004 |
status_header( 404 );
|
1005 |
}
|
@@ -202,9 +202,11 @@ if ( ! class_exists( 'LP_Order' ) ) {
|
|
202 |
* @param string $prop
|
203 |
*
|
204 |
* @return int|mixed|null
|
205 |
-
* @deprecated
|
|
|
206 |
*/
|
207 |
public function __get( $prop ) {
|
|
|
208 |
if ( $prop == 'post' ) {
|
209 |
// print_r( debug_backtrace() );
|
210 |
// die( '$post is deprecated' );
|
@@ -270,14 +272,16 @@ if ( ! class_exists( 'LP_Order' ) ) {
|
|
270 |
* update it to database.
|
271 |
*
|
272 |
* @param LP_Gateway_Abstract|string $payment_method
|
|
|
273 |
*/
|
274 |
public function set_payment_method( $payment_method ) {
|
275 |
-
|
|
|
276 |
update_post_meta( $this->get_id(), '_payment_method', $payment_method->get_id() );
|
277 |
update_post_meta( $this->get_id(), '_payment_method_title', $payment_method->get_title() );
|
278 |
}
|
279 |
|
280 |
-
$this->payment_method = $payment_method
|
281 |
}
|
282 |
|
283 |
/**
|
@@ -356,7 +360,7 @@ if ( ! class_exists( 'LP_Order' ) ) {
|
|
356 |
/**
|
357 |
* Mark order as complete
|
358 |
*
|
359 |
-
* @param string
|
360 |
*
|
361 |
* @return bool
|
362 |
* @throws Exception
|
@@ -364,9 +368,6 @@ if ( ! class_exists( 'LP_Order' ) ) {
|
|
364 |
public function payment_complete( $transaction_id = '' ): bool {
|
365 |
do_action( 'learn-press/payment-pre-complete', $this->get_id() );
|
366 |
|
367 |
-
//TODO: tungnx - check to change code below - use LearnPress::instance()->session->set()
|
368 |
-
LearnPress::instance()->session->order_awaiting_payment = null;
|
369 |
-
|
370 |
$valid_order_statuses = apply_filters(
|
371 |
'learn-press/valid-order-statuses-for-payment-complete',
|
372 |
array(
|
@@ -517,7 +518,7 @@ if ( ! class_exists( 'LP_Order' ) ) {
|
|
517 |
$course_ids = array();
|
518 |
foreach ( $items as $item ) {
|
519 |
if ( isset( $item['course_id'] ) ) {
|
520 |
-
$course_ids[] = $item['course_id'];
|
521 |
}
|
522 |
}
|
523 |
|
@@ -695,7 +696,7 @@ if ( ! class_exists( 'LP_Order' ) ) {
|
|
695 |
* @return int|float
|
696 |
*/
|
697 |
public function get_total() {
|
698 |
-
return $this->get_data( 'total' );
|
699 |
}
|
700 |
|
701 |
/**
|
@@ -816,6 +817,14 @@ if ( ! class_exists( 'LP_Order' ) ) {
|
|
816 |
$users = $this->get_user_id();
|
817 |
if ( $users !== -1 ) {
|
818 |
settype( $users, 'array' );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
819 |
$users = array_unique( $users );
|
820 |
} else {
|
821 |
$users = array();
|
@@ -866,10 +875,10 @@ if ( ! class_exists( 'LP_Order' ) ) {
|
|
866 |
}
|
867 |
|
868 |
public function get_payment_method_title() {
|
869 |
-
if ( $this->order_total == 0 ) {
|
870 |
$title = '';
|
871 |
} else {
|
872 |
-
$title = $this->payment_method_title;
|
873 |
}
|
874 |
|
875 |
return $title;
|
202 |
* @param string $prop
|
203 |
*
|
204 |
* @return int|mixed|null
|
205 |
+
* @deprecated 4.1.7.4
|
206 |
+
* @note Tungnx when change all direct access from $this->{key} to $this->get_data({key}), can remove this method
|
207 |
*/
|
208 |
public function __get( $prop ) {
|
209 |
+
_deprecated_function( __METHOD__, '4.1.7.4', 'get_data({key})' );
|
210 |
if ( $prop == 'post' ) {
|
211 |
// print_r( debug_backtrace() );
|
212 |
// die( '$post is deprecated' );
|
272 |
* update it to database.
|
273 |
*
|
274 |
* @param LP_Gateway_Abstract|string $payment_method
|
275 |
+
* @deprecated 4.1.7.4
|
276 |
*/
|
277 |
public function set_payment_method( $payment_method ) {
|
278 |
+
_deprecated_function( __METHOD__, '4.1.7.4' );
|
279 |
+
/*if ( $payment_method instanceof LP_Gateway_Abstract ) {
|
280 |
update_post_meta( $this->get_id(), '_payment_method', $payment_method->get_id() );
|
281 |
update_post_meta( $this->get_id(), '_payment_method_title', $payment_method->get_title() );
|
282 |
}
|
283 |
|
284 |
+
$this->payment_method = $payment_method;*/
|
285 |
}
|
286 |
|
287 |
/**
|
360 |
/**
|
361 |
* Mark order as complete
|
362 |
*
|
363 |
+
* @param string $transaction_id
|
364 |
*
|
365 |
* @return bool
|
366 |
* @throws Exception
|
368 |
public function payment_complete( $transaction_id = '' ): bool {
|
369 |
do_action( 'learn-press/payment-pre-complete', $this->get_id() );
|
370 |
|
|
|
|
|
|
|
371 |
$valid_order_statuses = apply_filters(
|
372 |
'learn-press/valid-order-statuses-for-payment-complete',
|
373 |
array(
|
518 |
$course_ids = array();
|
519 |
foreach ( $items as $item ) {
|
520 |
if ( isset( $item['course_id'] ) ) {
|
521 |
+
$course_ids[] = (int) $item['course_id'];
|
522 |
}
|
523 |
}
|
524 |
|
696 |
* @return int|float
|
697 |
*/
|
698 |
public function get_total() {
|
699 |
+
return $this->get_data( 'total', 0 );
|
700 |
}
|
701 |
|
702 |
/**
|
817 |
$users = $this->get_user_id();
|
818 |
if ( $users !== -1 ) {
|
819 |
settype( $users, 'array' );
|
820 |
+
|
821 |
+
$users = array_map(
|
822 |
+
function ( $user ) {
|
823 |
+
return absint( $user );
|
824 |
+
},
|
825 |
+
$users
|
826 |
+
);
|
827 |
+
|
828 |
$users = array_unique( $users );
|
829 |
} else {
|
830 |
$users = array();
|
875 |
}
|
876 |
|
877 |
public function get_payment_method_title() {
|
878 |
+
if ( $this->get_data( 'order_total' ) == 0 ) {
|
879 |
$title = '';
|
880 |
} else {
|
881 |
+
$title = $this->get_data( 'payment_method_title' );
|
882 |
}
|
883 |
|
884 |
return $title;
|
@@ -312,6 +312,7 @@ function learn_press_delete_transient_transaction( $method, $temp_id ) {
|
|
312 |
* @param array $args
|
313 |
*
|
314 |
* @return int
|
|
|
315 |
*/
|
316 |
function learn_press_add_transaction( $args = null ) {
|
317 |
// _deprecated_function( 'learn_press_add_transaction', '1.0', 'learn_press_add_order' );
|
@@ -322,10 +323,12 @@ function learn_press_add_transaction( $args = null ) {
|
|
322 |
* @param null $args
|
323 |
*
|
324 |
* @return mixed
|
|
|
325 |
*/
|
326 |
function learn_press_add_order( $args = null ) {
|
|
|
327 |
// $method, $method_id, $status = 'Pending', $customer_id = false, $transaction_object = false, $args = array()
|
328 |
-
|
329 |
'method' => '',
|
330 |
'method_id' => '',
|
331 |
'status' => '',
|
@@ -407,7 +410,7 @@ function learn_press_add_order( $args = null ) {
|
|
407 |
return $transaction_id;
|
408 |
}
|
409 |
|
410 |
-
return false
|
411 |
|
412 |
// do_action( 'learn_press_add_transaction_fail', $args );// $method, $method_id, $status, $customer_id, $transaction_object, $args );
|
413 |
}
|
@@ -418,8 +421,12 @@ function learn_press_payment_method_from_slug( $order_id ) {
|
|
418 |
return apply_filters( 'learn_press_payment_method_from_slug_' . $slug, $slug );
|
419 |
}
|
420 |
|
|
|
|
|
|
|
421 |
function learn_press_generate_transaction_object() {
|
422 |
-
|
|
|
423 |
$products = $cart->get_items();
|
424 |
|
425 |
if ( $products ) {
|
@@ -443,7 +450,7 @@ function learn_press_generate_transaction_object() {
|
|
443 |
|
444 |
$transaction_object = apply_filters( 'learn_press_generate_transaction_object', $transaction_object );
|
445 |
|
446 |
-
return $transaction_object
|
447 |
}
|
448 |
|
449 |
/**
|
312 |
* @param array $args
|
313 |
*
|
314 |
* @return int
|
315 |
+
* @deprecated 4.1.7.4
|
316 |
*/
|
317 |
function learn_press_add_transaction( $args = null ) {
|
318 |
// _deprecated_function( 'learn_press_add_transaction', '1.0', 'learn_press_add_order' );
|
323 |
* @param null $args
|
324 |
*
|
325 |
* @return mixed
|
326 |
+
* @deprecated 4.1.7.4
|
327 |
*/
|
328 |
function learn_press_add_order( $args = null ) {
|
329 |
+
_deprecated_function( __FUNCTION__, '4.1.7.4' );
|
330 |
// $method, $method_id, $status = 'Pending', $customer_id = false, $transaction_object = false, $args = array()
|
331 |
+
/*$default_args = array(
|
332 |
'method' => '',
|
333 |
'method_id' => '',
|
334 |
'status' => '',
|
410 |
return $transaction_id;
|
411 |
}
|
412 |
|
413 |
+
return false;*/
|
414 |
|
415 |
// do_action( 'learn_press_add_transaction_fail', $args );// $method, $method_id, $status, $customer_id, $transaction_object, $args );
|
416 |
}
|
421 |
return apply_filters( 'learn_press_payment_method_from_slug_' . $slug, $slug );
|
422 |
}
|
423 |
|
424 |
+
/**
|
425 |
+
* @deprecated 4.1.7.4
|
426 |
+
*/
|
427 |
function learn_press_generate_transaction_object() {
|
428 |
+
_deprecated_function( __FUNCTION__, '4.1.7.4' );
|
429 |
+
/*$cart = learn_press_get_cart();
|
430 |
$products = $cart->get_items();
|
431 |
|
432 |
if ( $products ) {
|
450 |
|
451 |
$transaction_object = apply_filters( 'learn_press_generate_transaction_object', $transaction_object );
|
452 |
|
453 |
+
return $transaction_object;*/
|
454 |
}
|
455 |
|
456 |
/**
|
@@ -13,8 +13,10 @@ if ( ! class_exists( 'LP_Question_Answers' ) ) {
|
|
13 |
|
14 |
/**
|
15 |
* Class LP_Question_Answers
|
|
|
|
|
16 |
*/
|
17 |
-
class LP_Question_Answers
|
18 |
/**
|
19 |
* Answers
|
20 |
*
|
@@ -102,6 +104,13 @@ if ( ! class_exists( 'LP_Question_Answers' ) ) {
|
|
102 |
}
|
103 |
}
|
104 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
105 |
/**
|
106 |
* Set new option for an answer
|
107 |
*
|
@@ -290,6 +299,7 @@ if ( ! class_exists( 'LP_Question_Answers' ) ) {
|
|
290 |
|
291 |
/**
|
292 |
* @param string $more
|
|
|
293 |
*/
|
294 |
public function answers_class( $more = '' ) {
|
295 |
$classes = $this->get_class( $more );
|
@@ -304,7 +314,7 @@ if ( ! class_exists( 'LP_Question_Answer_Option' ) ) {
|
|
304 |
*
|
305 |
* @since 3.0.0
|
306 |
*/
|
307 |
-
class LP_Question_Answer_Option
|
308 |
/**
|
309 |
* Option data
|
310 |
*
|
@@ -360,12 +370,12 @@ if ( ! class_exists( 'LP_Question_Answer_Option' ) ) {
|
|
360 |
*
|
361 |
* @return bool
|
362 |
*/
|
363 |
-
public function is_true() {
|
364 |
return apply_filters( 'learn-press/question/option-is-true', array_key_exists( 'is_true', $this->_data ) && $this->_data['is_true'] === 'yes', $this );
|
365 |
}
|
366 |
|
367 |
public function get_id() {
|
368 |
-
return
|
369 |
}
|
370 |
|
371 |
/**
|
13 |
|
14 |
/**
|
15 |
* Class LP_Question_Answers
|
16 |
+
*
|
17 |
+
* @deprecated 4.1.7.3
|
18 |
*/
|
19 |
+
class LP_Question_Answers {
|
20 |
/**
|
21 |
* Answers
|
22 |
*
|
104 |
}
|
105 |
}
|
106 |
|
107 |
+
/**
|
108 |
+
* @return array
|
109 |
+
*/
|
110 |
+
public function get_answers(): array {
|
111 |
+
return $this->_answers;
|
112 |
+
}
|
113 |
+
|
114 |
/**
|
115 |
* Set new option for an answer
|
116 |
*
|
299 |
|
300 |
/**
|
301 |
* @param string $more
|
302 |
+
* @deprecated 4.1.7.3
|
303 |
*/
|
304 |
public function answers_class( $more = '' ) {
|
305 |
$classes = $this->get_class( $more );
|
314 |
*
|
315 |
* @since 3.0.0
|
316 |
*/
|
317 |
+
class LP_Question_Answer_Option {
|
318 |
/**
|
319 |
* Option data
|
320 |
*
|
370 |
*
|
371 |
* @return bool
|
372 |
*/
|
373 |
+
public function is_true(): bool {
|
374 |
return apply_filters( 'learn-press/question/option-is-true', array_key_exists( 'is_true', $this->_data ) && $this->_data['is_true'] === 'yes', $this );
|
375 |
}
|
376 |
|
377 |
public function get_id() {
|
378 |
+
return $this->_data['question_answer_id'] ?? 0;
|
379 |
}
|
380 |
|
381 |
/**
|
@@ -93,60 +93,6 @@ if ( ! class_exists( 'LP_Question_Fill_In_Blanks' ) ) {
|
|
93 |
return $output;
|
94 |
}
|
95 |
|
96 |
-
/**
|
97 |
-
* @editor tungnnx
|
98 |
-
* @modify 4.1.4 comment - not use - replaced to "match_shortcode_api" function
|
99 |
-
*/
|
100 |
-
/*
|
101 |
-
public function match_shortcode( $content, $answer_id, $show_answer = false, $answered = '' ) {
|
102 |
-
if ( ! empty( $content ) ) {
|
103 |
-
preg_match_all(
|
104 |
-
'/' . get_shortcode_regex( array( 'fib' ) ) . '/',
|
105 |
-
$content,
|
106 |
-
$all_shortcode,
|
107 |
-
PREG_SET_ORDER
|
108 |
-
);
|
109 |
-
|
110 |
-
if ( ! empty( $all_shortcode ) ) {
|
111 |
-
foreach ( $all_shortcode as $shortcode ) {
|
112 |
-
$atts = shortcode_parse_atts( $shortcode[0] );
|
113 |
-
|
114 |
-
if ( empty( $atts['id'] ) ) {
|
115 |
-
$ida = explode( '=', str_replace( ']', '', $atts[1] ) );
|
116 |
-
$ids = isset( $ida[1] ) ? str_replace( '"', '', $ida[1] ) : '';
|
117 |
-
} else {
|
118 |
-
$ids = $atts['id'];
|
119 |
-
}
|
120 |
-
|
121 |
-
$fill = ! empty( $atts['fill'] ) ? $atts['fill'] : '';
|
122 |
-
|
123 |
-
if ( $show_answer ) {
|
124 |
-
$answer = isset( $answered[ $ids ] ) ? $answered[ $ids ] : '';
|
125 |
-
|
126 |
-
$is_correct = '';
|
127 |
-
|
128 |
-
if ( ! empty( $answer ) ) {
|
129 |
-
$blanks = learn_press_get_question_answer_meta( $answer_id, '_blanks', true );
|
130 |
-
|
131 |
-
if ( ! empty( $blanks ) ) {
|
132 |
-
$is_correct = $this->check_answer( $blanks[ $ids ], $answer ) ? 'correct' : 'fail';
|
133 |
-
}
|
134 |
-
}
|
135 |
-
|
136 |
-
$answer_html = ( ! empty( $answer ) && $is_correct === 'fail' ) ? '<span class="lp-fib-answered__answer">' . $answer . '</span> → ' : '';
|
137 |
-
$new_str = '<span class="lp-fib-answered ' . $is_correct . '" id="' . esc_attr( $ids ) . '">' . $answer_html . '<span class="lp-fib-answered__fill">' . $fill . '</span></span>';
|
138 |
-
} else {
|
139 |
-
$new_str = '<div class="lp-fib-input" style="display: inline-block; width: auto;"><input type="text" data-id="' . esc_attr( $ids ) . '" value="" /></div>';
|
140 |
-
}
|
141 |
-
|
142 |
-
$content = str_replace( $shortcode[0], $new_str, $content );
|
143 |
-
}
|
144 |
-
}
|
145 |
-
}
|
146 |
-
|
147 |
-
return $content;
|
148 |
-
}*/
|
149 |
-
|
150 |
public function match_shortcode_api( $content, $answer_id, $show_answer = false, $answered = '' ) {
|
151 |
if ( ! empty( $content ) ) {
|
152 |
preg_match_all(
|
@@ -401,14 +347,10 @@ if ( ! class_exists( 'LP_Question_Fill_In_Blanks' ) ) {
|
|
401 |
$return = parent::check();
|
402 |
settype( $user_answer, 'array' );
|
403 |
$answers = $this->get_answers();
|
404 |
-
$blanks = array();
|
405 |
|
406 |
if ( $answers ) {
|
407 |
-
|
408 |
-
|
409 |
-
*/
|
410 |
-
foreach ( $answers as $key => $answer ) {
|
411 |
-
$blanks = $answer->get_meta( '_blanks' );
|
412 |
$return['blanks'] = array();
|
413 |
$return['answered'] = array();
|
414 |
|
@@ -440,9 +382,9 @@ if ( ! class_exists( 'LP_Question_Fill_In_Blanks' ) ) {
|
|
440 |
}
|
441 |
}
|
442 |
}
|
443 |
-
|
444 |
-
return $return;
|
445 |
}
|
|
|
|
|
446 |
}
|
447 |
|
448 |
/**
|
93 |
return $output;
|
94 |
}
|
95 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
96 |
public function match_shortcode_api( $content, $answer_id, $show_answer = false, $answered = '' ) {
|
97 |
if ( ! empty( $content ) ) {
|
98 |
preg_match_all(
|
347 |
$return = parent::check();
|
348 |
settype( $user_answer, 'array' );
|
349 |
$answers = $this->get_answers();
|
|
|
350 |
|
351 |
if ( $answers ) {
|
352 |
+
foreach ( $answers as $key => $option ) {
|
353 |
+
$blanks = $option->get_meta( '_blanks' );
|
|
|
|
|
|
|
354 |
$return['blanks'] = array();
|
355 |
$return['answered'] = array();
|
356 |
|
382 |
}
|
383 |
}
|
384 |
}
|
|
|
|
|
385 |
}
|
386 |
+
|
387 |
+
return $return;
|
388 |
}
|
389 |
|
390 |
/**
|
@@ -59,16 +59,16 @@ if ( ! class_exists( 'LP_Question_Multi_Choice' ) ) {
|
|
59 |
if ( $answers ) {
|
60 |
$correct = true;
|
61 |
foreach ( $answers as $key => $option ) {
|
62 |
-
$
|
|
|
63 |
|
64 |
-
// If the option is FALSE but user selected => WRONG
|
65 |
if ( $selected && ! $option->is_true() ) {
|
66 |
$correct = false;
|
67 |
-
} elseif ( ! $selected && $option->is_true() ) {
|
68 |
$correct = false;
|
69 |
}
|
70 |
|
71 |
-
// Only one option is selected wrong
|
72 |
if ( ! $correct ) {
|
73 |
break;
|
74 |
}
|
59 |
if ( $answers ) {
|
60 |
$correct = true;
|
61 |
foreach ( $answers as $key => $option ) {
|
62 |
+
$data = $option->get_data();
|
63 |
+
$selected = $this->is_selected_option( $data, $user_answer );
|
64 |
|
|
|
65 |
if ( $selected && ! $option->is_true() ) {
|
66 |
$correct = false;
|
67 |
+
} elseif ( ! $selected && $option->is_true() ) {
|
68 |
$correct = false;
|
69 |
}
|
70 |
|
71 |
+
// Only one option is selected wrong will wrong the answer.
|
72 |
if ( ! $correct ) {
|
73 |
break;
|
74 |
}
|
@@ -53,7 +53,8 @@ if ( ! class_exists( 'LP_Question_Single_Choice' ) ) {
|
|
53 |
|
54 |
if ( $answers ) {
|
55 |
foreach ( $answers as $key => $option ) {
|
56 |
-
|
|
|
57 |
$return['correct'] = true;
|
58 |
$return['mark'] = floatval( $this->get_mark() );
|
59 |
break;
|
53 |
|
54 |
if ( $answers ) {
|
55 |
foreach ( $answers as $key => $option ) {
|
56 |
+
$data = $option->get_data();
|
57 |
+
if ( ( $data['is_true'] == 'yes' ) && ( $this->is_selected_option( $data, $user_answer ) ) ) {
|
58 |
$return['correct'] = true;
|
59 |
$return['mark'] = floatval( $this->get_mark() );
|
60 |
break;
|
@@ -67,17 +67,21 @@ if ( ! class_exists( 'LP_Question_True_Or_False' ) ) {
|
|
67 |
* @return array
|
68 |
*/
|
69 |
public function check( $user_answer = null ) {
|
70 |
-
$return
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
-
$
|
77 |
-
|
78 |
-
|
|
|
|
|
79 |
}
|
80 |
}
|
|
|
|
|
81 |
}
|
82 |
|
83 |
return $return;
|
67 |
* @return array
|
68 |
*/
|
69 |
public function check( $user_answer = null ) {
|
70 |
+
$return = parent::check();
|
71 |
+
try {
|
72 |
+
$answers = $this->get_answers();
|
73 |
+
if ( $answers ) {
|
74 |
+
foreach ( $answers as $key => $option ) {
|
75 |
+
$data = $option->get_data();
|
76 |
+
if ( $data['is_true'] == 'yes' && $data['value'] == $user_answer ) {
|
77 |
+
$return['correct'] = true;
|
78 |
+
$return['mark'] = floatval( $this->get_mark() );
|
79 |
+
break;
|
80 |
+
}
|
81 |
}
|
82 |
}
|
83 |
+
} catch ( Throwable $e ) {
|
84 |
+
error_log( __METHOD__ . ': ' . $e->getMessage() );
|
85 |
}
|
86 |
|
87 |
return $return;
|
@@ -115,7 +115,7 @@ if ( ! class_exists( 'LP_Question' ) ) {
|
|
115 |
}
|
116 |
|
117 |
$this->_options = $args;
|
118 |
-
|
119 |
// self::$_loaded ++;
|
120 |
}
|
121 |
|
@@ -393,7 +393,8 @@ if ( ! class_exists( 'LP_Question' ) ) {
|
|
393 |
}*/
|
394 |
|
395 |
$this->empty_answers();
|
396 |
-
|
|
|
397 |
$question_order = 1;
|
398 |
$query = "INSERT INTO {$wpdb->prefix}learnpress_question_answers(`question_id`, `order`) VALUES";
|
399 |
foreach ( $answer_options as $answer_option ) {
|
@@ -453,14 +454,16 @@ if ( ! class_exists( 'LP_Question' ) ) {
|
|
453 |
* @param $is_saved
|
454 |
*
|
455 |
* @return string
|
|
|
456 |
*/
|
457 |
public function _filter_meta_box_meta( $meta, $field, $is_saved ) {
|
458 |
-
|
|
|
459 |
$post = get_post( $this->get_id() );
|
460 |
$meta = $post->post_content;
|
461 |
}
|
462 |
|
463 |
-
return $meta
|
464 |
}
|
465 |
|
466 |
/**
|
@@ -492,17 +495,19 @@ if ( ! class_exists( 'LP_Question' ) ) {
|
|
492 |
* Update ordering of question answers
|
493 |
*
|
494 |
* @param array $orders List of answers
|
|
|
495 |
*/
|
496 |
public function update_answer_orders( $orders ) {
|
497 |
-
|
|
|
498 |
$query = $wpdb->prepare(
|
499 |
"
|
500 |
-
|
501 |
-
|
502 |
-
|
503 |
-
|
504 |
-
|
505 |
-
|
506 |
",
|
507 |
'value',
|
508 |
'text',
|
@@ -510,9 +515,9 @@ if ( ! class_exists( 'LP_Question' ) ) {
|
|
510 |
);
|
511 |
if ( $answers = $wpdb->get_results( $query ) ) {
|
512 |
$query = "
|
513 |
-
|
514 |
-
|
515 |
-
|
516 |
for ( $order = 0, $n = sizeof( $orders ); $order < $n; $order ++ ) {
|
517 |
$found_answer = false;
|
518 |
foreach ( $answers as $answer ) {
|
@@ -528,7 +533,7 @@ if ( ! class_exists( 'LP_Question' ) ) {
|
|
528 |
}
|
529 |
$query .= sprintf( 'ELSE `order` END WHERE question_id = %d', $this->get_id() );
|
530 |
$wpdb->query( $query );
|
531 |
-
}
|
532 |
}
|
533 |
|
534 |
/**
|
@@ -550,7 +555,7 @@ if ( ! class_exists( 'LP_Question' ) ) {
|
|
550 |
}
|
551 |
|
552 |
protected function _init() {
|
553 |
-
add_filter( 'learn_press_question_answers', array( $this, '_get_default_answers' ), 10, 2 );
|
554 |
}
|
555 |
|
556 |
|
@@ -560,14 +565,15 @@ if ( ! class_exists( 'LP_Question' ) ) {
|
|
560 |
* @param LP_Question $q
|
561 |
*
|
562 |
* @return array|bool
|
|
|
563 |
*/
|
564 |
-
public function _get_default_answers( $answers = false, $q = null ) {
|
565 |
if ( ! $answers && ( $q && $q->get_id() == $this->get_id() ) ) {
|
566 |
$answers = $this->get_default_answers();
|
567 |
}
|
568 |
|
569 |
return $answers;
|
570 |
-
}
|
571 |
|
572 |
/**
|
573 |
* Get default question answer.
|
@@ -617,32 +623,38 @@ if ( ! class_exists( 'LP_Question' ) ) {
|
|
617 |
|
618 |
|
619 |
/**
|
620 |
-
*
|
621 |
-
* @param string $exclude
|
622 |
*
|
623 |
-
* @
|
|
|
|
|
|
|
624 |
*/
|
625 |
-
public function get_answers(
|
626 |
-
$
|
|
|
|
|
|
|
627 |
|
628 |
-
if ( false === $
|
629 |
-
$
|
630 |
|
631 |
-
if ( ! $
|
632 |
-
$
|
633 |
}
|
634 |
|
635 |
-
|
636 |
-
};
|
637 |
-
|
638 |
-
if ( $answers ) {
|
639 |
-
$answers = new LP_Question_Answers( $this, $answers );
|
640 |
}
|
641 |
|
642 |
-
|
643 |
-
|
|
|
|
|
|
|
|
|
|
|
644 |
|
645 |
-
return
|
646 |
}
|
647 |
|
648 |
/**
|
@@ -659,7 +671,7 @@ if ( ! class_exists( 'LP_Question' ) ) {
|
|
659 |
$answer = array(
|
660 |
'question_id' => $this->get_id(),
|
661 |
'title' => $answer['title'],
|
662 |
-
'value' =>
|
663 |
'is_true' => ( $answer['is_true'] == 'yes' ) ? $answer['is_true'] : '',
|
664 |
'order' => $index + 1,
|
665 |
);
|
@@ -712,9 +724,11 @@ if ( ! class_exists( 'LP_Question' ) ) {
|
|
712 |
* Get question name.
|
713 |
*
|
714 |
* @return string
|
|
|
715 |
*/
|
716 |
public function get_name() {
|
717 |
-
|
|
|
718 |
preg_replace_callback(
|
719 |
'!_([a-z])!',
|
720 |
array(
|
@@ -723,7 +737,7 @@ if ( ! class_exists( 'LP_Question' ) ) {
|
|
723 |
),
|
724 |
$this->get_type()
|
725 |
)
|
726 |
-
)
|
727 |
}
|
728 |
|
729 |
/**
|
@@ -819,12 +833,11 @@ if ( ! class_exists( 'LP_Question' ) ) {
|
|
819 |
*
|
820 |
* @return bool
|
821 |
*/
|
822 |
-
public function is_selected_option( $answer, $answered = false ) {
|
823 |
-
|
824 |
if ( is_array( $answered ) ) {
|
825 |
$is_selected = in_array( $answer['value'], $answered );
|
826 |
} else {
|
827 |
-
$is_selected =
|
828 |
}
|
829 |
|
830 |
return apply_filters( 'learn-press/question/is-selected-option', $is_selected, $answer, $answered, $this->get_id() );
|
115 |
}
|
116 |
|
117 |
$this->_options = $args;
|
118 |
+
//$this->_init();
|
119 |
// self::$_loaded ++;
|
120 |
}
|
121 |
|
393 |
}*/
|
394 |
|
395 |
$this->empty_answers();
|
396 |
+
$answer_options = $this->get_data( 'answer_options' );
|
397 |
+
if ( $answer_options ) {
|
398 |
$question_order = 1;
|
399 |
$query = "INSERT INTO {$wpdb->prefix}learnpress_question_answers(`question_id`, `order`) VALUES";
|
400 |
foreach ( $answer_options as $answer_option ) {
|
454 |
* @param $is_saved
|
455 |
*
|
456 |
* @return string
|
457 |
+
* @deprecated 4.1.7.3
|
458 |
*/
|
459 |
public function _filter_meta_box_meta( $meta, $field, $is_saved ) {
|
460 |
+
_deprecated_function( __METHOD__, '4.1.7.3' );
|
461 |
+
/*if ( preg_match( '~\[question-content\]~', $field['id'] ) && $field['context'] == 'quiz-list-questions' ) {
|
462 |
$post = get_post( $this->get_id() );
|
463 |
$meta = $post->post_content;
|
464 |
}
|
465 |
|
466 |
+
return $meta;*/
|
467 |
}
|
468 |
|
469 |
/**
|
495 |
* Update ordering of question answers
|
496 |
*
|
497 |
* @param array $orders List of answers
|
498 |
+
* @deprecated 4.1.7.3
|
499 |
*/
|
500 |
public function update_answer_orders( $orders ) {
|
501 |
+
_deprecated_function( __METHOD__, '4.1.7.3' );
|
502 |
+
/*global $wpdb;
|
503 |
$query = $wpdb->prepare(
|
504 |
"
|
505 |
+
SELECT qa.question_answer_id, qam2.meta_value as `name`, qam.meta_value as `value`
|
506 |
+
FROM {$wpdb->learnpress_question_answers} qa
|
507 |
+
INNER JOIN {$wpdb->learnpress_question_answermeta} qam ON qa.question_answer_id = qam.learnpress_question_answer_id AND qam.meta_key = %s
|
508 |
+
INNER JOIN {$wpdb->learnpress_question_answermeta} qam2 ON qa.question_answer_id = qam2.learnpress_question_answer_id AND qam2.meta_key = %s
|
509 |
+
WHERE qa.question_id = %d
|
510 |
+
ORDER BY `order`
|
511 |
",
|
512 |
'value',
|
513 |
'text',
|
515 |
);
|
516 |
if ( $answers = $wpdb->get_results( $query ) ) {
|
517 |
$query = "
|
518 |
+
UPDATE {$wpdb->learnpress_question_answers}
|
519 |
+
SET `order` = CASE
|
520 |
+
";
|
521 |
for ( $order = 0, $n = sizeof( $orders ); $order < $n; $order ++ ) {
|
522 |
$found_answer = false;
|
523 |
foreach ( $answers as $answer ) {
|
533 |
}
|
534 |
$query .= sprintf( 'ELSE `order` END WHERE question_id = %d', $this->get_id() );
|
535 |
$wpdb->query( $query );
|
536 |
+
}*/
|
537 |
}
|
538 |
|
539 |
/**
|
555 |
}
|
556 |
|
557 |
protected function _init() {
|
558 |
+
//add_filter( 'learn_press_question_answers', array( $this, '_get_default_answers' ), 10, 2 );
|
559 |
}
|
560 |
|
561 |
|
565 |
* @param LP_Question $q
|
566 |
*
|
567 |
* @return array|bool
|
568 |
+
* @deprecated 4.1.7.3
|
569 |
*/
|
570 |
+
/*public function _get_default_answers( $answers = false, $q = null ) {
|
571 |
if ( ! $answers && ( $q && $q->get_id() == $this->get_id() ) ) {
|
572 |
$answers = $this->get_default_answers();
|
573 |
}
|
574 |
|
575 |
return $answers;
|
576 |
+
}*/
|
577 |
|
578 |
/**
|
579 |
* Get default question answer.
|
623 |
|
624 |
|
625 |
/**
|
626 |
+
* Get question answers option.
|
|
|
627 |
*
|
628 |
+
* @since 3.0.0
|
629 |
+
* @version 4.0.1
|
630 |
+
* @modify 4.1.7.3 by tungnx
|
631 |
+
* @return LP_Question_Answer_Option[]
|
632 |
*/
|
633 |
+
public function get_answers(): array {
|
634 |
+
$lp_question_cache = LP_Question_Cache::instance();
|
635 |
+
$key_cache = "{$this->get_id()}/option_answers";
|
636 |
+
//$answers = LP_Object_Cache::get( 'answer-options-' . $this->get_id(), 'learn-press/questions' );
|
637 |
+
$answers_option = $lp_question_cache->get_cache( $key_cache );
|
638 |
|
639 |
+
if ( false === $answers_option ) {
|
640 |
+
$answers_option = $this->_curd->load_answer_options( $this->get_id() );
|
641 |
|
642 |
+
if ( ! $answers_option ) {
|
643 |
+
$answers_option = $this->get_default_answers();
|
644 |
}
|
645 |
|
646 |
+
$lp_question_cache->set_cache( $key_cache, $answers_option );
|
|
|
|
|
|
|
|
|
647 |
}
|
648 |
|
649 |
+
require_once 'class-lp-question-answers.php';
|
650 |
+
|
651 |
+
$answers_option_tmp = [];
|
652 |
+
foreach ( $answers_option as $k => $answer ) {
|
653 |
+
$answer_option = new LP_Question_Answer_Option( $this, $answer );
|
654 |
+
$answers_option_tmp[] = $answer_option;
|
655 |
+
}
|
656 |
|
657 |
+
return $answers_option_tmp;
|
658 |
}
|
659 |
|
660 |
/**
|
671 |
$answer = array(
|
672 |
'question_id' => $this->get_id(),
|
673 |
'title' => $answer['title'],
|
674 |
+
'value' => $answer['value'] ?? '',
|
675 |
'is_true' => ( $answer['is_true'] == 'yes' ) ? $answer['is_true'] : '',
|
676 |
'order' => $index + 1,
|
677 |
);
|
724 |
* Get question name.
|
725 |
*
|
726 |
* @return string
|
727 |
+
* @deprecated 4.1.7.3
|
728 |
*/
|
729 |
public function get_name() {
|
730 |
+
_deprecated_function( __METHOD__, '4.1.7.3' );
|
731 |
+
/*return $this->_options['name'] ?? ucfirst(
|
732 |
preg_replace_callback(
|
733 |
'!_([a-z])!',
|
734 |
array(
|
737 |
),
|
738 |
$this->get_type()
|
739 |
)
|
740 |
+
);*/
|
741 |
}
|
742 |
|
743 |
/**
|
833 |
*
|
834 |
* @return bool
|
835 |
*/
|
836 |
+
public function is_selected_option( $answer, $answered = false ): bool {
|
|
|
837 |
if ( is_array( $answered ) ) {
|
838 |
$is_selected = in_array( $answer['value'], $answered );
|
839 |
} else {
|
840 |
+
$is_selected = $answer['value'] === $answered;
|
841 |
}
|
842 |
|
843 |
return apply_filters( 'learn-press/question/is-selected-option', $is_selected, $answer, $answered, $this->get_id() );
|
@@ -14,7 +14,7 @@ if ( ! class_exists( 'LP_Quiz' ) ) {
|
|
14 |
/**
|
15 |
* Class LP_Quiz
|
16 |
*/
|
17 |
-
class LP_Quiz extends LP_Course_Item
|
18 |
|
19 |
|
20 |
/**
|
@@ -606,12 +606,14 @@ if ( ! class_exists( 'LP_Quiz' ) ) {
|
|
606 |
* @param string $key
|
607 |
*
|
608 |
* @return mixed
|
|
|
609 |
*/
|
610 |
public function __get( $key ) {
|
611 |
-
|
|
|
612 |
learn_press_debug( debug_backtrace() );
|
613 |
|
614 |
-
return false
|
615 |
}
|
616 |
|
617 |
/**
|
@@ -619,6 +621,7 @@ if ( ! class_exists( 'LP_Quiz' ) ) {
|
|
619 |
*
|
620 |
* @return mixed
|
621 |
* @throws Exception
|
|
|
622 |
*/
|
623 |
public function has( $feature ) {
|
624 |
_deprecated_function( __FUNCTION__, '3.0.8' );
|
@@ -656,9 +659,11 @@ if ( ! class_exists( 'LP_Quiz' ) ) {
|
|
656 |
* @param int $question_id
|
657 |
*
|
658 |
* @return string
|
|
|
659 |
*/
|
660 |
public function get_question_link( $question_id = null ) {
|
661 |
-
|
|
|
662 |
if ( ! $course ) {
|
663 |
return '';
|
664 |
}
|
@@ -681,7 +686,7 @@ if ( ! class_exists( 'LP_Quiz' ) ) {
|
|
681 |
// @deprecated
|
682 |
$permalink = apply_filters( 'learn_press_quiz_question_permalink', $permalink, $question_id, $this );
|
683 |
|
684 |
-
return apply_filters( 'learn-press/quiz/question-permalink', $permalink, $question_id, $this->get_id() )
|
685 |
}
|
686 |
|
687 |
/**
|
@@ -778,9 +783,11 @@ if ( ! class_exists( 'LP_Quiz' ) ) {
|
|
778 |
* @param $user_id
|
779 |
*
|
780 |
* @return bool
|
|
|
781 |
*/
|
782 |
public function check_question( $question_id, $user_id ) {
|
783 |
-
|
|
|
784 |
|
785 |
if ( ! $question ) {
|
786 |
return false;
|
@@ -801,7 +808,7 @@ if ( ! class_exists( 'LP_Quiz' ) ) {
|
|
801 |
$checked[] = $question_id;
|
802 |
}
|
803 |
|
804 |
-
return true
|
805 |
|
806 |
}
|
807 |
|
@@ -812,9 +819,11 @@ if ( ! class_exists( 'LP_Quiz' ) ) {
|
|
812 |
* @param int $user_id
|
813 |
*
|
814 |
* @return false|int|string
|
|
|
815 |
*/
|
816 |
public function get_question_position( $question, $user_id = 0 ) {
|
817 |
-
|
|
|
818 |
$user_id = learn_press_get_current_user_id();
|
819 |
}
|
820 |
|
@@ -830,7 +839,7 @@ if ( ! class_exists( 'LP_Quiz' ) ) {
|
|
830 |
|
831 |
$position = array_search( $question, $questions );
|
832 |
|
833 |
-
return $position
|
834 |
}
|
835 |
|
836 |
/**
|
@@ -838,14 +847,15 @@ if ( ! class_exists( 'LP_Quiz' ) ) {
|
|
838 |
* @param int $course_id
|
839 |
*
|
840 |
* @return bool|LP_Question
|
|
|
841 |
*/
|
842 |
public function get_current_question( $user_id = 0, $course_id = 0 ) {
|
843 |
_deprecated_function( sprintf( '%s::%s', __CLASS__, __FUNCTION__ ), '4.0.0' );
|
844 |
|
845 |
-
|
846 |
$id = $user->get_current_quiz_question( $this->get_id(), $course_id );
|
847 |
|
848 |
-
return LP_Question::get_question( $id )
|
849 |
}
|
850 |
|
851 |
/**
|
@@ -971,14 +981,14 @@ if ( ! class_exists( 'LP_Quiz' ) ) {
|
|
971 |
$this->_set_data( 'show_hide_question', $show_or_hide );
|
972 |
}
|
973 |
|
|
|
|
|
|
|
|
|
974 |
public function set_preview( $preview ) {
|
975 |
$this->_set_data( 'preview', $preview );
|
976 |
}
|
977 |
|
978 |
-
// public function set_minus_points( $points ) {
|
979 |
-
// $this->_set_data( 'minus_points', $points );
|
980 |
-
// }
|
981 |
-
|
982 |
/**
|
983 |
* @deprecated
|
984 |
*
|
@@ -988,19 +998,12 @@ if ( ! class_exists( 'LP_Quiz' ) ) {
|
|
988 |
$this->_set_data( 'minus_skip_questions', $skip );
|
989 |
}
|
990 |
|
991 |
-
public function get_preview() {
|
992 |
-
return 'yes' === $this->get_data( 'preview' );
|
993 |
-
}
|
994 |
-
|
995 |
/**
|
996 |
-
*
|
997 |
-
*
|
998 |
-
* @return bool
|
999 |
*/
|
1000 |
-
public function
|
1001 |
-
|
1002 |
-
|
1003 |
-
return 'yes' === $this->get_data( 'show_hide_question' );
|
1004 |
}
|
1005 |
|
1006 |
// public function get_minus_points() {
|
@@ -1048,29 +1051,14 @@ if ( ! class_exists( 'LP_Quiz' ) ) {
|
|
1048 |
return $class;
|
1049 |
}*/
|
1050 |
|
1051 |
-
/**
|
1052 |
-
* Implement ArrayAccess functions.
|
1053 |
-
*
|
1054 |
-
* @param mixed $offset
|
1055 |
-
* @param mixed $value
|
1056 |
-
*/
|
1057 |
-
public function offsetSet( $offset, $value ) {
|
1058 |
-
// Do not allow to set value directly!
|
1059 |
-
}
|
1060 |
-
|
1061 |
-
/**
|
1062 |
-
* @param mixed $offset
|
1063 |
-
*/
|
1064 |
-
public function offsetUnset( $offset ) {
|
1065 |
-
// Do not allow to unset value directly!
|
1066 |
-
}
|
1067 |
-
|
1068 |
/**
|
1069 |
* @param mixed $offset
|
1070 |
*
|
1071 |
* @return bool|mixed
|
|
|
1072 |
*/
|
1073 |
public function offsetGet( $offset ) {
|
|
|
1074 |
return $this->offsetExists( $offset ) ? $this->_questions[ $offset ] : false;
|
1075 |
}
|
1076 |
|
@@ -1078,9 +1066,11 @@ if ( ! class_exists( 'LP_Quiz' ) ) {
|
|
1078 |
* @param mixed $offset
|
1079 |
*
|
1080 |
* @return bool
|
|
|
1081 |
*/
|
1082 |
public function offsetExists( $offset ) {
|
1083 |
-
|
|
|
1084 |
}
|
1085 |
}
|
1086 |
}
|
14 |
/**
|
15 |
* Class LP_Quiz
|
16 |
*/
|
17 |
+
class LP_Quiz extends LP_Course_Item {
|
18 |
|
19 |
|
20 |
/**
|
606 |
* @param string $key
|
607 |
*
|
608 |
* @return mixed
|
609 |
+
* @deprecated 4.0.8
|
610 |
*/
|
611 |
public function __get( $key ) {
|
612 |
+
_deprecated_function( __METHOD__, '4.0.8' );
|
613 |
+
/*echo '@deprecated[' . $key . ']';
|
614 |
learn_press_debug( debug_backtrace() );
|
615 |
|
616 |
+
return false;*/
|
617 |
}
|
618 |
|
619 |
/**
|
621 |
*
|
622 |
* @return mixed
|
623 |
* @throws Exception
|
624 |
+
* @deprecated 3.0.8
|
625 |
*/
|
626 |
public function has( $feature ) {
|
627 |
_deprecated_function( __FUNCTION__, '3.0.8' );
|
659 |
* @param int $question_id
|
660 |
*
|
661 |
* @return string
|
662 |
+
* @deprecated 4.1.7.4
|
663 |
*/
|
664 |
public function get_question_link( $question_id = null ) {
|
665 |
+
_deprecated_function( __METHOD__, '4.1.7.4' );
|
666 |
+
/*$course = learn_press_get_course();
|
667 |
if ( ! $course ) {
|
668 |
return '';
|
669 |
}
|
686 |
// @deprecated
|
687 |
$permalink = apply_filters( 'learn_press_quiz_question_permalink', $permalink, $question_id, $this );
|
688 |
|
689 |
+
return apply_filters( 'learn-press/quiz/question-permalink', $permalink, $question_id, $this->get_id() );*/
|
690 |
}
|
691 |
|
692 |
/**
|
783 |
* @param $user_id
|
784 |
*
|
785 |
* @return bool
|
786 |
+
* @deprecated 4.1.7.4
|
787 |
*/
|
788 |
public function check_question( $question_id, $user_id ) {
|
789 |
+
_deprecated_function( __METHOD__, '4.1.7.4' );
|
790 |
+
/*$question = LP_Question::get_question( $question_id );
|
791 |
|
792 |
if ( ! $question ) {
|
793 |
return false;
|
808 |
$checked[] = $question_id;
|
809 |
}
|
810 |
|
811 |
+
return true;*/
|
812 |
|
813 |
}
|
814 |
|
819 |
* @param int $user_id
|
820 |
*
|
821 |
* @return false|int|string
|
822 |
+
* @deprecated 4.1.7.4
|
823 |
*/
|
824 |
public function get_question_position( $question, $user_id = 0 ) {
|
825 |
+
_deprecated_function( __METHOD__, '4.1.7.4' );
|
826 |
+
/*if ( ! $user_id ) {
|
827 |
$user_id = learn_press_get_current_user_id();
|
828 |
}
|
829 |
|
839 |
|
840 |
$position = array_search( $question, $questions );
|
841 |
|
842 |
+
return $position;*/
|
843 |
}
|
844 |
|
845 |
/**
|
847 |
* @param int $course_id
|
848 |
*
|
849 |
* @return bool|LP_Question
|
850 |
+
* @deprecated 4.0.0
|
851 |
*/
|
852 |
public function get_current_question( $user_id = 0, $course_id = 0 ) {
|
853 |
_deprecated_function( sprintf( '%s::%s', __CLASS__, __FUNCTION__ ), '4.0.0' );
|
854 |
|
855 |
+
/*$user = learn_press_get_user( $user_id );
|
856 |
$id = $user->get_current_quiz_question( $this->get_id(), $course_id );
|
857 |
|
858 |
+
return LP_Question::get_question( $id );*/
|
859 |
}
|
860 |
|
861 |
/**
|
981 |
$this->_set_data( 'show_hide_question', $show_or_hide );
|
982 |
}
|
983 |
|
984 |
+
/**
|
985 |
+
* Set quiz is preview or not.
|
986 |
+
* using
|
987 |
+
*/
|
988 |
public function set_preview( $preview ) {
|
989 |
$this->_set_data( 'preview', $preview );
|
990 |
}
|
991 |
|
|
|
|
|
|
|
|
|
992 |
/**
|
993 |
* @deprecated
|
994 |
*
|
998 |
$this->_set_data( 'minus_skip_questions', $skip );
|
999 |
}
|
1000 |
|
|
|
|
|
|
|
|
|
1001 |
/**
|
1002 |
+
* Get quiz is preview or not.
|
1003 |
+
* using
|
|
|
1004 |
*/
|
1005 |
+
public function get_preview() {
|
1006 |
+
return 'yes' === $this->get_data( 'preview' );
|
|
|
|
|
1007 |
}
|
1008 |
|
1009 |
// public function get_minus_points() {
|
1051 |
return $class;
|
1052 |
}*/
|
1053 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1054 |
/**
|
1055 |
* @param mixed $offset
|
1056 |
*
|
1057 |
* @return bool|mixed
|
1058 |
+
* @deprecated 4.1.7.4
|
1059 |
*/
|
1060 |
public function offsetGet( $offset ) {
|
1061 |
+
_deprecated_function( __CLASS__ . '::' . __METHOD__, '4.1.7.4' );
|
1062 |
return $this->offsetExists( $offset ) ? $this->_questions[ $offset ] : false;
|
1063 |
}
|
1064 |
|
1066 |
* @param mixed $offset
|
1067 |
*
|
1068 |
* @return bool
|
1069 |
+
* @deprecated 4.1.7.4
|
1070 |
*/
|
1071 |
public function offsetExists( $offset ) {
|
1072 |
+
_deprecated_function( __CLASS__ . '::' . __METHOD__, '4.1.7.4' );
|
1073 |
+
/*return array_key_exists( $offset, $this->_questions );*/
|
1074 |
}
|
1075 |
}
|
1076 |
}
|
@@ -121,17 +121,20 @@ class LP_REST_Courses_Controller extends LP_Abstract_REST_Controller {
|
|
121 |
$fields = explode( ',', $fields_str );
|
122 |
$filter->fields = $fields;
|
123 |
}
|
|
|
124 |
if ( ! empty( $fields_exclude_str ) ) {
|
125 |
$fields_exclude = explode( ',', $fields_exclude_str );
|
126 |
$filter->exclude_fields = $fields_exclude;
|
127 |
}
|
|
|
128 |
$filter->post_author = LP_Helper::sanitize_params_submitted( $request['c_author'] ?? 0 );
|
129 |
$author_ids_str = LP_Helper::sanitize_params_submitted( $request['c_authors'] ?? 0 );
|
130 |
if ( ! empty( $author_ids_str ) ) {
|
131 |
$author_ids = explode( ',', $author_ids_str );
|
132 |
$filter->post_authors = $author_ids;
|
133 |
}
|
134 |
-
|
|
|
135 |
if ( ! empty( $term_ids_str ) ) {
|
136 |
$term_ids = explode( ',', $term_ids_str );
|
137 |
$filter->term_ids = $term_ids;
|
@@ -258,7 +261,9 @@ class LP_REST_Courses_Controller extends LP_Abstract_REST_Controller {
|
|
258 |
|
259 |
$response->status = 'success';
|
260 |
} catch ( Throwable $e ) {
|
261 |
-
|
|
|
|
|
262 |
}
|
263 |
|
264 |
return apply_filters( 'lp/rest-api/frontend/course/archive_course/response', $response );
|
@@ -269,14 +274,13 @@ class LP_REST_Courses_Controller extends LP_Abstract_REST_Controller {
|
|
269 |
*
|
270 |
* @param WP_REST_Request $request
|
271 |
*
|
272 |
-
* @
|
273 |
* @author Nhamdv
|
274 |
* @editor tungnx
|
275 |
-
* @version 1.0.
|
276 |
* @since 4.0.0
|
277 |
-
* @modify 4.1.2
|
278 |
*/
|
279 |
-
public function enroll_courses( WP_REST_Request $request ) {
|
280 |
$response = new LP_REST_Response();
|
281 |
$response->data = new stdClass();
|
282 |
$lp_user_items_db = LP_User_Items_DB::getInstance();
|
@@ -318,15 +322,15 @@ class LP_REST_Courses_Controller extends LP_Abstract_REST_Controller {
|
|
318 |
|
319 |
do_action( 'learnpress/user/course-enrolled', $course_item->ref_id, $course_id, $user->get_id() );
|
320 |
} else { // Case enroll course free
|
321 |
-
LearnPress::instance()->session->set( 'order_awaiting_payment', '' );
|
322 |
|
323 |
$cart = LearnPress::instance()->cart;
|
324 |
$checkout = LP_Checkout::instance();
|
325 |
|
326 |
if ( ! learn_press_enable_cart() ) {
|
327 |
-
|
328 |
$cart->empty_cart();
|
329 |
-
LearnPress::instance()->session->order_awaiting_payment = $order_awaiting_payment;
|
330 |
}
|
331 |
|
332 |
$cart_id = $cart->add_to_cart( $course_id, 1, array() );
|
@@ -383,7 +387,7 @@ class LP_REST_Courses_Controller extends LP_Abstract_REST_Controller {
|
|
383 |
$response->message = $e->getMessage();
|
384 |
}
|
385 |
|
386 |
-
|
387 |
}
|
388 |
|
389 |
/**
|
@@ -410,13 +414,11 @@ class LP_REST_Courses_Controller extends LP_Abstract_REST_Controller {
|
|
410 |
}
|
411 |
|
412 |
$course = learn_press_get_course( $course_id );
|
413 |
-
|
414 |
if ( ! $course ) {
|
415 |
throw new Exception( __( 'Error: No Course available.', 'learnpress' ) );
|
416 |
}
|
417 |
|
418 |
$user = learn_press_get_current_user();
|
419 |
-
|
420 |
if ( ! $user->can_purchase_course( $course_id ) ) {
|
421 |
throw new Exception( esc_html__( 'Error: Cannot purchase the course!', 'learnpress' ) );
|
422 |
}
|
@@ -464,22 +466,21 @@ class LP_REST_Courses_Controller extends LP_Abstract_REST_Controller {
|
|
464 |
}
|
465 |
}
|
466 |
|
467 |
-
LearnPress::instance()->session->set( 'order_awaiting_payment', '' );
|
468 |
|
469 |
-
$cart
|
470 |
-
|
471 |
|
472 |
if ( ! learn_press_enable_cart() ) {
|
473 |
-
|
474 |
$cart->empty_cart();
|
475 |
-
LearnPress::instance()->session->order_awaiting_payment = $order_awaiting_payment;
|
476 |
}
|
477 |
|
478 |
do_action( 'learnpress/rest-api/courses/purchase/before-add-to-cart' );
|
479 |
|
480 |
$cart_id = $cart->add_to_cart( $course_id, 1, array() );
|
481 |
-
|
482 |
-
if ( ! $cart_id ) {
|
483 |
throw new Exception( __( 'Error: The course cannot be added to the cart.', 'learnpress' ) );
|
484 |
}
|
485 |
|
121 |
$fields = explode( ',', $fields_str );
|
122 |
$filter->fields = $fields;
|
123 |
}
|
124 |
+
|
125 |
if ( ! empty( $fields_exclude_str ) ) {
|
126 |
$fields_exclude = explode( ',', $fields_exclude_str );
|
127 |
$filter->exclude_fields = $fields_exclude;
|
128 |
}
|
129 |
+
|
130 |
$filter->post_author = LP_Helper::sanitize_params_submitted( $request['c_author'] ?? 0 );
|
131 |
$author_ids_str = LP_Helper::sanitize_params_submitted( $request['c_authors'] ?? 0 );
|
132 |
if ( ! empty( $author_ids_str ) ) {
|
133 |
$author_ids = explode( ',', $author_ids_str );
|
134 |
$filter->post_authors = $author_ids;
|
135 |
}
|
136 |
+
|
137 |
+
$term_ids_str = LP_Helper::sanitize_params_submitted( urldecode( $request['term_id'] ?? '' ) );
|
138 |
if ( ! empty( $term_ids_str ) ) {
|
139 |
$term_ids = explode( ',', $term_ids_str );
|
140 |
$filter->term_ids = $term_ids;
|
261 |
|
262 |
$response->status = 'success';
|
263 |
} catch ( Throwable $e ) {
|
264 |
+
ob_clean();
|
265 |
+
$response->data->content = $e->getMessage();
|
266 |
+
$response->message = $e->getMessage();
|
267 |
}
|
268 |
|
269 |
return apply_filters( 'lp/rest-api/frontend/course/archive_course/response', $response );
|
274 |
*
|
275 |
* @param WP_REST_Request $request
|
276 |
*
|
277 |
+
* @return LP_REST_Response
|
278 |
* @author Nhamdv
|
279 |
* @editor tungnx
|
280 |
+
* @version 1.0.2
|
281 |
* @since 4.0.0
|
|
|
282 |
*/
|
283 |
+
public function enroll_courses( WP_REST_Request $request ): LP_REST_Response {
|
284 |
$response = new LP_REST_Response();
|
285 |
$response->data = new stdClass();
|
286 |
$lp_user_items_db = LP_User_Items_DB::getInstance();
|
322 |
|
323 |
do_action( 'learnpress/user/course-enrolled', $course_item->ref_id, $course_id, $user->get_id() );
|
324 |
} else { // Case enroll course free
|
325 |
+
//LearnPress::instance()->session->set( 'order_awaiting_payment', '' );
|
326 |
|
327 |
$cart = LearnPress::instance()->cart;
|
328 |
$checkout = LP_Checkout::instance();
|
329 |
|
330 |
if ( ! learn_press_enable_cart() ) {
|
331 |
+
//$order_awaiting_payment = LearnPress::instance()->session->order_awaiting_payment;
|
332 |
$cart->empty_cart();
|
333 |
+
//LearnPress::instance()->session->order_awaiting_payment = $order_awaiting_payment;
|
334 |
}
|
335 |
|
336 |
$cart_id = $cart->add_to_cart( $course_id, 1, array() );
|
387 |
$response->message = $e->getMessage();
|
388 |
}
|
389 |
|
390 |
+
return $response;
|
391 |
}
|
392 |
|
393 |
/**
|
414 |
}
|
415 |
|
416 |
$course = learn_press_get_course( $course_id );
|
|
|
417 |
if ( ! $course ) {
|
418 |
throw new Exception( __( 'Error: No Course available.', 'learnpress' ) );
|
419 |
}
|
420 |
|
421 |
$user = learn_press_get_current_user();
|
|
|
422 |
if ( ! $user->can_purchase_course( $course_id ) ) {
|
423 |
throw new Exception( esc_html__( 'Error: Cannot purchase the course!', 'learnpress' ) );
|
424 |
}
|
466 |
}
|
467 |
}
|
468 |
|
469 |
+
//LearnPress::instance()->session->set( 'order_awaiting_payment', '' );
|
470 |
|
471 |
+
$cart = LearnPress::instance()->cart;
|
472 |
+
//$checkout = LP_Checkout::instance();
|
473 |
|
474 |
if ( ! learn_press_enable_cart() ) {
|
475 |
+
//$order_awaiting_payment = LearnPress::instance()->session->order_awaiting_payment;
|
476 |
$cart->empty_cart();
|
477 |
+
//LearnPress::instance()->session->order_awaiting_payment = $order_awaiting_payment;
|
478 |
}
|
479 |
|
480 |
do_action( 'learnpress/rest-api/courses/purchase/before-add-to-cart' );
|
481 |
|
482 |
$cart_id = $cart->add_to_cart( $course_id, 1, array() );
|
483 |
+
if ( empty( $cart_id ) ) {
|
|
|
484 |
throw new Exception( __( 'Error: The course cannot be added to the cart.', 'learnpress' ) );
|
485 |
}
|
486 |
|
@@ -1,5 +1,8 @@
|
|
1 |
<?php
|
2 |
|
|
|
|
|
|
|
3 |
class LP_REST_Lazy_Load_Controller extends LP_Abstract_REST_Controller {
|
4 |
public function __construct() {
|
5 |
$this->namespace = 'lp/v1';
|
@@ -112,24 +115,24 @@ class LP_REST_Lazy_Load_Controller extends LP_Abstract_REST_Controller {
|
|
112 |
$response = new LP_REST_Response();
|
113 |
$response->data = '';
|
114 |
|
115 |
-
|
|
|
|
|
|
|
|
|
116 |
$course = learn_press_get_course( $course_id );
|
117 |
if ( ! $course ) {
|
118 |
-
|
119 |
-
|
120 |
-
return $response;
|
121 |
}
|
122 |
|
123 |
$user = learn_press_get_user( $user_id );
|
124 |
-
if ( $user->is_guest() ) {
|
125 |
-
|
126 |
-
|
127 |
-
return $response;
|
128 |
}
|
129 |
|
130 |
$course_data = $user->get_course_data( $course->get_id() );
|
131 |
if ( ! $course_data ) {
|
132 |
-
|
133 |
}
|
134 |
|
135 |
$course_results = $course_data->calculate_course_results();
|
@@ -139,6 +142,9 @@ class LP_REST_Lazy_Load_Controller extends LP_Abstract_REST_Controller {
|
|
139 |
'single-course/sidebar/user-progress',
|
140 |
compact( 'user', 'course', 'course_data', 'course_results' )
|
141 |
);
|
|
|
|
|
|
|
142 |
}
|
143 |
|
144 |
return $response;
|
@@ -222,8 +228,9 @@ class LP_REST_Lazy_Load_Controller extends LP_Abstract_REST_Controller {
|
|
222 |
$response->data = $content;
|
223 |
$response->section_ids = wp_list_pluck( $sections['results'], 'section_id' );
|
224 |
}
|
225 |
-
} catch ( \Throwable $
|
226 |
-
|
|
|
227 |
}
|
228 |
|
229 |
return $response;
|
@@ -318,8 +325,9 @@ class LP_REST_Lazy_Load_Controller extends LP_Abstract_REST_Controller {
|
|
318 |
$response->data = $content;
|
319 |
$response->item_ids = wp_list_pluck( $section_items['results'], 'ID' );
|
320 |
}
|
321 |
-
} catch ( \Throwable $
|
322 |
-
|
|
|
323 |
}
|
324 |
|
325 |
return rest_ensure_response( $response );
|
1 |
<?php
|
2 |
|
3 |
+
/**
|
4 |
+
* Class LP_REST_Lazy_Load_Controller
|
5 |
+
*/
|
6 |
class LP_REST_Lazy_Load_Controller extends LP_Abstract_REST_Controller {
|
7 |
public function __construct() {
|
8 |
$this->namespace = 'lp/v1';
|
115 |
$response = new LP_REST_Response();
|
116 |
$response->data = '';
|
117 |
|
118 |
+
try {
|
119 |
+
if ( ! $course_id || ! $user_id ) {
|
120 |
+
throw new Exception( __( 'Params is invalid!', 'learnpress' ) );
|
121 |
+
}
|
122 |
+
|
123 |
$course = learn_press_get_course( $course_id );
|
124 |
if ( ! $course ) {
|
125 |
+
throw new Exception( __( 'The course is invalid!', 'learnpress' ) );
|
|
|
|
|
126 |
}
|
127 |
|
128 |
$user = learn_press_get_user( $user_id );
|
129 |
+
if ( ! $user || $user->is_guest() ) {
|
130 |
+
throw new Exception( __( 'You are a Guest', 'learnpress' ) );
|
|
|
|
|
131 |
}
|
132 |
|
133 |
$course_data = $user->get_course_data( $course->get_id() );
|
134 |
if ( ! $course_data ) {
|
135 |
+
throw new Exception( __( 'You are a not enroll course', 'learnpress' ) );
|
136 |
}
|
137 |
|
138 |
$course_results = $course_data->calculate_course_results();
|
142 |
'single-course/sidebar/user-progress',
|
143 |
compact( 'user', 'course', 'course_data', 'course_results' )
|
144 |
);
|
145 |
+
} catch ( Throwable $e ) {
|
146 |
+
ob_end_clean();
|
147 |
+
$response->message = $e->getMessage();
|
148 |
}
|
149 |
|
150 |
return $response;
|
228 |
$response->data = $content;
|
229 |
$response->section_ids = wp_list_pluck( $sections['results'], 'section_id' );
|
230 |
}
|
231 |
+
} catch ( \Throwable $e ) {
|
232 |
+
ob_end_clean();
|
233 |
+
$response->message = $e->getMessage();
|
234 |
}
|
235 |
|
236 |
return $response;
|
325 |
$response->data = $content;
|
326 |
$response->item_ids = wp_list_pluck( $section_items['results'], 'ID' );
|
327 |
}
|
328 |
+
} catch ( \Throwable $e ) {
|
329 |
+
ob_end_clean();
|
330 |
+
$response->message = $e->getMessage();
|
331 |
}
|
332 |
|
333 |
return rest_ensure_response( $response );
|
@@ -266,7 +266,7 @@ class LP_REST_Profile_Controller extends LP_Abstract_REST_Controller {
|
|
266 |
);
|
267 |
|
268 |
// LP_User_Item_Course.
|
269 |
-
$course_item_objects = ! empty( $query
|
270 |
|
271 |
if ( empty( $course_item_objects ) ) {
|
272 |
throw new Exception( esc_html__( 'No Course available!', 'learnpress' ) );
|
266 |
);
|
267 |
|
268 |
// LP_User_Item_Course.
|
269 |
+
$course_item_objects = ! empty( $query->get_items() ) ? $query->get_items() : false;
|
270 |
|
271 |
if ( empty( $course_item_objects ) ) {
|
272 |
throw new Exception( esc_html__( 'No Course available!', 'learnpress' ) );
|
@@ -33,18 +33,24 @@ if ( ! class_exists( 'LP_Shortcode_Checkout' ) ) {
|
|
33 |
* @return string
|
34 |
*/
|
35 |
public function output() {
|
|
|
|
|
|
|
36 |
global $wp;
|
|
|
37 |
|
38 |
ob_start();
|
39 |
if ( isset( $wp->query_vars['lp-order-received'] ) ) {
|
40 |
-
$this->
|
41 |
} else {
|
42 |
-
$checkout_cart =
|
43 |
|
44 |
// Check cart has contents
|
45 |
-
if ( $checkout_cart
|
46 |
learn_press_get_template( 'checkout/empty-cart.php' );
|
47 |
} else {
|
|
|
|
|
48 |
learn_press_get_template( 'checkout/form.php' );
|
49 |
}
|
50 |
}
|
@@ -59,11 +65,10 @@ if ( ! class_exists( 'LP_Shortcode_Checkout' ) ) {
|
|
59 |
*
|
60 |
* @return void
|
61 |
*/
|
62 |
-
private function
|
63 |
$order_id = absint( $order_id );
|
64 |
-
$order_key =
|
65 |
$order_received = learn_press_get_order( $order_id );
|
66 |
-
|
67 |
if ( ! $order_received ) {
|
68 |
return;
|
69 |
}
|
@@ -72,10 +77,9 @@ if ( ! class_exists( 'LP_Shortcode_Checkout' ) ) {
|
|
72 |
return;
|
73 |
}
|
74 |
|
75 |
-
LearnPress::instance()->session->remove( 'order_awaiting_payment' );
|
76 |
-
LearnPress::instance()->cart->empty_cart();
|
77 |
-
|
78 |
-
learn_press_print_messages();
|
79 |
|
80 |
learn_press_get_template( 'checkout/order-received.php', array( 'order_received' => $order_received ) );
|
81 |
}
|
33 |
* @return string
|
34 |
*/
|
35 |
public function output() {
|
36 |
+
/**
|
37 |
+
* @var WP $wp
|
38 |
+
*/
|
39 |
global $wp;
|
40 |
+
wp_enqueue_style( 'learnpress' );
|
41 |
|
42 |
ob_start();
|
43 |
if ( isset( $wp->query_vars['lp-order-received'] ) ) {
|
44 |
+
$this->order_received( $wp->query_vars['lp-order-received'] );
|
45 |
} else {
|
46 |
+
$checkout_cart = LearnPress::instance()->cart;
|
47 |
|
48 |
// Check cart has contents
|
49 |
+
if ( $checkout_cart->is_empty() ) {
|
50 |
learn_press_get_template( 'checkout/empty-cart.php' );
|
51 |
} else {
|
52 |
+
wp_enqueue_script( 'lp-checkout' );
|
53 |
+
$checkout_cart->calculate_totals();
|
54 |
learn_press_get_template( 'checkout/form.php' );
|
55 |
}
|
56 |
}
|
65 |
*
|
66 |
* @return void
|
67 |
*/
|
68 |
+
private function order_received( int $order_id = 0 ) {
|
69 |
$order_id = absint( $order_id );
|
70 |
+
$order_key = LP_Request::get_param( 'key' );
|
71 |
$order_received = learn_press_get_order( $order_id );
|
|
|
72 |
if ( ! $order_received ) {
|
73 |
return;
|
74 |
}
|
77 |
return;
|
78 |
}
|
79 |
|
80 |
+
//LearnPress::instance()->session->remove( 'order_awaiting_payment' );
|
81 |
+
//LearnPress::instance()->cart->empty_cart();
|
82 |
+
//learn_press_print_messages();
|
|
|
83 |
|
84 |
learn_press_get_template( 'checkout/order-received.php', array( 'order_received' => $order_received ) );
|
85 |
}
|
@@ -17,7 +17,7 @@ class LP_Template_Checkout extends LP_Abstract_Template {
|
|
17 |
}
|
18 |
|
19 |
public function review_order() {
|
20 |
-
$cart =
|
21 |
learn_press_get_template( 'checkout/review-order', compact( 'cart' ) );
|
22 |
}
|
23 |
|
17 |
}
|
18 |
|
19 |
public function review_order() {
|
20 |
+
$cart = LearnPress::instance()->cart;
|
21 |
learn_press_get_template( 'checkout/review-order', compact( 'cart' ) );
|
22 |
}
|
23 |
|
@@ -1,5 +1,5 @@
|
|
1 |
<?php
|
2 |
-
class LP_Quiz_Results
|
3 |
|
4 |
/**
|
5 |
* @var array
|
1 |
<?php
|
2 |
+
class LP_Quiz_Results {
|
3 |
|
4 |
/**
|
5 |
* @var array
|
@@ -3,7 +3,7 @@
|
|
3 |
* Class LP_User_Item_Course
|
4 |
*/
|
5 |
|
6 |
-
class LP_User_Item_Course extends LP_User_Item
|
7 |
public $_item_type = LP_COURSE_CPT;
|
8 |
public $_ref_type = LP_ORDER_CPT;
|
9 |
|
@@ -154,8 +154,12 @@ class LP_User_Item_Course extends LP_User_Item implements ArrayAccess {
|
|
154 |
return $this->get_data( 'item_id' );
|
155 |
}
|
156 |
|
|
|
|
|
|
|
157 |
public function get_finishing_type() {
|
158 |
-
|
|
|
159 |
|
160 |
if ( ! $type ) {
|
161 |
$type = $this->is_exceeded() <= 0 ? 'exceeded' : 'click';
|
@@ -165,7 +169,7 @@ class LP_User_Item_Course extends LP_User_Item implements ArrayAccess {
|
|
165 |
$this->set_meta( 'finishing_type', $type );
|
166 |
}
|
167 |
|
168 |
-
return $type
|
169 |
}
|
170 |
|
171 |
public function offsetSet( $offset, $value ) {
|
3 |
* Class LP_User_Item_Course
|
4 |
*/
|
5 |
|
6 |
+
class LP_User_Item_Course extends LP_User_Item {
|
7 |
public $_item_type = LP_COURSE_CPT;
|
8 |
public $_ref_type = LP_ORDER_CPT;
|
9 |
|
154 |
return $this->get_data( 'item_id' );
|
155 |
}
|
156 |
|
157 |
+
/**
|
158 |
+
* @deprecated 4.1.7.3
|
159 |
+
*/
|
160 |
public function get_finishing_type() {
|
161 |
+
_deprecated_function( __METHOD__, '4.1.7.3' );
|
162 |
+
/*$type = $this->get_meta( 'finishing_type' );
|
163 |
|
164 |
if ( ! $type ) {
|
165 |
$type = $this->is_exceeded() <= 0 ? 'exceeded' : 'click';
|
169 |
$this->set_meta( 'finishing_type', $type );
|
170 |
}
|
171 |
|
172 |
+
return $type;*/
|
173 |
}
|
174 |
|
175 |
public function offsetSet( $offset, $value ) {
|
@@ -336,9 +336,8 @@ class LP_User_Item_Quiz extends LP_User_Item {
|
|
336 |
* @version 4.0.0
|
337 |
*/
|
338 |
public function calculate_results(): array {
|
339 |
-
$quiz
|
340 |
-
$last_results
|
341 |
-
$is_has_change = 0;
|
342 |
|
343 |
if ( ! $last_results ) {
|
344 |
$last_results = array();
|
@@ -413,7 +412,6 @@ class LP_User_Item_Quiz extends LP_User_Item {
|
|
413 |
$result['question_count'] = count( $questions );
|
414 |
|
415 |
if ( $grade ) {
|
416 |
-
$is_has_change = 1;
|
417 |
learn_press_update_user_item_field(
|
418 |
array(
|
419 |
'graduation' => $grade,
|
@@ -425,10 +423,6 @@ class LP_User_Item_Quiz extends LP_User_Item {
|
|
425 |
}
|
426 |
}
|
427 |
|
428 |
-
if ( $is_has_change ) {
|
429 |
-
// LP_User_Items_Result_DB::instance()->update( $this->get_user_item_id(), wp_json_encode( $result ) );
|
430 |
-
}
|
431 |
-
|
432 |
return $result;
|
433 |
}
|
434 |
|
@@ -687,11 +681,13 @@ class LP_User_Item_Quiz extends LP_User_Item {
|
|
687 |
* @param string $return - Optional.
|
688 |
*
|
689 |
* @return LP_Duration
|
|
|
690 |
*/
|
691 |
public function get_time_remaining( $return = 'object' ) {
|
692 |
-
|
|
|
693 |
|
694 |
-
return apply_filters( 'learn-press/quiz/time-remaining', $time, $this->get_item_id(), $this->get_course_id(), $this->get_user_id() )
|
695 |
}
|
696 |
|
697 |
/**
|
336 |
* @version 4.0.0
|
337 |
*/
|
338 |
public function calculate_results(): array {
|
339 |
+
$quiz = learn_press_get_quiz( $this->get_item_id() );
|
340 |
+
$last_results = LP_User_Items_Result_DB::instance()->get_result( $this->get_user_item_id() );
|
|
|
341 |
|
342 |
if ( ! $last_results ) {
|
343 |
$last_results = array();
|
412 |
$result['question_count'] = count( $questions );
|
413 |
|
414 |
if ( $grade ) {
|
|
|
415 |
learn_press_update_user_item_field(
|
416 |
array(
|
417 |
'graduation' => $grade,
|
423 |
}
|
424 |
}
|
425 |
|
|
|
|
|
|
|
|
|
426 |
return $result;
|
427 |
}
|
428 |
|
681 |
* @param string $return - Optional.
|
682 |
*
|
683 |
* @return LP_Duration
|
684 |
+
* @deprecated 4.1.7.3
|
685 |
*/
|
686 |
public function get_time_remaining( $return = 'object' ) {
|
687 |
+
_deprecated_function( __METHOD__, '4.1.7.3' );
|
688 |
+
/*$time = parent::get_time_remaining( $return );
|
689 |
|
690 |
+
return apply_filters( 'learn-press/quiz/time-remaining', $time, $this->get_item_id(), $this->get_course_id(), $this->get_user_id() );*/
|
691 |
}
|
692 |
|
693 |
/**
|
@@ -5,7 +5,7 @@
|
|
5 |
*
|
6 |
* @since 3.0.0
|
7 |
*/
|
8 |
-
class LP_User_Item extends LP_Abstract_Object_Data
|
9 |
/**
|
10 |
* Auto increment
|
11 |
*
|
@@ -198,15 +198,18 @@ class LP_User_Item extends LP_Abstract_Object_Data implements ArrayAccess {
|
|
198 |
*
|
199 |
* @return $this
|
200 |
*/
|
201 |
-
public function set_start_time( $time ): LP_User_Item {
|
202 |
-
$
|
203 |
-
$this->set_data( 'start_time', $lp_time );
|
204 |
|
205 |
return $this;
|
206 |
}
|
207 |
|
|
|
|
|
|
|
208 |
public function get_time( $field, $format = '', $human_diff_time = false ) {
|
209 |
-
|
|
|
210 |
$format = get_option( 'date_format' );
|
211 |
}
|
212 |
|
@@ -220,7 +223,7 @@ class LP_User_Item extends LP_Abstract_Object_Data implements ArrayAccess {
|
|
220 |
$h_time = mysql2date( $format, $m_time );
|
221 |
}
|
222 |
|
223 |
-
return $h_time
|
224 |
}
|
225 |
|
226 |
/**
|
@@ -330,24 +333,27 @@ class LP_User_Item extends LP_Abstract_Object_Data implements ArrayAccess {
|
|
330 |
/**
|
331 |
* Get expiration time.
|
332 |
*
|
333 |
-
* @param string $format
|
334 |
-
*
|
335 |
* @return string|LP_Datetime $time
|
336 |
* @since 3.3.0
|
337 |
-
* @version 3.3.
|
338 |
*/
|
339 |
-
public function get_expiration_time(
|
340 |
$duration = get_post_meta( $this->get_item_id(), '_lp_duration', true );
|
341 |
-
$start_time = $this->get_start_time(
|
342 |
|
343 |
if ( ! absint( $duration ) || ! $start_time ) {
|
344 |
$expire = null;
|
345 |
} else {
|
346 |
-
|
347 |
-
|
|
|
|
|
|
|
|
|
|
|
348 |
}
|
349 |
|
350 |
-
return apply_filters( 'learn-press/user-item/expiration-time', $expire, $
|
351 |
}
|
352 |
|
353 |
/**
|
@@ -774,7 +780,7 @@ class LP_User_Item extends LP_Abstract_Object_Data implements ArrayAccess {
|
|
774 |
*
|
775 |
* @param string $context
|
776 |
*
|
777 |
-
* @return bool|
|
778 |
*/
|
779 |
public function get_time_interval( $context = '' ) {
|
780 |
$start = $this->get_start_time();
|
@@ -787,9 +793,8 @@ class LP_User_Item extends LP_Abstract_Object_Data implements ArrayAccess {
|
|
787 |
if ( $start->is_null() || $end->is_null() ) {
|
788 |
return false;
|
789 |
}
|
790 |
-
$interval = $end->getTimestamp() - $start->getTimestamp();
|
791 |
|
792 |
-
return $
|
793 |
}
|
794 |
|
795 |
/**
|
@@ -799,13 +804,15 @@ class LP_User_Item extends LP_Abstract_Object_Data implements ArrayAccess {
|
|
799 |
*
|
800 |
* @return float|int
|
801 |
* @since 3.3.0
|
|
|
802 |
*/
|
803 |
public function get_exceeded() {
|
804 |
-
|
|
|
805 |
$current = $time->getTimestamp( false );
|
806 |
$exceeded = $this->get_expiration_time();
|
807 |
|
808 |
-
return false !== $exceeded ? $exceeded->getTimestamp() - $current : false
|
809 |
}
|
810 |
|
811 |
/**
|
@@ -815,9 +822,11 @@ class LP_User_Item extends LP_Abstract_Object_Data implements ArrayAccess {
|
|
815 |
* @return bool|float|int
|
816 |
* @since 3.3.0
|
817 |
* Todo: check remove function
|
|
|
818 |
*/
|
819 |
public function is_exceeded() {
|
820 |
-
|
|
|
821 |
$end = $this->get_end_time();
|
822 |
|
823 |
if ( ! $expiration ) {
|
@@ -827,12 +836,12 @@ class LP_User_Item extends LP_Abstract_Object_Data implements ArrayAccess {
|
|
827 |
// If course is not finished then consider end time is current time
|
828 |
if ( ! $end || 0 >= $end->getTimestamp() ) {
|
829 |
$end = new LP_Datetime();
|
830 |
-
$end = $end->getTimestamp(
|
831 |
} else {
|
832 |
$end = $end->getTimestamp();
|
833 |
}
|
834 |
|
835 |
-
return $expiration->getTimestamp() - $end
|
836 |
}
|
837 |
|
838 |
/**
|
@@ -842,9 +851,11 @@ class LP_User_Item extends LP_Abstract_Object_Data implements ArrayAccess {
|
|
842 |
*
|
843 |
* @return LP_Duration
|
844 |
* @since 3.3.0
|
|
|
845 |
*/
|
846 |
public function get_time_remaining( $return = 'object' ) {
|
847 |
-
|
|
|
848 |
$time = false;
|
849 |
|
850 |
if ( false !== $is_exceeded ) {
|
@@ -858,7 +869,7 @@ class LP_User_Item extends LP_Abstract_Object_Data implements ArrayAccess {
|
|
858 |
$this->get_item_id(),
|
859 |
$this->get_parent_id(),
|
860 |
$this->get_user_id()
|
861 |
-
)
|
862 |
}
|
863 |
|
864 |
/**
|
5 |
*
|
6 |
* @since 3.0.0
|
7 |
*/
|
8 |
+
class LP_User_Item extends LP_Abstract_Object_Data {
|
9 |
/**
|
10 |
* Auto increment
|
11 |
*
|
198 |
*
|
199 |
* @return $this
|
200 |
*/
|
201 |
+
public function set_start_time( $time = '' ): LP_User_Item {
|
202 |
+
$this->set_data_date( 'start_time', $time );
|
|
|
203 |
|
204 |
return $this;
|
205 |
}
|
206 |
|
207 |
+
/**
|
208 |
+
* @deprecated 4.1.7.3
|
209 |
+
*/
|
210 |
public function get_time( $field, $format = '', $human_diff_time = false ) {
|
211 |
+
_deprecated_function( __METHOD__, '.4.1.7.3' );
|
212 |
+
/*if ( ! $format ) {
|
213 |
$format = get_option( 'date_format' );
|
214 |
}
|
215 |
|
223 |
$h_time = mysql2date( $format, $m_time );
|
224 |
}
|
225 |
|
226 |
+
return $h_time;*/
|
227 |
}
|
228 |
|
229 |
/**
|
333 |
/**
|
334 |
* Get expiration time.
|
335 |
*
|
|
|
|
|
336 |
* @return string|LP_Datetime $time
|
337 |
* @since 3.3.0
|
338 |
+
* @version 3.3.2
|
339 |
*/
|
340 |
+
public function get_expiration_time() {
|
341 |
$duration = get_post_meta( $this->get_item_id(), '_lp_duration', true );
|
342 |
+
$start_time = $this->get_start_time()->getTimestamp();
|
343 |
|
344 |
if ( ! absint( $duration ) || ! $start_time ) {
|
345 |
$expire = null;
|
346 |
} else {
|
347 |
+
// Convert duration from string to seconds.
|
348 |
+
if ( ! is_numeric( $duration ) ) {
|
349 |
+
$duration = strtotime( $duration ) - time();
|
350 |
+
}
|
351 |
+
|
352 |
+
$expire_time = $start_time + $duration;
|
353 |
+
$expire = new LP_Datetime( $expire_time );
|
354 |
}
|
355 |
|
356 |
+
return apply_filters( 'learn-press/user-item/expiration-time', $expire, $duration, $this );
|
357 |
}
|
358 |
|
359 |
/**
|
780 |
*
|
781 |
* @param string $context
|
782 |
*
|
783 |
+
* @return bool|int
|
784 |
*/
|
785 |
public function get_time_interval( $context = '' ) {
|
786 |
$start = $this->get_start_time();
|
793 |
if ( $start->is_null() || $end->is_null() ) {
|
794 |
return false;
|
795 |
}
|
|
|
796 |
|
797 |
+
return $end->getTimestamp() - $start->getTimestamp();
|
798 |
}
|
799 |
|
800 |
/**
|
804 |
*
|
805 |
* @return float|int
|
806 |
* @since 3.3.0
|
807 |
+
* @deprecated 4.1.7.3
|
808 |
*/
|
809 |
public function get_exceeded() {
|
810 |
+
_deprecated_function( __METHOD__, '4.1.7.3' );
|
811 |
+
/*$time = new LP_Datetime();
|
812 |
$current = $time->getTimestamp( false );
|
813 |
$exceeded = $this->get_expiration_time();
|
814 |
|
815 |
+
return false !== $exceeded ? $exceeded->getTimestamp() - $current : false;*/
|
816 |
}
|
817 |
|
818 |
/**
|
822 |
* @return bool|float|int
|
823 |
* @since 3.3.0
|
824 |
* Todo: check remove function
|
825 |
+
* @deprecated 4.1.7.3
|
826 |
*/
|
827 |
public function is_exceeded() {
|
828 |
+
_deprecated_function( __METHOD__, '4.1.7.3' );
|
829 |
+
/*$expiration = $this->get_expiration_time();
|
830 |
$end = $this->get_end_time();
|
831 |
|
832 |
if ( ! $expiration ) {
|
836 |
// If course is not finished then consider end time is current time
|
837 |
if ( ! $end || 0 >= $end->getTimestamp() ) {
|
838 |
$end = new LP_Datetime();
|
839 |
+
$end = $end->getTimestamp();
|
840 |
} else {
|
841 |
$end = $end->getTimestamp();
|
842 |
}
|
843 |
|
844 |
+
return $expiration->getTimestamp() - $end;*/
|
845 |
}
|
846 |
|
847 |
/**
|
851 |
*
|
852 |
* @return LP_Duration
|
853 |
* @since 3.3.0
|
854 |
+
* @deprecated 4.1.7.3
|
855 |
*/
|
856 |
public function get_time_remaining( $return = 'object' ) {
|
857 |
+
_deprecated_function( __METHOD__, '4.1.7.3' );
|
858 |
+
/*$is_exceeded = $this->is_exceeded();
|
859 |
$time = false;
|
860 |
|
861 |
if ( false !== $is_exceeded ) {
|
869 |
$this->get_item_id(),
|
870 |
$this->get_parent_id(),
|
871 |
$this->get_user_id()
|
872 |
+
);*/
|
873 |
}
|
874 |
|
875 |
/**
|
@@ -1018,9 +1018,11 @@ if ( ! class_exists( 'LP_Abstract_User' ) ) {
|
|
1018 |
* @param int $course_id
|
1019 |
*
|
1020 |
* @return bool|int|string
|
|
|
1021 |
*/
|
1022 |
public function get_course_remaining_time( $course_id ) {
|
1023 |
-
|
|
|
1024 |
$remain = false;
|
1025 |
|
1026 |
if ( $course && $course->get_id() ) {
|
@@ -1030,7 +1032,7 @@ if ( ! class_exists( 'LP_Abstract_User' ) ) {
|
|
1030 |
}
|
1031 |
}
|
1032 |
|
1033 |
-
return $remain > 0 ? learn_press_seconds_to_weeks( $remain ) : false
|
1034 |
}
|
1035 |
|
1036 |
/**
|
1018 |
* @param int $course_id
|
1019 |
*
|
1020 |
* @return bool|int|string
|
1021 |
+
* @deprecated 4.1.7.3
|
1022 |
*/
|
1023 |
public function get_course_remaining_time( $course_id ) {
|
1024 |
+
_deprecated_function( __FUNCTION__, '4.1.7.3' );
|
1025 |
+
/*$course = learn_press_get_course( $course_id );
|
1026 |
$remain = false;
|
1027 |
|
1028 |
if ( $course && $course->get_id() ) {
|
1032 |
}
|
1033 |
}
|
1034 |
|
1035 |
+
return $remain > 0 ? learn_press_seconds_to_weeks( $remain ) : false;*/
|
1036 |
}
|
1037 |
|
1038 |
/**
|
@@ -3,8 +3,11 @@
|
|
3 |
/**
|
4 |
* Class LP_Profile_Tabs
|
5 |
*/
|
6 |
-
class LP_Profile_Tabs
|
7 |
-
|
|
|
|
|
|
|
8 |
/**
|
9 |
* @var LP_Profile_Tabs
|
10 |
*/
|
@@ -22,7 +25,7 @@ class LP_Profile_Tabs extends LP_Array_Access {
|
|
22 |
* @param LP_Profile $profile
|
23 |
*/
|
24 |
public function __construct( $tabs, $profile ) {
|
25 |
-
|
26 |
$this->profile = $profile;
|
27 |
|
28 |
$this->_sanitize();
|
@@ -109,7 +112,7 @@ class LP_Profile_Tabs extends LP_Array_Access {
|
|
109 |
} else {
|
110 |
if ( $this->get_tab_at() ) {
|
111 |
$tab = $this->get_tab_at();
|
112 |
-
$current = $tab
|
113 |
}
|
114 |
}
|
115 |
|
@@ -153,13 +156,13 @@ class LP_Profile_Tabs extends LP_Array_Access {
|
|
153 |
if ( $this->get_tab_at( $current_tab ) ) {
|
154 |
$tab = $this->get_tab_at( $current_tab );
|
155 |
|
156 |
-
if ( ! empty( $tab
|
157 |
-
$sections = $tab
|
158 |
$section = reset( $sections );
|
159 |
if ( array_key_exists( 'slug', $section ) ) {
|
160 |
-
$current = $
|
161 |
} else {
|
162 |
-
$sections = array_keys( $tab
|
163 |
$current = reset( $sections );
|
164 |
}
|
165 |
}
|
@@ -171,11 +174,11 @@ class LP_Profile_Tabs extends LP_Array_Access {
|
|
171 |
$current = false;
|
172 |
|
173 |
foreach ( $this->get() as $_slug => $data ) {
|
174 |
-
if ( empty( $data
|
175 |
continue;
|
176 |
}
|
177 |
|
178 |
-
foreach ( $data
|
179 |
if ( array_key_exists( 'slug', $data ) && ( $data['slug'] === $current_display ) ) {
|
180 |
$current = $_slug;
|
181 |
break 2;
|
@@ -193,6 +196,8 @@ class LP_Profile_Tabs extends LP_Array_Access {
|
|
193 |
* @param bool $with_section
|
194 |
* @param LP_User $user
|
195 |
*
|
|
|
|
|
196 |
* @return string
|
197 |
*/
|
198 |
public function get_tab_link( $tab = false, $with_section = false, $user = null ) {
|
@@ -209,19 +214,19 @@ class LP_Profile_Tabs extends LP_Array_Access {
|
|
209 |
}
|
210 |
|
211 |
$tab_data = $this->get_tab_at( $tab );
|
212 |
-
$
|
213 |
|
214 |
-
if ( $
|
215 |
-
$args['tab'] = $
|
216 |
} else {
|
217 |
unset( $args['user'] );
|
218 |
}
|
219 |
|
220 |
-
if ( $with_section && ! empty( $tab_data
|
221 |
if ( $with_section === true ) {
|
222 |
-
$section_keys = array_keys( $tab_data
|
223 |
$first_section = reset( $section_keys );
|
224 |
-
$with_section = $this->get_slug( $tab_data
|
225 |
}
|
226 |
$args['section'] = $with_section;
|
227 |
}
|
@@ -279,7 +284,7 @@ class LP_Profile_Tabs extends LP_Array_Access {
|
|
279 |
public function get_current_url( $args = '', $with_permalink = false ) {
|
280 |
$current_tab = $this->get_current_tab();
|
281 |
$tab = $this->get_tab_at( $current_tab );
|
282 |
-
$sections =
|
283 |
|
284 |
$current_section_slug = $this->get_current_section();
|
285 |
$section = array();
|
@@ -317,7 +322,7 @@ class LP_Profile_Tabs extends LP_Array_Access {
|
|
317 |
*
|
318 |
* @param int $position Optional. Indexed number or slug.
|
319 |
*
|
320 |
-
* @return
|
321 |
*/
|
322 |
public function get_tab_at( $position = 0 ) {
|
323 |
if ( ! $position ) {
|
@@ -397,8 +402,8 @@ class LP_Profile_Tabs extends LP_Array_Access {
|
|
397 |
*
|
398 |
* @since 3.0.0
|
399 |
*/
|
400 |
-
class LP_Profile_Tab
|
401 |
-
|
402 |
/**
|
403 |
* @var LP_Profile
|
404 |
*/
|
@@ -417,7 +422,8 @@ class LP_Profile_Tab extends LP_Array_Access {
|
|
417 |
* @param LP_Profile $profile
|
418 |
*/
|
419 |
public function __construct( $id, $data, $profile ) {
|
420 |
-
parent::__construct( $data );
|
|
|
421 |
|
422 |
$this->profile = $profile;
|
423 |
$this->id = $id;
|
3 |
/**
|
4 |
* Class LP_Profile_Tabs
|
5 |
*/
|
6 |
+
class LP_Profile_Tabs {
|
7 |
+
/**
|
8 |
+
* @var array
|
9 |
+
*/
|
10 |
+
protected $_data = array();
|
11 |
/**
|
12 |
* @var LP_Profile_Tabs
|
13 |
*/
|
25 |
* @param LP_Profile $profile
|
26 |
*/
|
27 |
public function __construct( $tabs, $profile ) {
|
28 |
+
$this->_data = $tabs;
|
29 |
$this->profile = $profile;
|
30 |
|
31 |
$this->_sanitize();
|
112 |
} else {
|
113 |
if ( $this->get_tab_at() ) {
|
114 |
$tab = $this->get_tab_at();
|
115 |
+
$current = $tab->get( 'slug' );
|
116 |
}
|
117 |
}
|
118 |
|
156 |
if ( $this->get_tab_at( $current_tab ) ) {
|
157 |
$tab = $this->get_tab_at( $current_tab );
|
158 |
|
159 |
+
if ( ! empty( $tab->get( 'sections' ) ) ) {
|
160 |
+
$sections = $tab->get( 'sections' );
|
161 |
$section = reset( $sections );
|
162 |
if ( array_key_exists( 'slug', $section ) ) {
|
163 |
+
$current = $tab->get( 'slug' );
|
164 |
} else {
|
165 |
+
$sections = array_keys( $tab->get( 'sections' ) );
|
166 |
$current = reset( $sections );
|
167 |
}
|
168 |
}
|
174 |
$current = false;
|
175 |
|
176 |
foreach ( $this->get() as $_slug => $data ) {
|
177 |
+
if ( empty( $data->get( 'sections' ) ) ) {
|
178 |
continue;
|
179 |
}
|
180 |
|
181 |
+
foreach ( $data->get( 'sections' ) as $_slug => $data ) {
|
182 |
if ( array_key_exists( 'slug', $data ) && ( $data['slug'] === $current_display ) ) {
|
183 |
$current = $_slug;
|
184 |
break 2;
|
196 |
* @param bool $with_section
|
197 |
* @param LP_User $user
|
198 |
*
|
199 |
+
* @version 4.0.0
|
200 |
+
* @since 3.0.0
|
201 |
* @return string
|
202 |
*/
|
203 |
public function get_tab_link( $tab = false, $with_section = false, $user = null ) {
|
214 |
}
|
215 |
|
216 |
$tab_data = $this->get_tab_at( $tab );
|
217 |
+
$slug = $this->get_slug( $tab_data, $tab );
|
218 |
|
219 |
+
if ( $slug ) {
|
220 |
+
$args['tab'] = $slug;
|
221 |
} else {
|
222 |
unset( $args['user'] );
|
223 |
}
|
224 |
|
225 |
+
if ( $with_section && ! empty( $tab_data->get( 'sections' ) ) ) {
|
226 |
if ( $with_section === true ) {
|
227 |
+
$section_keys = array_keys( $tab_data->get( 'sections' ) );
|
228 |
$first_section = reset( $section_keys );
|
229 |
+
$with_section = $this->get_slug( $tab_data->get( 'sections' )[ $first_section ], $first_section );
|
230 |
}
|
231 |
$args['section'] = $with_section;
|
232 |
}
|
284 |
public function get_current_url( $args = '', $with_permalink = false ) {
|
285 |
$current_tab = $this->get_current_tab();
|
286 |
$tab = $this->get_tab_at( $current_tab );
|
287 |
+
$sections = $tab->get( 'sections' ) ? $tab->get( 'sections' ) : array();
|
288 |
|
289 |
$current_section_slug = $this->get_current_section();
|
290 |
$section = array();
|
322 |
*
|
323 |
* @param int $position Optional. Indexed number or slug.
|
324 |
*
|
325 |
+
* @return false|LP_Profile_Tab
|
326 |
*/
|
327 |
public function get_tab_at( $position = 0 ) {
|
328 |
if ( ! $position ) {
|
402 |
*
|
403 |
* @since 3.0.0
|
404 |
*/
|
405 |
+
class LP_Profile_Tab {
|
406 |
+
protected $_data = array();
|
407 |
/**
|
408 |
* @var LP_Profile
|
409 |
*/
|
422 |
* @param LP_Profile $profile
|
423 |
*/
|
424 |
public function __construct( $id, $data, $profile ) {
|
425 |
+
//parent::__construct( $data );
|
426 |
+
$this->_data = is_array( $data ) ? $data : (array) $data;
|
427 |
|
428 |
$this->profile = $profile;
|
429 |
$this->id = $id;
|
@@ -7,7 +7,7 @@ if ( ! class_exists( 'LP_Profile' ) ) {
|
|
7 |
/**
|
8 |
* Class LP_Profile
|
9 |
*
|
10 |
-
* Main class to
|
11 |
*/
|
12 |
class LP_Profile {
|
13 |
/**
|
@@ -933,9 +933,11 @@ if ( ! class_exists( 'LP_Profile' ) ) {
|
|
933 |
* @param bool $redirect
|
934 |
*
|
935 |
* @return string
|
|
|
936 |
*/
|
937 |
public function logout_url( $redirect = false ) {
|
938 |
-
|
|
|
939 |
$profile_url = learn_press_get_page_link( 'profile' );
|
940 |
$url = esc_url_raw(
|
941 |
add_query_arg(
|
@@ -954,7 +956,7 @@ if ( ! class_exists( 'LP_Profile' ) ) {
|
|
954 |
$url = wp_logout_url( $redirect !== false ? $redirect : $this->get_current_url() );
|
955 |
}
|
956 |
|
957 |
-
return apply_filters( 'learn-press/logout-url', $url )
|
958 |
}
|
959 |
|
960 |
/**
|
7 |
/**
|
8 |
* Class LP_Profile
|
9 |
*
|
10 |
+
* Main class to control the profile of a user
|
11 |
*/
|
12 |
class LP_Profile {
|
13 |
/**
|
933 |
* @param bool $redirect
|
934 |
*
|
935 |
* @return string
|
936 |
+
* @deprecated 4.1.7.3
|
937 |
*/
|
938 |
public function logout_url( $redirect = false ) {
|
939 |
+
_deprecated_function( __FUNCTION__, '4.1.7.3' );
|
940 |
+
/*if ( $this->enable_login() ) {
|
941 |
$profile_url = learn_press_get_page_link( 'profile' );
|
942 |
$url = esc_url_raw(
|
943 |
add_query_arg(
|
956 |
$url = wp_logout_url( $redirect !== false ? $redirect : $this->get_current_url() );
|
957 |
}
|
958 |
|
959 |
+
return apply_filters( 'learn-press/logout-url', $url );*/
|
960 |
}
|
961 |
|
962 |
/**
|
@@ -139,7 +139,7 @@ class LP_User_Factory {
|
|
139 |
$course_id = $item['course_id'];
|
140 |
|
141 |
// Check this order is the latest by user and course_id
|
142 |
-
$last_order_id = $lp_order_db->get_last_lp_order_id_of_user_course( $
|
143 |
if ( $last_order_id && $last_order_id != $order->get_id() ) {
|
144 |
continue;
|
145 |
}
|
139 |
$course_id = $item['course_id'];
|
140 |
|
141 |
// Check this order is the latest by user and course_id
|
142 |
+
$last_order_id = $lp_order_db->get_last_lp_order_id_of_user_course( $user->get_id(), $course_id );
|
143 |
if ( $last_order_id && $last_order_id != $order->get_id() ) {
|
144 |
continue;
|
145 |
}
|
@@ -90,7 +90,7 @@ function learn_press_get_current_user_id(): int {
|
|
90 |
*
|
91 |
* @param bool $create_temp - Optional. Create temp user if user is not logged in.
|
92 |
*
|
93 |
-
* @return
|
94 |
* @editor tungnx
|
95 |
* @modify 4.1.4
|
96 |
* @version 1.0.1
|
@@ -108,54 +108,23 @@ function learn_press_get_current_user( $create_temp = true ) {
|
|
108 |
|
109 |
if ( ! function_exists( 'learn_press_get_user' ) ) {
|
110 |
/**
|
111 |
-
* Get user by ID. Return false if the user does not
|
|
|
112 |
*
|
113 |
* @param int $user_id
|
114 |
* @param bool $current
|
115 |
*
|
116 |
-
* @return LP_User|LP_User_Guest|
|
117 |
-
*
|
|
|
118 |
*/
|
119 |
-
function learn_press_get_user( $user_id, $current = false, $force_new = false ) {
|
120 |
-
$
|
121 |
-
if (
|
122 |
-
if ( $current && ! get_user_by( 'id', $user_id ) ) {
|
123 |
-
$user_id = get_current_user_id();
|
124 |
-
}
|
125 |
-
}
|
126 |
-
|
127 |
-
if ( ! $user_id && isset( LearnPress::instance()->session ) ) {
|
128 |
-
if ( ! LearnPress::instance()->session->guest_user_id ) {
|
129 |
-
LearnPress::instance()->session->set_customer_session_cookie( 1 );
|
130 |
-
LearnPress::instance()->session->guest_user_id = time();
|
131 |
-
}
|
132 |
-
|
133 |
-
$user_id = LearnPress::instance()->session->guest_user_id;
|
134 |
-
$is_guest = true;
|
135 |
-
}
|
136 |
-
|
137 |
-
if ( ! $user_id ) {
|
138 |
return false;
|
139 |
}
|
140 |
|
141 |
-
|
142 |
-
|
143 |
-
if ( $force_new || ! array_key_exists( $user_id, LP_Global::$users ) ) {
|
144 |
-
/**
|
145 |
-
* LP Hook.
|
146 |
-
*
|
147 |
-
* Filter the default class name to get LP user.
|
148 |
-
*
|
149 |
-
* @since 3.3.0
|
150 |
-
*/
|
151 |
-
$userClass = apply_filters( 'learn-press/user-class', $is_guest ? 'LP_User_Guest' : 'LP_User', $is_guest );
|
152 |
-
|
153 |
-
LP_Global::$users[ $user_id ] = new $userClass( $user_id );
|
154 |
-
|
155 |
-
do_action( 'learn-press/get-user', LP_Global::$users[ $user_id ], $user_id );
|
156 |
-
}
|
157 |
-
|
158 |
-
return LP_Global::$users[ $user_id ];
|
159 |
}
|
160 |
}
|
161 |
|
@@ -1146,8 +1115,10 @@ function learn_press_get_course_thumbnail_dimensions() {
|
|
1146 |
|
1147 |
/**
|
1148 |
* Set a fake cookie to
|
|
|
1149 |
*/
|
1150 |
function learn_press_set_user_cookie_for_guest() {
|
|
|
1151 |
if ( ! is_admin() && ! headers_sent() ) {
|
1152 |
$guest_key = '_wordpress_lp_guest';
|
1153 |
|
@@ -1163,7 +1134,7 @@ function learn_press_set_user_cookie_for_guest() {
|
|
1163 |
}
|
1164 |
}
|
1165 |
|
1166 |
-
add_action( 'wp', 'learn_press_set_user_cookie_for_guest' );
|
1167 |
|
1168 |
function learn_press_get_user_avatar( $user_id = 0, $size = '' ) {
|
1169 |
$user = learn_press_get_user( $user_id );
|
@@ -1334,8 +1305,10 @@ add_filter( 'learn-press/before-start-quiz', 'learn_press_hk_before_start_quiz',
|
|
1334 |
*
|
1335 |
* @return mixed
|
1336 |
* @since 3.1.0
|
|
|
1337 |
*/
|
1338 |
function learn_press_get_user_distraction() {
|
|
|
1339 |
if ( is_user_logged_in() ) {
|
1340 |
return get_user_option( 'distraction_mode', get_current_user_id() );
|
1341 |
} else {
|
@@ -1343,7 +1316,11 @@ function learn_press_get_user_distraction() {
|
|
1343 |
}
|
1344 |
}
|
1345 |
|
|
|
|
|
|
|
1346 |
function learn_press_get_user_role( $user_id ) {
|
|
|
1347 |
if ( $user = learn_press_get_user( $user_id ) ) {
|
1348 |
return $user->get_role();
|
1349 |
}
|
90 |
*
|
91 |
* @param bool $create_temp - Optional. Create temp user if user is not logged in.
|
92 |
*
|
93 |
+
* @return LP_User|LP_User_Guest
|
94 |
* @editor tungnx
|
95 |
* @modify 4.1.4
|
96 |
* @version 1.0.1
|
108 |
|
109 |
if ( ! function_exists( 'learn_press_get_user' ) ) {
|
110 |
/**
|
111 |
+
* Get user by ID. Return false if the user does not exist.
|
112 |
+
* If user_id = 0, return a guest user.
|
113 |
*
|
114 |
* @param int $user_id
|
115 |
* @param bool $current
|
116 |
*
|
117 |
+
* @return LP_User|LP_User_Guest|false
|
118 |
+
* @since 3.0.0
|
119 |
+
* @version 4.0.1
|
120 |
*/
|
121 |
+
function learn_press_get_user( $user_id = 0, $current = false, $force_new = false ) {
|
122 |
+
$userClass = $user_id && get_user_by( 'ID', $user_id ) ? 'LP_User' : ( $user_id == 0 ? 'LP_User_Guest' : false );
|
123 |
+
if ( false === $userClass ) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
124 |
return false;
|
125 |
}
|
126 |
|
127 |
+
return new $userClass( $user_id );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
128 |
}
|
129 |
}
|
130 |
|
1115 |
|
1116 |
/**
|
1117 |
* Set a fake cookie to
|
1118 |
+
* @deprecated 4.1.7.4
|
1119 |
*/
|
1120 |
function learn_press_set_user_cookie_for_guest() {
|
1121 |
+
_deprecated_function( __METHOD__, '4.1.7.4' );
|
1122 |
if ( ! is_admin() && ! headers_sent() ) {
|
1123 |
$guest_key = '_wordpress_lp_guest';
|
1124 |
|
1134 |
}
|
1135 |
}
|
1136 |
|
1137 |
+
//add_action( 'wp', 'learn_press_set_user_cookie_for_guest' );
|
1138 |
|
1139 |
function learn_press_get_user_avatar( $user_id = 0, $size = '' ) {
|
1140 |
$user = learn_press_get_user( $user_id );
|
1305 |
*
|
1306 |
* @return mixed
|
1307 |
* @since 3.1.0
|
1308 |
+
* @deprecated 4.1.7.4
|
1309 |
*/
|
1310 |
function learn_press_get_user_distraction() {
|
1311 |
+
_deprecated_function( __FUNCTION__, '4.1.7.4' );
|
1312 |
if ( is_user_logged_in() ) {
|
1313 |
return get_user_option( 'distraction_mode', get_current_user_id() );
|
1314 |
} else {
|
1316 |
}
|
1317 |
}
|
1318 |
|
1319 |
+
/**
|
1320 |
+
* @deprecated 4.1.7.4
|
1321 |
+
*/
|
1322 |
function learn_press_get_user_role( $user_id ) {
|
1323 |
+
_deprecated_function( __FUNCTION__, '4.1.7.4' );
|
1324 |
if ( $user = learn_press_get_user( $user_id ) ) {
|
1325 |
return $user->get_role();
|
1326 |
}
|
@@ -2,14 +2,14 @@
|
|
2 |
# This file is distributed under the same license as the LearnPress plugin.
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
-
"Project-Id-Version: LearnPress 4.1
|
6 |
-
"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/lp-
|
7 |
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
8 |
"Language-Team: LANGUAGE <LL@li.org>\n"
|
9 |
"MIME-Version: 1.0\n"
|
10 |
"Content-Type: text/plain; charset=UTF-8\n"
|
11 |
"Content-Transfer-Encoding: 8bit\n"
|
12 |
-
"POT-Creation-Date: 2022-11-
|
13 |
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
14 |
"X-Generator: WP-CLI 2.6.0\n"
|
15 |
"X-Domain: learnpress\n"
|
@@ -270,7 +270,7 @@ msgstr ""
|
|
270 |
#: inc/admin/settings/class-lp-settings-advanced.php:72
|
271 |
#: inc/course/lp-course-functions.php:450
|
272 |
#: inc/custom-post-types/lesson.php:158
|
273 |
-
#: inc/lp-template-functions.php:
|
274 |
msgid "Lesson"
|
275 |
msgstr ""
|
276 |
|
@@ -279,8 +279,8 @@ msgstr ""
|
|
279 |
#: inc/course/lp-course-functions.php:451
|
280 |
#: inc/custom-post-types/question.php:320
|
281 |
#: inc/custom-post-types/quiz.php:87
|
282 |
-
#: inc/lp-template-functions.php:
|
283 |
-
#: templates/profile/tabs/quizzes.php:
|
284 |
msgid "Quiz"
|
285 |
msgstr ""
|
286 |
|
@@ -297,19 +297,19 @@ msgstr ""
|
|
297 |
msgid "No settings available."
|
298 |
msgstr ""
|
299 |
|
300 |
-
#: inc/abstracts/abstract-addon.php:
|
301 |
msgid "<strong>%1$s</strong> add-on version %2$s requires <strong>LearnPress</strong> version %3$s or higher %4$s"
|
302 |
msgstr ""
|
303 |
|
304 |
-
#: inc/abstracts/abstract-addon.php:
|
305 |
msgid "%s plugin file does not exist."
|
306 |
msgstr ""
|
307 |
|
308 |
-
#: inc/abstracts/abstract-addon.php:
|
309 |
msgid "%s plugin class does not exist."
|
310 |
msgstr ""
|
311 |
|
312 |
-
#: inc/abstracts/abstract-object-data.php:
|
313 |
msgid "The following functions %1$s do not exist in %2$s"
|
314 |
msgstr ""
|
315 |
|
@@ -382,12 +382,12 @@ msgstr ""
|
|
382 |
msgid "LearnPress status"
|
383 |
msgstr ""
|
384 |
|
385 |
-
#: inc/admin/class-lp-admin-dashboard.php:
|
386 |
#: inc/admin/views/addons/html-loop-theme.php:32
|
387 |
msgid " sales"
|
388 |
msgstr ""
|
389 |
|
390 |
-
#: inc/admin/class-lp-admin-dashboard.php:
|
391 |
#: inc/admin/dashboard-statistics/class-lp-statistic-status.php:70
|
392 |
msgid "Created by: "
|
393 |
msgstr ""
|
@@ -439,8 +439,8 @@ msgstr ""
|
|
439 |
#: inc/admin/class-lp-admin.php:244
|
440 |
#: inc/admin/views/meta-boxes/fields/date.php:39
|
441 |
#: inc/class-lp-assets.php:73
|
442 |
-
#: inc/lp-core-functions.php:
|
443 |
-
#: inc/order/class-lp-order.php:
|
444 |
#: assets/js/dist/frontend/quiz.min.js:44
|
445 |
msgid "Cancel"
|
446 |
msgstr ""
|
@@ -455,7 +455,7 @@ msgid "Confirmation"
|
|
455 |
msgstr ""
|
456 |
|
457 |
#: inc/admin/class-lp-admin.php:247
|
458 |
-
#: inc/admin/views/meta-boxes/order/content-tab-preview-exports-invoice.php:
|
459 |
msgid "Invoice"
|
460 |
msgstr ""
|
461 |
|
@@ -488,7 +488,7 @@ msgstr ""
|
|
488 |
#: inc/class-lp-page-controller.php:247
|
489 |
#: inc/custom-post-types/course.php:105
|
490 |
#: inc/custom-post-types/course.php:107
|
491 |
-
#: inc/lp-template-functions.php:
|
492 |
#: inc/settings/class-lp-settings-courses.php:16
|
493 |
#: inc/user/class-lp-profile.php:248
|
494 |
#: inc/user/class-lp-profile.php:600
|
@@ -577,7 +577,7 @@ msgstr ""
|
|
577 |
#: inc/custom-post-types/abstract.php:938
|
578 |
#: inc/custom-post-types/abstract.php:948
|
579 |
#: inc/custom-post-types/question.php:366
|
580 |
-
#: inc/order/class-lp-order.php:
|
581 |
msgid "View"
|
582 |
msgstr ""
|
583 |
|
@@ -718,10 +718,9 @@ msgid "Last Updated:"
|
|
718 |
msgstr ""
|
719 |
|
720 |
#: inc/admin/class-lp-plugin-install-list-table.php:483
|
721 |
-
#: inc/class-lp-datetime.php:
|
722 |
#: inc/custom-post-types/order.php:762
|
723 |
#: inc/order/class-lp-order.php:148
|
724 |
-
#: inc/user-item/class-lp-user-item.php:218
|
725 |
msgid "%s ago"
|
726 |
msgstr ""
|
727 |
|
@@ -1043,7 +1042,7 @@ msgstr ""
|
|
1043 |
|
1044 |
#: inc/admin/lp-admin-functions.php:1359
|
1045 |
#: inc/user-item/class-lp-user-item-quiz.php:146
|
1046 |
-
#: inc/user-item/class-lp-user-item.php:
|
1047 |
#: templates/content-lesson/button-complete.php:37
|
1048 |
msgid "Completed"
|
1049 |
msgstr ""
|
@@ -1152,11 +1151,11 @@ msgid "Upload"
|
|
1152 |
msgstr ""
|
1153 |
|
1154 |
#: inc/admin/meta-box/fields/list-emails.php:7
|
1155 |
-
#: inc/admin/views/meta-boxes/order/content-tab-preview-exports-invoice.php:
|
1156 |
#: inc/admin/views/meta-boxes/order/exports-invoice.php:80
|
1157 |
-
#: inc/class-lp-checkout.php:
|
1158 |
-
#: inc/class-lp-checkout.php:
|
1159 |
-
#: inc/lp-deprecated.php:
|
1160 |
#: templates/checkout/account-register.php:25
|
1161 |
#: templates/global/become-teacher-form.php:39
|
1162 |
#: templates/global/form-register.php:29
|
@@ -1337,23 +1336,23 @@ msgid "Enable default fields"
|
|
1337 |
msgstr ""
|
1338 |
|
1339 |
#: inc/admin/settings/class-lp-settings-profile.php:89
|
1340 |
-
#: inc/user/lp-user-functions.php:
|
1341 |
-
#: inc/user/lp-user-functions.php:
|
1342 |
#: templates/profile/tabs/settings/basic-information.php:33
|
1343 |
msgid "First name"
|
1344 |
msgstr ""
|
1345 |
|
1346 |
#: inc/admin/settings/class-lp-settings-profile.php:96
|
1347 |
-
#: inc/user/lp-user-functions.php:
|
1348 |
-
#: inc/user/lp-user-functions.php:
|
1349 |
#: templates/profile/tabs/settings/basic-information.php:39
|
1350 |
msgid "Last name"
|
1351 |
msgstr ""
|
1352 |
|
1353 |
#: inc/admin/settings/class-lp-settings-profile.php:103
|
1354 |
#: inc/admin/settings/class-lp-settings-profile.php:115
|
1355 |
-
#: inc/user/lp-user-functions.php:
|
1356 |
-
#: inc/user/lp-user-functions.php:
|
1357 |
#: templates/profile/tabs/settings/basic-information.php:45
|
1358 |
msgid "Display name"
|
1359 |
msgstr ""
|
@@ -1364,7 +1363,7 @@ msgstr ""
|
|
1364 |
|
1365 |
#: inc/admin/settings/class-lp-settings-profile.php:112
|
1366 |
#: inc/admin/views/quiz/editor.php:47
|
1367 |
-
#: inc/lp-deprecated.php:
|
1368 |
#: templates/global/become-teacher-form.php:35
|
1369 |
#: templates/profile/tabs/courses/course-list.php:22
|
1370 |
msgid "Name"
|
@@ -1430,7 +1429,7 @@ msgid "Orders"
|
|
1430 |
msgstr ""
|
1431 |
|
1432 |
#: inc/admin/settings/class-lp-settings-profile.php:174
|
1433 |
-
#: inc/admin/views/meta-boxes/order/content-tab-preview-exports-invoice.php:
|
1434 |
#: inc/admin/views/meta-boxes/order/details.php:40
|
1435 |
#: inc/user/class-lp-profile.php:269
|
1436 |
msgid "Order details"
|
@@ -1439,7 +1438,7 @@ msgstr ""
|
|
1439 |
#: inc/admin/settings/class-lp-settings-profile.php:188
|
1440 |
#: inc/admin/sub-menus/class-lp-submenu-settings.php:18
|
1441 |
#: inc/user/class-lp-profile.php:276
|
1442 |
-
#: learnpress.php:
|
1443 |
msgid "Settings"
|
1444 |
msgstr ""
|
1445 |
|
@@ -1498,7 +1497,7 @@ msgid "Reset Password"
|
|
1498 |
msgstr ""
|
1499 |
|
1500 |
#: inc/admin/sub-menus/class-lp-submenu-addons.php:14
|
1501 |
-
#: learnpress.php:
|
1502 |
msgid "Add-ons"
|
1503 |
msgstr ""
|
1504 |
|
@@ -1987,7 +1986,7 @@ msgstr ""
|
|
1987 |
#: inc/admin/views/setup/setup-stripe.php:7
|
1988 |
#: inc/external-plugin/elementor/widgets/become-a-teacher.php:33
|
1989 |
#: inc/external-plugin/elementor/widgets/widget-base.php:29
|
1990 |
-
#: inc/gateways/offline-payment/class-lp-gateway-offline-payment.php:
|
1991 |
#: inc/widgets/course-extra.php:25
|
1992 |
#: inc/widgets/course-info.php:32
|
1993 |
#: inc/widgets/course-progress.php:29
|
@@ -2029,7 +2028,7 @@ msgstr ""
|
|
2029 |
#: inc/custom-post-types/abstract.php:960
|
2030 |
#: inc/custom-post-types/lesson.php:130
|
2031 |
#: inc/custom-post-types/lesson.php:230
|
2032 |
-
#: inc/lp-template-functions.php:
|
2033 |
#: templates/loop/single-course/loop-section-item.php:32
|
2034 |
#: templates/single-course/section/item-meta.php:32
|
2035 |
msgid "Preview"
|
@@ -2055,59 +2054,59 @@ msgstr ""
|
|
2055 |
msgid "Move to Trash"
|
2056 |
msgstr ""
|
2057 |
|
2058 |
-
#: inc/admin/views/meta-boxes/order/content-tab-preview-exports-invoice.php:
|
2059 |
#: inc/admin/views/meta-boxes/order/exports-invoice.php:74
|
2060 |
msgid "Order Date"
|
2061 |
msgstr ""
|
2062 |
|
2063 |
-
#: inc/admin/views/meta-boxes/order/content-tab-preview-exports-invoice.php:
|
2064 |
#: inc/admin/views/meta-boxes/order/exports-invoice.php:76
|
2065 |
msgid "Invoice No."
|
2066 |
msgstr ""
|
2067 |
|
2068 |
-
#: inc/admin/views/meta-boxes/order/content-tab-preview-exports-invoice.php:
|
2069 |
#: inc/admin/views/meta-boxes/order/details.php:228
|
2070 |
#: inc/admin/views/meta-boxes/order/details.php:237
|
2071 |
#: inc/admin/views/meta-boxes/order/exports-invoice.php:78
|
2072 |
msgid "Customer"
|
2073 |
msgstr ""
|
2074 |
|
2075 |
-
#: inc/admin/views/meta-boxes/order/content-tab-preview-exports-invoice.php:
|
2076 |
#: inc/admin/views/meta-boxes/order/details.php:155
|
2077 |
#: inc/custom-post-types/course.php:77
|
2078 |
#: templates/checkout/order-received.php:60
|
2079 |
msgid "Item"
|
2080 |
msgstr ""
|
2081 |
|
2082 |
-
#: inc/admin/views/meta-boxes/order/content-tab-preview-exports-invoice.php:
|
2083 |
#: inc/admin/views/meta-boxes/order/details.php:156
|
2084 |
msgid "Cost"
|
2085 |
msgstr ""
|
2086 |
|
2087 |
-
#: inc/admin/views/meta-boxes/order/content-tab-preview-exports-invoice.php:
|
2088 |
#: inc/admin/views/meta-boxes/order/details.php:157
|
2089 |
#: templates/emails/order-items-table.php:86
|
2090 |
msgid "Quantity"
|
2091 |
msgstr ""
|
2092 |
|
2093 |
-
#: inc/admin/views/meta-boxes/order/content-tab-preview-exports-invoice.php:
|
2094 |
msgid "Amount"
|
2095 |
msgstr ""
|
2096 |
|
2097 |
-
#: inc/admin/views/meta-boxes/order/content-tab-preview-exports-invoice.php:
|
2098 |
msgid "Sub Total"
|
2099 |
msgstr ""
|
2100 |
|
2101 |
-
#: inc/admin/views/meta-boxes/order/content-tab-preview-exports-invoice.php:
|
2102 |
#: inc/admin/views/meta-boxes/order/details.php:158
|
2103 |
#: inc/custom-post-types/order.php:670
|
2104 |
#: templates/checkout/order-received.php:107
|
2105 |
-
#: templates/checkout/review-order.php:
|
2106 |
#: templates/emails/order-items-table.php:118
|
2107 |
#: templates/emails/plain/order-items-table.php:88
|
2108 |
#: templates/order/order-details.php:26
|
2109 |
#: templates/order/order-details.php:110
|
2110 |
-
#: templates/profile/tabs/orders/list.php:
|
2111 |
msgid "Total"
|
2112 |
msgstr ""
|
2113 |
|
@@ -2405,7 +2404,7 @@ msgid "Match any value in a set of words. Use <code>fill, blank, or question</co
|
|
2405 |
msgstr ""
|
2406 |
|
2407 |
#: inc/admin/views/quiz/editor.php:49
|
2408 |
-
#: templates/profile/tabs/orders/list.php:
|
2409 |
msgid "Actions"
|
2410 |
msgstr ""
|
2411 |
|
@@ -2480,7 +2479,7 @@ msgid "Your Paypal email is in live mode."
|
|
2480 |
msgstr ""
|
2481 |
|
2482 |
#: inc/admin/views/setup/setup-stripe.php:3
|
2483 |
-
#: inc/gateways/offline-payment/class-lp-gateway-offline-payment.php:
|
2484 |
msgid "Enable"
|
2485 |
msgstr ""
|
2486 |
|
@@ -2645,8 +2644,8 @@ msgstr ""
|
|
2645 |
#: inc/admin/views/statistics/orders.php:47
|
2646 |
#: inc/custom-post-types/order.php:669
|
2647 |
#: templates/checkout/order-received.php:94
|
2648 |
-
#: templates/profile/tabs/orders/list.php:
|
2649 |
-
#: templates/profile/tabs/quizzes.php:
|
2650 |
msgid "Date"
|
2651 |
msgstr ""
|
2652 |
|
@@ -2746,22 +2745,14 @@ msgstr ""
|
|
2746 |
msgid "No theme is defined for this template."
|
2747 |
msgstr ""
|
2748 |
|
2749 |
-
#: inc/cart/class-lp-cart.php:
|
2750 |
-
msgid "Get cart should not be called before the wp_loaded action."
|
2751 |
-
msgstr ""
|
2752 |
-
|
2753 |
-
#: inc/cart/class-lp-cart.php:163
|
2754 |
msgid "Sorry! This course is not purchasable."
|
2755 |
msgstr ""
|
2756 |
|
2757 |
-
#: inc/cart/class-lp-cart.php:
|
2758 |
msgid "Sorry! The number of enrolled students has reached its limit"
|
2759 |
msgstr ""
|
2760 |
|
2761 |
-
#: inc/cart/class-lp-cart.php:327
|
2762 |
-
msgid "%s has been removed from your cart because it can no longer be purchased."
|
2763 |
-
msgstr ""
|
2764 |
-
|
2765 |
#: inc/class-lp-ajax.php:85
|
2766 |
msgid "The order %s has been successfully recovered."
|
2767 |
msgstr ""
|
@@ -2807,19 +2798,19 @@ msgid "Congrats! You have completed \"%s\"."
|
|
2807 |
msgstr ""
|
2808 |
|
2809 |
#: inc/class-lp-assets.php:72
|
2810 |
-
#: inc/lp-core-functions.php:
|
2811 |
#: assets/js/dist/frontend/quiz.min.js:41
|
2812 |
msgid "OK"
|
2813 |
msgstr ""
|
2814 |
|
2815 |
#: inc/class-lp-assets.php:74
|
2816 |
-
#: inc/lp-core-functions.php:
|
2817 |
#: templates/global/lp-modal-overlay.php:24
|
2818 |
msgid "Yes"
|
2819 |
msgstr ""
|
2820 |
|
2821 |
#: inc/class-lp-assets.php:75
|
2822 |
-
#: inc/lp-core-functions.php:
|
2823 |
#: templates/global/lp-modal-overlay.php:23
|
2824 |
msgid "No"
|
2825 |
msgstr ""
|
@@ -2837,7 +2828,7 @@ msgid "Redirecting"
|
|
2837 |
msgstr ""
|
2838 |
|
2839 |
#: inc/class-lp-assets.php:88
|
2840 |
-
#: inc/class-lp-checkout.php:
|
2841 |
msgid "Invalid field"
|
2842 |
msgstr ""
|
2843 |
|
@@ -2874,12 +2865,12 @@ msgstr ""
|
|
2874 |
msgid "Page %d"
|
2875 |
msgstr ""
|
2876 |
|
2877 |
-
#: inc/class-lp-checkout.php:
|
2878 |
msgid "Your session has expired."
|
2879 |
msgstr ""
|
2880 |
|
2881 |
-
#: inc/class-lp-checkout.php:
|
2882 |
-
#: inc/class-lp-checkout.php:
|
2883 |
#: templates/checkout/account-register.php:28
|
2884 |
#: templates/checkout/account-register.php:29
|
2885 |
#: templates/global/form-register.php:32
|
@@ -2887,8 +2878,8 @@ msgstr ""
|
|
2887 |
msgid "Username"
|
2888 |
msgstr ""
|
2889 |
|
2890 |
-
#: inc/class-lp-checkout.php:
|
2891 |
-
#: inc/class-lp-checkout.php:
|
2892 |
#: inc/jwt/rest-api/version1/class-lp-rest-users-v1-controller.php:121
|
2893 |
#: inc/user/class-lp-profile.php:288
|
2894 |
#: templates/checkout/account-login.php:30
|
@@ -2904,62 +2895,69 @@ msgstr ""
|
|
2904 |
msgid "Password"
|
2905 |
msgstr ""
|
2906 |
|
2907 |
-
#: inc/class-lp-checkout.php:
|
2908 |
#: templates/checkout/account-register.php:36
|
2909 |
#: templates/global/form-register.php:40
|
2910 |
msgid "Confirm Password"
|
2911 |
msgstr ""
|
2912 |
|
2913 |
-
#: inc/class-lp-checkout.php:
|
2914 |
-
|
2915 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
2916 |
msgid "Error %d: Unable to create order. Please try again."
|
2917 |
msgstr ""
|
2918 |
|
2919 |
-
#: inc/class-lp-checkout.php:
|
2920 |
msgid "Unable to checkout. Order creation failed."
|
2921 |
msgstr ""
|
2922 |
|
2923 |
-
#: inc/class-lp-checkout.php:
|
2924 |
-
#: inc/class-lp-checkout.php:
|
2925 |
-
#: inc/class-lp-checkout.php:
|
2926 |
-
#: inc/class-lp-checkout.php:
|
2927 |
-
#: inc/class-lp-checkout.php:
|
2928 |
-
#: inc/class-lp-checkout.php:
|
2929 |
-
#: inc/class-lp-checkout.php:
|
2930 |
msgid "%s is required field."
|
2931 |
msgstr ""
|
2932 |
|
2933 |
-
#: inc/class-lp-checkout.php:
|
2934 |
-
#: inc/class-lp-checkout.php:
|
2935 |
msgid "%s is exists."
|
2936 |
msgstr ""
|
2937 |
|
2938 |
-
#: inc/class-lp-checkout.php:
|
2939 |
msgid "%s is not a valid username."
|
2940 |
msgstr ""
|
2941 |
|
2942 |
-
#: inc/class-lp-checkout.php:
|
2943 |
msgid "%s is not a valid email."
|
2944 |
msgstr ""
|
2945 |
|
2946 |
-
#: inc/class-lp-checkout.php:
|
2947 |
msgid "%s is not exist."
|
2948 |
msgstr ""
|
2949 |
|
2950 |
-
#: inc/class-lp-checkout.php:
|
2951 |
msgid "Your email is not valid."
|
2952 |
msgstr ""
|
2953 |
|
2954 |
-
#: inc/class-lp-checkout.php:
|
2955 |
msgid "No payment method is selected"
|
2956 |
msgstr ""
|
2957 |
|
2958 |
-
#: inc/class-lp-checkout.php:
|
|
|
2959 |
msgid "Your cart is currently empty."
|
2960 |
msgstr ""
|
2961 |
|
2962 |
-
#: inc/class-lp-checkout.php:
|
2963 |
msgid "Type item buy invalid!"
|
2964 |
msgstr ""
|
2965 |
|
@@ -3074,28 +3072,28 @@ msgid "uncategorized"
|
|
3074 |
msgstr ""
|
3075 |
|
3076 |
#: inc/class-lp-page-controller.php:245
|
3077 |
-
#: inc/lp-template-functions.php:
|
3078 |
msgid "Course Search Results"
|
3079 |
msgstr ""
|
3080 |
|
3081 |
-
#: inc/class-lp-page-controller.php:
|
3082 |
msgid "No payment method is available."
|
3083 |
msgstr ""
|
3084 |
|
3085 |
-
#: inc/class-lp-query-list-table.php:
|
3086 |
#: inc/custom-post-types/course.php:71
|
3087 |
msgid "item"
|
3088 |
msgstr ""
|
3089 |
|
3090 |
-
#: inc/class-lp-query-list-table.php:
|
3091 |
msgid "items"
|
3092 |
msgstr ""
|
3093 |
|
3094 |
-
#: inc/class-lp-query-list-table.php:
|
3095 |
msgid "Displaying {{from}} to {{to}} of {{total}} {{item_name}}."
|
3096 |
msgstr ""
|
3097 |
|
3098 |
-
#: inc/class-lp-query-list-table.php:
|
3099 |
msgid "Displaying {{from}} to {{to}} of {{total}}."
|
3100 |
msgstr ""
|
3101 |
|
@@ -3143,7 +3141,7 @@ msgstr ""
|
|
3143 |
#: inc/course/abstract-course.php:769
|
3144 |
#: inc/course/abstract-course.php:789
|
3145 |
#: inc/lesson/class-lp-lesson.php:104
|
3146 |
-
#: inc/quiz/class-lp-quiz.php:
|
3147 |
msgid "The function %s doesn't exist"
|
3148 |
msgstr ""
|
3149 |
|
@@ -3185,7 +3183,7 @@ msgid "Edit this item"
|
|
3185 |
msgstr ""
|
3186 |
|
3187 |
#: inc/course/lp-course-functions.php:943
|
3188 |
-
#: inc/lp-core-functions.php:
|
3189 |
#: inc/templates/class-lp-template-profile.php:103
|
3190 |
#: inc/user-item/class-lp-user-item-quiz.php:147
|
3191 |
#: inc/user/class-lp-profile.php:877
|
@@ -3195,7 +3193,7 @@ msgid "Passed"
|
|
3195 |
msgstr ""
|
3196 |
|
3197 |
#: inc/course/lp-course-functions.php:946
|
3198 |
-
#: inc/lp-core-functions.php:
|
3199 |
#: inc/templates/class-lp-template-profile.php:104
|
3200 |
#: inc/user-item/class-lp-user-item-quiz.php:148
|
3201 |
#: inc/user/class-lp-profile.php:878
|
@@ -3205,7 +3203,7 @@ msgid "Failed"
|
|
3205 |
msgstr ""
|
3206 |
|
3207 |
#: inc/course/lp-course-functions.php:949
|
3208 |
-
#: inc/lp-core-functions.php:
|
3209 |
#: inc/lp-deprecated.php:385
|
3210 |
#: inc/templates/class-lp-template-profile.php:101
|
3211 |
#: inc/user-item/class-lp-user-item-quiz.php:144
|
@@ -3213,27 +3211,27 @@ msgstr ""
|
|
3213 |
msgid "In Progress"
|
3214 |
msgstr ""
|
3215 |
|
3216 |
-
#: inc/course/lp-course-functions.php:
|
3217 |
msgid "completed lessons per the total number of lessons."
|
3218 |
msgstr ""
|
3219 |
|
3220 |
-
#: inc/course/lp-course-functions.php:
|
3221 |
msgid "passed quizzes per the total number of quizzes."
|
3222 |
msgstr ""
|
3223 |
|
3224 |
-
#: inc/course/lp-course-functions.php:
|
3225 |
msgid "Final Quiz"
|
3226 |
msgstr ""
|
3227 |
|
3228 |
-
#: inc/course/lp-course-functions.php:
|
3229 |
msgid "correct answers per the total number of questions."
|
3230 |
msgstr ""
|
3231 |
|
3232 |
-
#: inc/course/lp-course-functions.php:
|
3233 |
msgid "score achieved per the total score of the questions."
|
3234 |
msgstr ""
|
3235 |
|
3236 |
-
#: inc/course/lp-course-functions.php:
|
3237 |
msgid "Require"
|
3238 |
msgstr ""
|
3239 |
|
@@ -3253,20 +3251,20 @@ msgstr ""
|
|
3253 |
msgid "Invalid order with ID \"%d\"."
|
3254 |
msgstr ""
|
3255 |
|
3256 |
-
#: inc/curds/class-lp-order-curd.php:
|
3257 |
#: templates/checkout/order-received.php:25
|
3258 |
msgid "Invalid order."
|
3259 |
msgstr ""
|
3260 |
|
3261 |
-
#: inc/curds/class-lp-order-curd.php:
|
3262 |
msgid "Order is already assigned."
|
3263 |
msgstr ""
|
3264 |
|
3265 |
-
#: inc/curds/class-lp-order-curd.php:
|
3266 |
msgid "Invalid User!"
|
3267 |
msgstr ""
|
3268 |
|
3269 |
-
#: inc/curds/class-lp-order-curd.php:
|
3270 |
msgid "Invalid order key with Email!"
|
3271 |
msgstr ""
|
3272 |
|
@@ -3655,7 +3653,7 @@ msgstr ""
|
|
3655 |
|
3656 |
#: inc/custom-post-types/order.php:666
|
3657 |
#: inc/custom-post-types/order.php:825
|
3658 |
-
#: templates/profile/tabs/orders/list.php:
|
3659 |
msgid "Order"
|
3660 |
msgstr ""
|
3661 |
|
@@ -3665,7 +3663,7 @@ msgstr ""
|
|
3665 |
|
3666 |
#: inc/custom-post-types/order.php:668
|
3667 |
#: inc/lp-deprecated.php:354
|
3668 |
-
#: inc/user-item/class-lp-user-item.php:
|
3669 |
msgid "Purchased"
|
3670 |
msgstr ""
|
3671 |
|
@@ -3673,12 +3671,12 @@ msgstr ""
|
|
3673 |
#: inc/jwt/rest-api/version1/class-lp-rest-courses-v1-controller.php:1331
|
3674 |
#: templates/emails/order-items-table.php:72
|
3675 |
#: templates/emails/plain/order-items-table.php:58
|
3676 |
-
#: templates/profile/tabs/orders/list.php:
|
3677 |
msgid "Status"
|
3678 |
msgstr ""
|
3679 |
|
3680 |
#: inc/custom-post-types/order.php:721
|
3681 |
-
#: inc/order/class-lp-order.php:
|
3682 |
msgid "(Guest)"
|
3683 |
msgstr ""
|
3684 |
|
@@ -4312,7 +4310,7 @@ msgid "Border"
|
|
4312 |
msgstr ""
|
4313 |
|
4314 |
#: inc/external-plugin/elementor/widgets/widget-base.php:419
|
4315 |
-
#: inc/lp-deprecated.php:
|
4316 |
#: templates/global/become-teacher-form.php:47
|
4317 |
msgid "Message"
|
4318 |
msgstr ""
|
@@ -4329,15 +4327,15 @@ msgstr ""
|
|
4329 |
msgid "Make a payment with cash."
|
4330 |
msgstr ""
|
4331 |
|
4332 |
-
#: inc/gateways/offline-payment/class-lp-gateway-offline-payment.php:
|
4333 |
msgid "Testing Mode"
|
4334 |
msgstr ""
|
4335 |
|
4336 |
-
#: inc/gateways/offline-payment/class-lp-gateway-offline-payment.php:
|
4337 |
msgid "Instruction"
|
4338 |
msgstr ""
|
4339 |
|
4340 |
-
#: inc/gateways/offline-payment/class-lp-gateway-offline-payment.php:
|
4341 |
msgid "Payment can be made upon delivery."
|
4342 |
msgstr ""
|
4343 |
|
@@ -4486,8 +4484,8 @@ msgid "The course ID is invalid."
|
|
4486 |
msgstr ""
|
4487 |
|
4488 |
#: inc/jwt/rest-api/version1/class-lp-rest-courses-v1-controller.php:347
|
4489 |
-
#: inc/rest-api/v1/frontend/class-lp-rest-courses-controller.php:
|
4490 |
-
#: inc/rest-api/v1/frontend/class-lp-rest-courses-controller.php:
|
4491 |
msgid "Error: The course cannot be added to the cart."
|
4492 |
msgstr ""
|
4493 |
|
@@ -4520,7 +4518,7 @@ msgstr ""
|
|
4520 |
#: inc/jwt/rest-api/version1/class-lp-rest-courses-v1-controller.php:577
|
4521 |
#: inc/jwt/rest-api/version1/class-lp-rest-lessons-v1-controller.php:296
|
4522 |
#: inc/jwt/rest-api/version1/class-lp-rest-quiz-v1-controller.php:372
|
4523 |
-
#: templates/single-course/sidebar/user-time.php:
|
4524 |
msgid "Lifetime"
|
4525 |
msgstr ""
|
4526 |
|
@@ -5790,150 +5788,150 @@ msgid "Jersey pound"
|
|
5790 |
msgstr ""
|
5791 |
|
5792 |
#: inc/lp-core-functions.php:1403
|
5793 |
-
#: inc/lp-template-functions.php:
|
5794 |
msgid "%s week"
|
5795 |
msgid_plural "%s weeks"
|
5796 |
msgstr[0] ""
|
5797 |
msgstr[1] ""
|
5798 |
|
5799 |
#: inc/lp-core-functions.php:1407
|
5800 |
-
#: inc/lp-template-functions.php:
|
5801 |
msgid "%s day"
|
5802 |
msgid_plural "%s days"
|
5803 |
msgstr[0] ""
|
5804 |
msgstr[1] ""
|
5805 |
|
5806 |
#: inc/lp-core-functions.php:1412
|
5807 |
-
#: inc/lp-template-functions.php:
|
5808 |
msgid "%s hour"
|
5809 |
msgid_plural "%s hours"
|
5810 |
msgstr[0] ""
|
5811 |
msgstr[1] ""
|
5812 |
|
5813 |
#: inc/lp-core-functions.php:1416
|
5814 |
-
#: inc/lp-template-functions.php:
|
5815 |
msgid "%s minute"
|
5816 |
msgid_plural "%s minutes"
|
5817 |
msgstr[0] ""
|
5818 |
msgstr[1] ""
|
5819 |
|
5820 |
-
#: inc/lp-core-functions.php:
|
5821 |
msgid "Cart"
|
5822 |
msgstr ""
|
5823 |
|
5824 |
-
#: inc/lp-core-functions.php:
|
5825 |
msgid "Enable cart"
|
5826 |
msgstr ""
|
5827 |
|
5828 |
-
#: inc/lp-core-functions.php:
|
5829 |
msgid "Check this option to enable users to purchase multiple courses at one time."
|
5830 |
msgstr ""
|
5831 |
|
5832 |
-
#: inc/lp-core-functions.php:
|
5833 |
msgid "Add to cart redirect"
|
5834 |
msgstr ""
|
5835 |
|
5836 |
-
#: inc/lp-core-functions.php:
|
5837 |
msgid "Redirect to checkout immediately after adding the course to the cart."
|
5838 |
msgstr ""
|
5839 |
|
5840 |
-
#: inc/lp-core-functions.php:
|
5841 |
msgid "AJAX add to cart"
|
5842 |
msgstr ""
|
5843 |
|
5844 |
-
#: inc/lp-core-functions.php:
|
5845 |
msgid "Using AJAX to add the course to the cart."
|
5846 |
msgstr ""
|
5847 |
|
5848 |
-
#: inc/lp-core-functions.php:
|
5849 |
msgid "Cart page"
|
5850 |
msgstr ""
|
5851 |
|
5852 |
-
#: inc/lp-core-functions.php:
|
5853 |
msgctxt "static-page-name"
|
5854 |
msgid "Checkout"
|
5855 |
msgstr ""
|
5856 |
|
5857 |
-
#: inc/lp-core-functions.php:
|
5858 |
msgctxt "static-page-name"
|
5859 |
msgid "Courses"
|
5860 |
msgstr ""
|
5861 |
|
5862 |
-
#: inc/lp-core-functions.php:
|
5863 |
msgctxt "static-page-name"
|
5864 |
msgid "Profile"
|
5865 |
msgstr ""
|
5866 |
|
5867 |
-
#: inc/lp-core-functions.php:
|
5868 |
msgctxt "static-page-name"
|
5869 |
msgid "Become a Teacher"
|
5870 |
msgstr ""
|
5871 |
|
5872 |
-
#: inc/lp-core-functions.php:
|
5873 |
msgid "Loading..."
|
5874 |
msgstr ""
|
5875 |
|
5876 |
-
#: inc/lp-core-functions.php:
|
5877 |
msgid "Get A Passing Grade"
|
5878 |
msgstr ""
|
5879 |
|
5880 |
-
#: inc/lp-core-functions.php:
|
5881 |
msgid "Evaluate by the number of completed lessons per the total number of lessons."
|
5882 |
msgstr ""
|
5883 |
|
5884 |
-
#: inc/lp-core-functions.php:
|
5885 |
msgid "E.g: If a course has 10 lessons and a user completes 5 lessons, then the result is 5/10 (50%)."
|
5886 |
msgstr ""
|
5887 |
|
5888 |
-
#: inc/lp-core-functions.php:
|
5889 |
msgid "Evaluate by the result of the final quiz in the course. You have to add a quiz at the end of the course."
|
5890 |
msgstr ""
|
5891 |
|
5892 |
-
#: inc/lp-core-functions.php:
|
5893 |
msgid "Evaluate by the number of passed quizzes per the total number of quizzes."
|
5894 |
msgstr ""
|
5895 |
|
5896 |
-
#: inc/lp-core-functions.php:
|
5897 |
msgid "E.g: If the course has 10 quizzes and the user passes 5 quizzes, then the result is 5/10 (50%)."
|
5898 |
msgstr ""
|
5899 |
|
5900 |
-
#: inc/lp-core-functions.php:
|
5901 |
msgid "Evaluate by the number of correct answers per the total number of questions."
|
5902 |
msgstr ""
|
5903 |
|
5904 |
-
#: inc/lp-core-functions.php:
|
5905 |
msgid "E.g: If the course has 10 questions and the user corrects 5 questions, then the result is 5/10 (50%)."
|
5906 |
msgstr ""
|
5907 |
|
5908 |
-
#: inc/lp-core-functions.php:
|
5909 |
msgid "Evaluate by the number of achieved scores per the total score of the questions."
|
5910 |
msgstr ""
|
5911 |
|
5912 |
-
#: inc/lp-core-functions.php:
|
5913 |
msgid "Evaluate via lessons"
|
5914 |
msgstr ""
|
5915 |
|
5916 |
-
#: inc/lp-core-functions.php:
|
5917 |
msgid "Evaluate via results of the final quiz"
|
5918 |
msgstr ""
|
5919 |
|
5920 |
-
#: inc/lp-core-functions.php:
|
5921 |
msgid "Evaluate via passed quizzes"
|
5922 |
msgstr ""
|
5923 |
|
5924 |
-
#: inc/lp-core-functions.php:
|
5925 |
msgid "Evaluate via questions"
|
5926 |
msgstr ""
|
5927 |
|
5928 |
-
#: inc/lp-core-functions.php:
|
5929 |
msgid "Evaluate via mark"
|
5930 |
msgstr ""
|
5931 |
|
5932 |
-
#: inc/lp-core-functions.php:
|
5933 |
msgid "Heads up! Please backup before upgrading!"
|
5934 |
msgstr ""
|
5935 |
|
5936 |
-
#: inc/lp-core-functions.php:
|
5937 |
msgid "The latest update includes some substantial changes across different areas of the plugin. We highly recommend you backup your site before upgrading, and make sure you first update in a staging environment"
|
5938 |
msgstr ""
|
5939 |
|
@@ -5944,7 +5942,7 @@ msgstr ""
|
|
5944 |
#: inc/lp-deprecated.php:355
|
5945 |
#: inc/lp-deprecated.php:386
|
5946 |
#: inc/templates/class-lp-template-profile.php:102
|
5947 |
-
#: inc/user-item/class-lp-user-item.php:
|
5948 |
#: inc/user/class-lp-profile.php:876
|
5949 |
#: inc/user/class-lp-profile.php:910
|
5950 |
msgid "Finished"
|
@@ -5968,27 +5966,27 @@ msgstr ""
|
|
5968 |
msgid "Back to class"
|
5969 |
msgstr ""
|
5970 |
|
5971 |
-
#: inc/lp-deprecated.php:
|
5972 |
#: templates/global/become-teacher-form.php:36
|
5973 |
msgid "Your name"
|
5974 |
msgstr ""
|
5975 |
|
5976 |
-
#: inc/lp-deprecated.php:
|
5977 |
#: templates/global/become-teacher-form.php:40
|
5978 |
msgid "Your email address"
|
5979 |
msgstr ""
|
5980 |
|
5981 |
-
#: inc/lp-deprecated.php:
|
5982 |
#: templates/global/become-teacher-form.php:43
|
5983 |
msgid "Phone"
|
5984 |
msgstr ""
|
5985 |
|
5986 |
-
#: inc/lp-deprecated.php:
|
5987 |
#: templates/global/become-teacher-form.php:44
|
5988 |
msgid "Your phone number"
|
5989 |
msgstr ""
|
5990 |
|
5991 |
-
#: inc/lp-deprecated.php:
|
5992 |
#: templates/global/become-teacher-form.php:48
|
5993 |
msgid "Your message"
|
5994 |
msgstr ""
|
@@ -5997,42 +5995,42 @@ msgstr ""
|
|
5997 |
msgid "Overview"
|
5998 |
msgstr ""
|
5999 |
|
6000 |
-
#: inc/lp-template-functions.php:
|
6001 |
-
#: inc/lp-template-functions.php:
|
6002 |
#: inc/templates/class-lp-template-course.php:132
|
6003 |
msgid "Final"
|
6004 |
msgstr ""
|
6005 |
|
6006 |
-
#: inc/lp-template-functions.php:
|
6007 |
msgid "Course Sidebar"
|
6008 |
msgstr ""
|
6009 |
|
6010 |
-
#: inc/lp-template-functions.php:
|
6011 |
msgid "Widgets in this area will be shown in a single course"
|
6012 |
msgstr ""
|
6013 |
|
6014 |
-
#: inc/lp-template-functions.php:
|
6015 |
msgid "All Courses"
|
6016 |
msgstr ""
|
6017 |
|
6018 |
-
#: inc/lp-template-functions.php:
|
6019 |
msgid "Widgets in this area will be shown on all course pages"
|
6020 |
msgstr ""
|
6021 |
|
6022 |
-
#: inc/lp-template-functions.php:
|
6023 |
-
#: inc/lp-template-functions.php:
|
6024 |
msgid "All levels"
|
6025 |
msgstr ""
|
6026 |
|
6027 |
-
#: inc/lp-template-functions.php:
|
6028 |
msgid "Beginner"
|
6029 |
msgstr ""
|
6030 |
|
6031 |
-
#: inc/lp-template-functions.php:
|
6032 |
msgid "Intermediate"
|
6033 |
msgstr ""
|
6034 |
|
6035 |
-
#: inc/lp-template-functions.php:
|
6036 |
msgid "Expert"
|
6037 |
msgstr ""
|
6038 |
|
@@ -6050,107 +6048,107 @@ msgstr ""
|
|
6050 |
msgid "Thank you. Your order has been received."
|
6051 |
msgstr ""
|
6052 |
|
6053 |
-
#: inc/order/class-lp-order.php:
|
6054 |
msgid "Removed"
|
6055 |
msgstr ""
|
6056 |
|
6057 |
-
#: inc/order/class-lp-order.php:
|
6058 |
msgid "%s (Guest)"
|
6059 |
msgstr ""
|
6060 |
|
6061 |
-
#: inc/order/class-lp-order.php:
|
6062 |
msgctxt "full name"
|
6063 |
msgid "%1$s"
|
6064 |
msgstr ""
|
6065 |
|
6066 |
-
#: inc/order/class-lp-order.php:
|
6067 |
msgid "Order on"
|
6068 |
msgstr ""
|
6069 |
|
6070 |
-
#: inc/order/lp-order-functions.php:
|
6071 |
msgctxt "Order status"
|
6072 |
msgid "Pending"
|
6073 |
msgstr ""
|
6074 |
|
6075 |
-
#: inc/order/lp-order-functions.php:
|
6076 |
msgid "Pending Payment <span class=\"count\">(%s)</span>"
|
6077 |
msgid_plural "Pending Payment <span class=\"count\">(%s)</span>"
|
6078 |
msgstr[0] ""
|
6079 |
msgstr[1] ""
|
6080 |
|
6081 |
-
#: inc/order/lp-order-functions.php:
|
6082 |
msgctxt "Order status"
|
6083 |
msgid "Processing"
|
6084 |
msgstr ""
|
6085 |
|
6086 |
-
#: inc/order/lp-order-functions.php:
|
6087 |
msgid "Processing <span class=\"count\">(%s)</span>"
|
6088 |
msgid_plural "Processing <span class=\"count\">(%s)</span>"
|
6089 |
msgstr[0] ""
|
6090 |
msgstr[1] ""
|
6091 |
|
6092 |
-
#: inc/order/lp-order-functions.php:
|
6093 |
msgctxt "Order status"
|
6094 |
msgid "Completed"
|
6095 |
msgstr ""
|
6096 |
|
6097 |
-
#: inc/order/lp-order-functions.php:
|
6098 |
msgid "Completed <span class=\"count\">(%s)</span>"
|
6099 |
msgid_plural "Completed <span class=\"count\">(%s)</span>"
|
6100 |
msgstr[0] ""
|
6101 |
msgstr[1] ""
|
6102 |
|
6103 |
-
#: inc/order/lp-order-functions.php:
|
6104 |
msgctxt "Order status"
|
6105 |
msgid "Cancelled"
|
6106 |
msgstr ""
|
6107 |
|
6108 |
-
#: inc/order/lp-order-functions.php:
|
6109 |
msgid "Cancelled <span class=\"count\">(%s)</span>"
|
6110 |
msgid_plural "Cancelled <span class=\"count\">(%s)</span>"
|
6111 |
msgstr[0] ""
|
6112 |
msgstr[1] ""
|
6113 |
|
6114 |
-
#: inc/order/lp-order-functions.php:
|
6115 |
msgctxt "Order status"
|
6116 |
msgid "Failed"
|
6117 |
msgstr ""
|
6118 |
|
6119 |
-
#: inc/order/lp-order-functions.php:
|
6120 |
msgid "Failed <span class=\"count\">(%s)</span>"
|
6121 |
msgid_plural "Failed <span class=\"count\">(%s)</span>"
|
6122 |
msgstr[0] ""
|
6123 |
msgstr[1] ""
|
6124 |
|
6125 |
-
#: inc/order/lp-order-functions.php:
|
6126 |
msgid "Order received in case a user purchases a course but doesn't finalize the order."
|
6127 |
msgstr ""
|
6128 |
|
6129 |
-
#: inc/order/lp-order-functions.php:
|
6130 |
msgid "Payment received and the order is awaiting fulfillment."
|
6131 |
msgstr ""
|
6132 |
|
6133 |
-
#: inc/order/lp-order-functions.php:
|
6134 |
msgid "The order is fulfilled and completed."
|
6135 |
msgstr ""
|
6136 |
|
6137 |
-
#: inc/order/lp-order-functions.php:
|
6138 |
msgid "The order is cancelled by an admin or the customer."
|
6139 |
msgstr ""
|
6140 |
|
6141 |
-
#: inc/order/lp-order-functions.php:
|
6142 |
msgid "Order number <strong>%s</strong> not found"
|
6143 |
msgstr ""
|
6144 |
|
6145 |
-
#: inc/order/lp-order-functions.php:
|
6146 |
msgid "The order is cancelled by the customer"
|
6147 |
msgstr ""
|
6148 |
|
6149 |
-
#: inc/order/lp-order-functions.php:
|
6150 |
msgid "Order number <strong>%s</strong> has been cancelled"
|
6151 |
msgstr ""
|
6152 |
|
6153 |
-
#: inc/order/lp-order-functions.php:
|
6154 |
msgid "The order number <strong>%s</strong> can not be cancelled."
|
6155 |
msgstr ""
|
6156 |
|
@@ -6178,15 +6176,15 @@ msgstr ""
|
|
6178 |
msgid "Fill In Blanks"
|
6179 |
msgstr ""
|
6180 |
|
6181 |
-
#: inc/question/class-lp-question.php:
|
6182 |
msgid "First option"
|
6183 |
msgstr ""
|
6184 |
|
6185 |
-
#: inc/question/class-lp-question.php:
|
6186 |
msgid "Second option"
|
6187 |
msgstr ""
|
6188 |
|
6189 |
-
#: inc/question/class-lp-question.php:
|
6190 |
msgid "Third option"
|
6191 |
msgstr ""
|
6192 |
|
@@ -6259,111 +6257,119 @@ msgstr ""
|
|
6259 |
msgid "Dismissed!"
|
6260 |
msgstr ""
|
6261 |
|
6262 |
-
#: inc/rest-api/v1/frontend/class-lp-rest-courses-controller.php:
|
6263 |
msgid "Showing only one result"
|
6264 |
msgstr ""
|
6265 |
|
6266 |
-
#: inc/rest-api/v1/frontend/class-lp-rest-courses-controller.php:
|
6267 |
msgid "Showing last course of %s results"
|
6268 |
msgstr ""
|
6269 |
|
6270 |
-
#: inc/rest-api/v1/frontend/class-lp-rest-courses-controller.php:
|
6271 |
msgid "Showing %1$s of %2$s results"
|
6272 |
msgstr ""
|
6273 |
|
6274 |
-
#: inc/rest-api/v1/frontend/class-lp-rest-courses-controller.php:
|
6275 |
msgid "Invalid course!"
|
6276 |
msgstr ""
|
6277 |
|
6278 |
-
#: inc/rest-api/v1/frontend/class-lp-rest-courses-controller.php:
|
6279 |
msgid "Error: Cannot enroll in the course."
|
6280 |
msgstr ""
|
6281 |
|
6282 |
-
#: inc/rest-api/v1/frontend/class-lp-rest-courses-controller.php:
|
6283 |
msgid "Error: Cannot Enroll in the course."
|
6284 |
msgstr ""
|
6285 |
|
6286 |
-
#: inc/rest-api/v1/frontend/class-lp-rest-courses-controller.php:
|
6287 |
msgid "Congrats! You have enrolled in the course successfully. Redirecting..."
|
6288 |
msgstr ""
|
6289 |
|
6290 |
-
#: inc/rest-api/v1/frontend/class-lp-rest-courses-controller.php:
|
6291 |
-
#: inc/rest-api/v1/frontend/class-lp-rest-courses-controller.php:
|
6292 |
msgid "Error: Please set up a page for checkout."
|
6293 |
msgstr ""
|
6294 |
|
6295 |
-
#: inc/rest-api/v1/frontend/class-lp-rest-courses-controller.php:
|
6296 |
msgid "Redirecting..."
|
6297 |
msgstr ""
|
6298 |
|
6299 |
-
#: inc/rest-api/v1/frontend/class-lp-rest-courses-controller.php:
|
6300 |
msgid "Error: Invalid Course ID."
|
6301 |
msgstr ""
|
6302 |
|
6303 |
-
#: inc/rest-api/v1/frontend/class-lp-rest-courses-controller.php:
|
6304 |
msgid "Error: No Course available."
|
6305 |
msgstr ""
|
6306 |
|
6307 |
-
#: inc/rest-api/v1/frontend/class-lp-rest-courses-controller.php:
|
6308 |
msgid "Error: Cannot purchase the course!"
|
6309 |
msgstr ""
|
6310 |
|
6311 |
-
#: inc/rest-api/v1/frontend/class-lp-rest-courses-controller.php:
|
6312 |
msgid "Reset Course progress"
|
6313 |
msgstr ""
|
6314 |
|
6315 |
-
#: inc/rest-api/v1/frontend/class-lp-rest-courses-controller.php:
|
6316 |
msgid "Continue Course progress"
|
6317 |
msgstr ""
|
6318 |
|
6319 |
-
#: inc/rest-api/v1/frontend/class-lp-rest-courses-controller.php:
|
6320 |
msgid "Repurchase Options"
|
6321 |
msgstr ""
|
6322 |
|
6323 |
-
#: inc/rest-api/v1/frontend/class-lp-rest-courses-controller.php:
|
6324 |
msgid "\"%s\" has been added to your cart."
|
6325 |
msgstr ""
|
6326 |
|
6327 |
-
#: inc/rest-api/v1/frontend/class-lp-rest-courses-controller.php:
|
6328 |
msgid "Invalid params"
|
6329 |
msgstr ""
|
6330 |
|
6331 |
-
#: inc/rest-api/v1/frontend/class-lp-rest-courses-controller.php:
|
6332 |
-
#: inc/rest-api/v1/frontend/class-lp-rest-courses-controller.php:
|
6333 |
#: inc/user/abstract-lp-user.php:853
|
6334 |
msgid "Invalid course"
|
6335 |
msgstr ""
|
6336 |
|
6337 |
-
#: inc/rest-api/v1/frontend/class-lp-rest-courses-controller.php:
|
6338 |
msgid "You can't retry the course"
|
6339 |
msgstr ""
|
6340 |
|
6341 |
-
#: inc/rest-api/v1/frontend/class-lp-rest-courses-controller.php:
|
6342 |
msgid "Invalid course data of user"
|
6343 |
msgstr ""
|
6344 |
|
6345 |
-
#: inc/rest-api/v1/frontend/class-lp-rest-courses-controller.php:
|
6346 |
msgid "Now you can learn this course"
|
6347 |
msgstr ""
|
6348 |
|
6349 |
-
#: inc/rest-api/v1/frontend/class-lp-rest-lazy-load-controller.php:
|
6350 |
-
#: inc/rest-api/v1/frontend/class-lp-rest-lazy-load-controller.php:
|
6351 |
-
#: inc/rest-api/v1/frontend/class-lp-rest-lazy-load-controller.php:
|
6352 |
-
#: inc/rest-api/v1/frontend/class-lp-rest-lazy-load-controller.php:
|
6353 |
#: inc/rest-api/v1/frontend/class-lp-rest-users-controller.php:162
|
6354 |
#: inc/widgets/course-progress.php:65
|
6355 |
msgid "The course is invalid!"
|
6356 |
msgstr ""
|
6357 |
|
6358 |
-
#: inc/rest-api/v1/frontend/class-lp-rest-lazy-load-controller.php:
|
6359 |
msgid "The course is not required to enroll!"
|
6360 |
msgstr ""
|
6361 |
|
6362 |
-
#: inc/rest-api/v1/frontend/class-lp-rest-lazy-load-controller.php:
|
|
|
|
|
|
|
|
|
6363 |
msgid "You are a Guest"
|
6364 |
msgstr ""
|
6365 |
|
6366 |
-
#: inc/rest-api/v1/frontend/class-lp-rest-lazy-load-controller.php:
|
|
|
|
|
|
|
|
|
6367 |
msgid "The section is invalid!"
|
6368 |
msgstr ""
|
6369 |
|
@@ -6501,24 +6507,24 @@ msgstr ""
|
|
6501 |
msgid "Not Started"
|
6502 |
msgstr ""
|
6503 |
|
6504 |
-
#: inc/user-item/class-lp-user-item-quiz.php:
|
6505 |
msgid "The question is invalid!"
|
6506 |
msgstr ""
|
6507 |
|
6508 |
-
#: inc/user-item/class-lp-user-item-quiz.php:
|
6509 |
msgid "Cannot check the answer to the question."
|
6510 |
msgstr ""
|
6511 |
|
6512 |
-
#: inc/user-item/class-lp-user-item.php:
|
6513 |
#: templates/profile/tabs/courses.php:33
|
6514 |
msgid "Enrolled"
|
6515 |
msgstr ""
|
6516 |
|
6517 |
-
#: inc/user-item/class-lp-user-item.php:
|
6518 |
msgid "Started"
|
6519 |
msgstr ""
|
6520 |
|
6521 |
-
#: inc/user-item/class-lp-user-item.php:
|
6522 |
msgid "Not Enrolled"
|
6523 |
msgstr ""
|
6524 |
|
@@ -6584,7 +6590,7 @@ msgstr ""
|
|
6584 |
msgid "Not enrolled"
|
6585 |
msgstr ""
|
6586 |
|
6587 |
-
#: inc/user/class-lp-profile.php:
|
6588 |
msgid "User Avatar"
|
6589 |
msgstr ""
|
6590 |
|
@@ -6700,63 +6706,63 @@ msgstr ""
|
|
6700 |
msgid "%1$s::%2$s - Your quiz can't be retaken."
|
6701 |
msgstr ""
|
6702 |
|
6703 |
-
#: inc/user/lp-user-functions.php:
|
6704 |
msgid "Want to become an instructor?"
|
6705 |
msgstr ""
|
6706 |
|
6707 |
-
#: inc/user/lp-user-functions.php:
|
6708 |
msgid "Please log in to enroll in this course"
|
6709 |
msgstr ""
|
6710 |
|
6711 |
-
#: inc/user/lp-user-functions.php:
|
6712 |
msgid "You have already finished the course"
|
6713 |
msgstr ""
|
6714 |
|
6715 |
-
#: inc/user/lp-user-functions.php:
|
6716 |
msgid "You have already enrolled in this course"
|
6717 |
msgstr ""
|
6718 |
|
6719 |
-
#: inc/user/lp-user-functions.php:
|
6720 |
msgid "The old password is incorrect!"
|
6721 |
msgstr ""
|
6722 |
|
6723 |
-
#: inc/user/lp-user-functions.php:
|
6724 |
msgid "Incorrect confirmation password!"
|
6725 |
msgstr ""
|
6726 |
|
6727 |
-
#: inc/user/lp-user-functions.php:
|
6728 |
msgid "Invalid item id."
|
6729 |
msgstr ""
|
6730 |
|
6731 |
-
#: inc/user/lp-user-functions.php:
|
6732 |
msgid "Invalid item data."
|
6733 |
msgstr ""
|
6734 |
|
6735 |
-
#: inc/user/lp-user-functions.php:
|
6736 |
msgid "Invalid Course ID."
|
6737 |
msgstr ""
|
6738 |
|
6739 |
-
#: inc/user/lp-user-functions.php:
|
6740 |
msgid "Invalid Quiz"
|
6741 |
msgstr ""
|
6742 |
|
6743 |
-
#: inc/user/lp-user-functions.php:
|
6744 |
msgid "Facebook Profile"
|
6745 |
msgstr ""
|
6746 |
|
6747 |
-
#: inc/user/lp-user-functions.php:
|
6748 |
msgid "Twitter Profile"
|
6749 |
msgstr ""
|
6750 |
|
6751 |
-
#: inc/user/lp-user-functions.php:
|
6752 |
msgid "Google Profile"
|
6753 |
msgstr ""
|
6754 |
|
6755 |
-
#: inc/user/lp-user-functions.php:
|
6756 |
msgid "Youtube Channel"
|
6757 |
msgstr ""
|
6758 |
|
6759 |
-
#: inc/user/lp-user-functions.php:
|
6760 |
msgid "Linkedin Profile"
|
6761 |
msgstr ""
|
6762 |
|
@@ -6912,7 +6918,7 @@ msgstr ""
|
|
6912 |
msgid "Recent Courses"
|
6913 |
msgstr ""
|
6914 |
|
6915 |
-
#: learnpress.php:
|
6916 |
msgid "Documentation"
|
6917 |
msgstr ""
|
6918 |
|
@@ -7039,11 +7045,11 @@ msgctxt "payment method"
|
|
7039 |
msgid "Secure Connection"
|
7040 |
msgstr ""
|
7041 |
|
7042 |
-
#: templates/checkout/review-order.php:
|
7043 |
msgid "Your order"
|
7044 |
msgstr ""
|
7045 |
|
7046 |
-
#: templates/checkout/review-order.php:
|
7047 |
#: templates/order/order-details.php:106
|
7048 |
msgid "Subtotal"
|
7049 |
msgstr ""
|
@@ -7213,7 +7219,7 @@ msgid "View more"
|
|
7213 |
msgstr ""
|
7214 |
|
7215 |
#: templates/profile/tabs/courses/course-list.php:23
|
7216 |
-
#: templates/profile/tabs/quizzes.php:
|
7217 |
#: assets/js/dist/frontend/quiz.min.js:25
|
7218 |
#: assets/js/dist/frontend/quiz.min.js:299
|
7219 |
msgid "Result"
|
@@ -7259,11 +7265,11 @@ msgstr ""
|
|
7259 |
msgid "Total Students"
|
7260 |
msgstr ""
|
7261 |
|
7262 |
-
#: templates/profile/tabs/orders/list.php:
|
7263 |
msgid "No orders!"
|
7264 |
msgstr ""
|
7265 |
|
7266 |
-
#: templates/profile/tabs/orders/list.php:
|
7267 |
msgid "My Orders"
|
7268 |
msgstr ""
|
7269 |
|
@@ -7283,13 +7289,13 @@ msgstr ""
|
|
7283 |
msgid "When you checkout as a Guest, an order key will be sent to your email. You can use the order key to create an order."
|
7284 |
msgstr ""
|
7285 |
|
7286 |
-
#: templates/profile/tabs/quizzes.php:
|
7287 |
#: assets/js/dist/frontend/quiz.min.js:22
|
7288 |
#: assets/js/dist/frontend/quiz.min.js:194
|
7289 |
msgid "Time spent"
|
7290 |
msgstr ""
|
7291 |
|
7292 |
-
#: templates/profile/tabs/quizzes.php:
|
7293 |
msgid "No quizzes!"
|
7294 |
msgstr ""
|
7295 |
|
@@ -7419,20 +7425,20 @@ msgstr ""
|
|
7419 |
msgid "Passing condition: %s%%"
|
7420 |
msgstr ""
|
7421 |
|
7422 |
-
#: templates/single-course/sidebar/user-time.php:
|
7423 |
msgid "You started on:"
|
7424 |
msgstr ""
|
7425 |
|
7426 |
-
#: templates/single-course/sidebar/user-time.php:
|
7427 |
msgid "Course will end:"
|
7428 |
msgstr ""
|
7429 |
|
7430 |
-
#: templates/single-course/sidebar/user-time.php:
|
7431 |
#: assets/js/dist/frontend/quiz.min.js:20
|
7432 |
msgid "Duration:"
|
7433 |
msgstr ""
|
7434 |
|
7435 |
-
#: templates/single-course/sidebar/user-time.php:
|
7436 |
msgid "You finished on:"
|
7437 |
msgstr ""
|
7438 |
|
2 |
# This file is distributed under the same license as the LearnPress plugin.
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
+
"Project-Id-Version: LearnPress 4.2.0-beta-1\n"
|
6 |
+
"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/lp-doing\n"
|
7 |
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
8 |
"Language-Team: LANGUAGE <LL@li.org>\n"
|
9 |
"MIME-Version: 1.0\n"
|
10 |
"Content-Type: text/plain; charset=UTF-8\n"
|
11 |
"Content-Transfer-Encoding: 8bit\n"
|
12 |
+
"POT-Creation-Date: 2022-11-25T07:36:42+03:00\n"
|
13 |
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
14 |
"X-Generator: WP-CLI 2.6.0\n"
|
15 |
"X-Domain: learnpress\n"
|
270 |
#: inc/admin/settings/class-lp-settings-advanced.php:72
|
271 |
#: inc/course/lp-course-functions.php:450
|
272 |
#: inc/custom-post-types/lesson.php:158
|
273 |
+
#: inc/lp-template-functions.php:1054
|
274 |
msgid "Lesson"
|
275 |
msgstr ""
|
276 |
|
279 |
#: inc/course/lp-course-functions.php:451
|
280 |
#: inc/custom-post-types/question.php:320
|
281 |
#: inc/custom-post-types/quiz.php:87
|
282 |
+
#: inc/lp-template-functions.php:1044
|
283 |
+
#: templates/profile/tabs/quizzes.php:53
|
284 |
msgid "Quiz"
|
285 |
msgstr ""
|
286 |
|
297 |
msgid "No settings available."
|
298 |
msgstr ""
|
299 |
|
300 |
+
#: inc/abstracts/abstract-addon.php:273
|
301 |
msgid "<strong>%1$s</strong> add-on version %2$s requires <strong>LearnPress</strong> version %3$s or higher %4$s"
|
302 |
msgstr ""
|
303 |
|
304 |
+
#: inc/abstracts/abstract-addon.php:360
|
305 |
msgid "%s plugin file does not exist."
|
306 |
msgstr ""
|
307 |
|
308 |
+
#: inc/abstracts/abstract-addon.php:379
|
309 |
msgid "%s plugin class does not exist."
|
310 |
msgstr ""
|
311 |
|
312 |
+
#: inc/abstracts/abstract-object-data.php:346
|
313 |
msgid "The following functions %1$s do not exist in %2$s"
|
314 |
msgstr ""
|
315 |
|
382 |
msgid "LearnPress status"
|
383 |
msgstr ""
|
384 |
|
385 |
+
#: inc/admin/class-lp-admin-dashboard.php:79
|
386 |
#: inc/admin/views/addons/html-loop-theme.php:32
|
387 |
msgid " sales"
|
388 |
msgstr ""
|
389 |
|
390 |
+
#: inc/admin/class-lp-admin-dashboard.php:86
|
391 |
#: inc/admin/dashboard-statistics/class-lp-statistic-status.php:70
|
392 |
msgid "Created by: "
|
393 |
msgstr ""
|
439 |
#: inc/admin/class-lp-admin.php:244
|
440 |
#: inc/admin/views/meta-boxes/fields/date.php:39
|
441 |
#: inc/class-lp-assets.php:73
|
442 |
+
#: inc/lp-core-functions.php:2791
|
443 |
+
#: inc/order/class-lp-order.php:961
|
444 |
#: assets/js/dist/frontend/quiz.min.js:44
|
445 |
msgid "Cancel"
|
446 |
msgstr ""
|
455 |
msgstr ""
|
456 |
|
457 |
#: inc/admin/class-lp-admin.php:247
|
458 |
+
#: inc/admin/views/meta-boxes/order/content-tab-preview-exports-invoice.php:26
|
459 |
msgid "Invoice"
|
460 |
msgstr ""
|
461 |
|
488 |
#: inc/class-lp-page-controller.php:247
|
489 |
#: inc/custom-post-types/course.php:105
|
490 |
#: inc/custom-post-types/course.php:107
|
491 |
+
#: inc/lp-template-functions.php:313
|
492 |
#: inc/settings/class-lp-settings-courses.php:16
|
493 |
#: inc/user/class-lp-profile.php:248
|
494 |
#: inc/user/class-lp-profile.php:600
|
577 |
#: inc/custom-post-types/abstract.php:938
|
578 |
#: inc/custom-post-types/abstract.php:948
|
579 |
#: inc/custom-post-types/question.php:366
|
580 |
+
#: inc/order/class-lp-order.php:953
|
581 |
msgid "View"
|
582 |
msgstr ""
|
583 |
|
718 |
msgstr ""
|
719 |
|
720 |
#: inc/admin/class-lp-plugin-install-list-table.php:483
|
721 |
+
#: inc/class-lp-datetime.php:212
|
722 |
#: inc/custom-post-types/order.php:762
|
723 |
#: inc/order/class-lp-order.php:148
|
|
|
724 |
msgid "%s ago"
|
725 |
msgstr ""
|
726 |
|
1042 |
|
1043 |
#: inc/admin/lp-admin-functions.php:1359
|
1044 |
#: inc/user-item/class-lp-user-item-quiz.php:146
|
1045 |
+
#: inc/user-item/class-lp-user-item.php:766
|
1046 |
#: templates/content-lesson/button-complete.php:37
|
1047 |
msgid "Completed"
|
1048 |
msgstr ""
|
1151 |
msgstr ""
|
1152 |
|
1153 |
#: inc/admin/meta-box/fields/list-emails.php:7
|
1154 |
+
#: inc/admin/views/meta-boxes/order/content-tab-preview-exports-invoice.php:43
|
1155 |
#: inc/admin/views/meta-boxes/order/exports-invoice.php:80
|
1156 |
+
#: inc/class-lp-checkout.php:312
|
1157 |
+
#: inc/class-lp-checkout.php:320
|
1158 |
+
#: inc/lp-deprecated.php:2250
|
1159 |
#: templates/checkout/account-register.php:25
|
1160 |
#: templates/global/become-teacher-form.php:39
|
1161 |
#: templates/global/form-register.php:29
|
1336 |
msgstr ""
|
1337 |
|
1338 |
#: inc/admin/settings/class-lp-settings-profile.php:89
|
1339 |
+
#: inc/user/lp-user-functions.php:1815
|
1340 |
+
#: inc/user/lp-user-functions.php:1817
|
1341 |
#: templates/profile/tabs/settings/basic-information.php:33
|
1342 |
msgid "First name"
|
1343 |
msgstr ""
|
1344 |
|
1345 |
#: inc/admin/settings/class-lp-settings-profile.php:96
|
1346 |
+
#: inc/user/lp-user-functions.php:1828
|
1347 |
+
#: inc/user/lp-user-functions.php:1830
|
1348 |
#: templates/profile/tabs/settings/basic-information.php:39
|
1349 |
msgid "Last name"
|
1350 |
msgstr ""
|
1351 |
|
1352 |
#: inc/admin/settings/class-lp-settings-profile.php:103
|
1353 |
#: inc/admin/settings/class-lp-settings-profile.php:115
|
1354 |
+
#: inc/user/lp-user-functions.php:1841
|
1355 |
+
#: inc/user/lp-user-functions.php:1843
|
1356 |
#: templates/profile/tabs/settings/basic-information.php:45
|
1357 |
msgid "Display name"
|
1358 |
msgstr ""
|
1363 |
|
1364 |
#: inc/admin/settings/class-lp-settings-profile.php:112
|
1365 |
#: inc/admin/views/quiz/editor.php:47
|
1366 |
+
#: inc/lp-deprecated.php:2242
|
1367 |
#: templates/global/become-teacher-form.php:35
|
1368 |
#: templates/profile/tabs/courses/course-list.php:22
|
1369 |
msgid "Name"
|
1429 |
msgstr ""
|
1430 |
|
1431 |
#: inc/admin/settings/class-lp-settings-profile.php:174
|
1432 |
+
#: inc/admin/views/meta-boxes/order/content-tab-preview-exports-invoice.php:64
|
1433 |
#: inc/admin/views/meta-boxes/order/details.php:40
|
1434 |
#: inc/user/class-lp-profile.php:269
|
1435 |
msgid "Order details"
|
1438 |
#: inc/admin/settings/class-lp-settings-profile.php:188
|
1439 |
#: inc/admin/sub-menus/class-lp-submenu-settings.php:18
|
1440 |
#: inc/user/class-lp-profile.php:276
|
1441 |
+
#: learnpress.php:484
|
1442 |
msgid "Settings"
|
1443 |
msgstr ""
|
1444 |
|
1497 |
msgstr ""
|
1498 |
|
1499 |
#: inc/admin/sub-menus/class-lp-submenu-addons.php:14
|
1500 |
+
#: learnpress.php:486
|
1501 |
msgid "Add-ons"
|
1502 |
msgstr ""
|
1503 |
|
1986 |
#: inc/admin/views/setup/setup-stripe.php:7
|
1987 |
#: inc/external-plugin/elementor/widgets/become-a-teacher.php:33
|
1988 |
#: inc/external-plugin/elementor/widgets/widget-base.php:29
|
1989 |
+
#: inc/gateways/offline-payment/class-lp-gateway-offline-payment.php:118
|
1990 |
#: inc/widgets/course-extra.php:25
|
1991 |
#: inc/widgets/course-info.php:32
|
1992 |
#: inc/widgets/course-progress.php:29
|
2028 |
#: inc/custom-post-types/abstract.php:960
|
2029 |
#: inc/custom-post-types/lesson.php:130
|
2030 |
#: inc/custom-post-types/lesson.php:230
|
2031 |
+
#: inc/lp-template-functions.php:1057
|
2032 |
#: templates/loop/single-course/loop-section-item.php:32
|
2033 |
#: templates/single-course/section/item-meta.php:32
|
2034 |
msgid "Preview"
|
2054 |
msgid "Move to Trash"
|
2055 |
msgstr ""
|
2056 |
|
2057 |
+
#: inc/admin/views/meta-boxes/order/content-tab-preview-exports-invoice.php:34
|
2058 |
#: inc/admin/views/meta-boxes/order/exports-invoice.php:74
|
2059 |
msgid "Order Date"
|
2060 |
msgstr ""
|
2061 |
|
2062 |
+
#: inc/admin/views/meta-boxes/order/content-tab-preview-exports-invoice.php:37
|
2063 |
#: inc/admin/views/meta-boxes/order/exports-invoice.php:76
|
2064 |
msgid "Invoice No."
|
2065 |
msgstr ""
|
2066 |
|
2067 |
+
#: inc/admin/views/meta-boxes/order/content-tab-preview-exports-invoice.php:40
|
2068 |
#: inc/admin/views/meta-boxes/order/details.php:228
|
2069 |
#: inc/admin/views/meta-boxes/order/details.php:237
|
2070 |
#: inc/admin/views/meta-boxes/order/exports-invoice.php:78
|
2071 |
msgid "Customer"
|
2072 |
msgstr ""
|
2073 |
|
2074 |
+
#: inc/admin/views/meta-boxes/order/content-tab-preview-exports-invoice.php:75
|
2075 |
#: inc/admin/views/meta-boxes/order/details.php:155
|
2076 |
#: inc/custom-post-types/course.php:77
|
2077 |
#: templates/checkout/order-received.php:60
|
2078 |
msgid "Item"
|
2079 |
msgstr ""
|
2080 |
|
2081 |
+
#: inc/admin/views/meta-boxes/order/content-tab-preview-exports-invoice.php:76
|
2082 |
#: inc/admin/views/meta-boxes/order/details.php:156
|
2083 |
msgid "Cost"
|
2084 |
msgstr ""
|
2085 |
|
2086 |
+
#: inc/admin/views/meta-boxes/order/content-tab-preview-exports-invoice.php:77
|
2087 |
#: inc/admin/views/meta-boxes/order/details.php:157
|
2088 |
#: templates/emails/order-items-table.php:86
|
2089 |
msgid "Quantity"
|
2090 |
msgstr ""
|
2091 |
|
2092 |
+
#: inc/admin/views/meta-boxes/order/content-tab-preview-exports-invoice.php:78
|
2093 |
msgid "Amount"
|
2094 |
msgstr ""
|
2095 |
|
2096 |
+
#: inc/admin/views/meta-boxes/order/content-tab-preview-exports-invoice.php:105
|
2097 |
msgid "Sub Total"
|
2098 |
msgstr ""
|
2099 |
|
2100 |
+
#: inc/admin/views/meta-boxes/order/content-tab-preview-exports-invoice.php:111
|
2101 |
#: inc/admin/views/meta-boxes/order/details.php:158
|
2102 |
#: inc/custom-post-types/order.php:670
|
2103 |
#: templates/checkout/order-received.php:107
|
2104 |
+
#: templates/checkout/review-order.php:106
|
2105 |
#: templates/emails/order-items-table.php:118
|
2106 |
#: templates/emails/plain/order-items-table.php:88
|
2107 |
#: templates/order/order-details.php:26
|
2108 |
#: templates/order/order-details.php:110
|
2109 |
+
#: templates/profile/tabs/orders/list.php:29
|
2110 |
msgid "Total"
|
2111 |
msgstr ""
|
2112 |
|
2404 |
msgstr ""
|
2405 |
|
2406 |
#: inc/admin/views/quiz/editor.php:49
|
2407 |
+
#: templates/profile/tabs/orders/list.php:32
|
2408 |
msgid "Actions"
|
2409 |
msgstr ""
|
2410 |
|
2479 |
msgstr ""
|
2480 |
|
2481 |
#: inc/admin/views/setup/setup-stripe.php:3
|
2482 |
+
#: inc/gateways/offline-payment/class-lp-gateway-offline-payment.php:105
|
2483 |
msgid "Enable"
|
2484 |
msgstr ""
|
2485 |
|
2644 |
#: inc/admin/views/statistics/orders.php:47
|
2645 |
#: inc/custom-post-types/order.php:669
|
2646 |
#: templates/checkout/order-received.php:94
|
2647 |
+
#: templates/profile/tabs/orders/list.php:31
|
2648 |
+
#: templates/profile/tabs/quizzes.php:56
|
2649 |
msgid "Date"
|
2650 |
msgstr ""
|
2651 |
|
2745 |
msgid "No theme is defined for this template."
|
2746 |
msgstr ""
|
2747 |
|
2748 |
+
#: inc/cart/class-lp-cart.php:165
|
|
|
|
|
|
|
|
|
2749 |
msgid "Sorry! This course is not purchasable."
|
2750 |
msgstr ""
|
2751 |
|
2752 |
+
#: inc/cart/class-lp-cart.php:169
|
2753 |
msgid "Sorry! The number of enrolled students has reached its limit"
|
2754 |
msgstr ""
|
2755 |
|
|
|
|
|
|
|
|
|
2756 |
#: inc/class-lp-ajax.php:85
|
2757 |
msgid "The order %s has been successfully recovered."
|
2758 |
msgstr ""
|
2798 |
msgstr ""
|
2799 |
|
2800 |
#: inc/class-lp-assets.php:72
|
2801 |
+
#: inc/lp-core-functions.php:2790
|
2802 |
#: assets/js/dist/frontend/quiz.min.js:41
|
2803 |
msgid "OK"
|
2804 |
msgstr ""
|
2805 |
|
2806 |
#: inc/class-lp-assets.php:74
|
2807 |
+
#: inc/lp-core-functions.php:2792
|
2808 |
#: templates/global/lp-modal-overlay.php:24
|
2809 |
msgid "Yes"
|
2810 |
msgstr ""
|
2811 |
|
2812 |
#: inc/class-lp-assets.php:75
|
2813 |
+
#: inc/lp-core-functions.php:2793
|
2814 |
#: templates/global/lp-modal-overlay.php:23
|
2815 |
msgid "No"
|
2816 |
msgstr ""
|
2828 |
msgstr ""
|
2829 |
|
2830 |
#: inc/class-lp-assets.php:88
|
2831 |
+
#: inc/class-lp-checkout.php:621
|
2832 |
msgid "Invalid field"
|
2833 |
msgstr ""
|
2834 |
|
2865 |
msgid "Page %d"
|
2866 |
msgstr ""
|
2867 |
|
2868 |
+
#: inc/class-lp-checkout.php:309
|
2869 |
msgid "Your session has expired."
|
2870 |
msgstr ""
|
2871 |
|
2872 |
+
#: inc/class-lp-checkout.php:313
|
2873 |
+
#: inc/class-lp-checkout.php:317
|
2874 |
#: templates/checkout/account-register.php:28
|
2875 |
#: templates/checkout/account-register.php:29
|
2876 |
#: templates/global/form-register.php:32
|
2878 |
msgid "Username"
|
2879 |
msgstr ""
|
2880 |
|
2881 |
+
#: inc/class-lp-checkout.php:314
|
2882 |
+
#: inc/class-lp-checkout.php:318
|
2883 |
#: inc/jwt/rest-api/version1/class-lp-rest-users-v1-controller.php:121
|
2884 |
#: inc/user/class-lp-profile.php:288
|
2885 |
#: templates/checkout/account-login.php:30
|
2895 |
msgid "Password"
|
2896 |
msgstr ""
|
2897 |
|
2898 |
+
#: inc/class-lp-checkout.php:315
|
2899 |
#: templates/checkout/account-register.php:36
|
2900 |
#: templates/global/form-register.php:40
|
2901 |
msgid "Confirm Password"
|
2902 |
msgstr ""
|
2903 |
|
2904 |
+
#: inc/class-lp-checkout.php:397
|
2905 |
+
msgid "New account email is existed"
|
2906 |
+
msgstr ""
|
2907 |
+
|
2908 |
+
#: inc/class-lp-checkout.php:407
|
2909 |
+
msgid "Create account failed"
|
2910 |
+
msgstr ""
|
2911 |
+
|
2912 |
+
#: inc/class-lp-checkout.php:442
|
2913 |
msgid "Error %d: Unable to create order. Please try again."
|
2914 |
msgstr ""
|
2915 |
|
2916 |
+
#: inc/class-lp-checkout.php:455
|
2917 |
msgid "Unable to checkout. Order creation failed."
|
2918 |
msgstr ""
|
2919 |
|
2920 |
+
#: inc/class-lp-checkout.php:510
|
2921 |
+
#: inc/class-lp-checkout.php:518
|
2922 |
+
#: inc/class-lp-checkout.php:526
|
2923 |
+
#: inc/class-lp-checkout.php:530
|
2924 |
+
#: inc/class-lp-checkout.php:540
|
2925 |
+
#: inc/class-lp-checkout.php:548
|
2926 |
+
#: inc/class-lp-checkout.php:556
|
2927 |
msgid "%s is required field."
|
2928 |
msgstr ""
|
2929 |
|
2930 |
+
#: inc/class-lp-checkout.php:512
|
2931 |
+
#: inc/class-lp-checkout.php:520
|
2932 |
msgid "%s is exists."
|
2933 |
msgstr ""
|
2934 |
|
2935 |
+
#: inc/class-lp-checkout.php:514
|
2936 |
msgid "%s is not a valid username."
|
2937 |
msgstr ""
|
2938 |
|
2939 |
+
#: inc/class-lp-checkout.php:522
|
2940 |
msgid "%s is not a valid email."
|
2941 |
msgstr ""
|
2942 |
|
2943 |
+
#: inc/class-lp-checkout.php:544
|
2944 |
msgid "%s is not exist."
|
2945 |
msgstr ""
|
2946 |
|
2947 |
+
#: inc/class-lp-checkout.php:558
|
2948 |
msgid "Your email is not valid."
|
2949 |
msgstr ""
|
2950 |
|
2951 |
+
#: inc/class-lp-checkout.php:647
|
2952 |
msgid "No payment method is selected"
|
2953 |
msgstr ""
|
2954 |
|
2955 |
+
#: inc/class-lp-checkout.php:678
|
2956 |
+
#: templates/checkout/empty-cart.php:16
|
2957 |
msgid "Your cart is currently empty."
|
2958 |
msgstr ""
|
2959 |
|
2960 |
+
#: inc/class-lp-checkout.php:687
|
2961 |
msgid "Type item buy invalid!"
|
2962 |
msgstr ""
|
2963 |
|
3072 |
msgstr ""
|
3073 |
|
3074 |
#: inc/class-lp-page-controller.php:245
|
3075 |
+
#: inc/lp-template-functions.php:311
|
3076 |
msgid "Course Search Results"
|
3077 |
msgstr ""
|
3078 |
|
3079 |
+
#: inc/class-lp-page-controller.php:319
|
3080 |
msgid "No payment method is available."
|
3081 |
msgstr ""
|
3082 |
|
3083 |
+
#: inc/class-lp-query-list-table.php:32
|
3084 |
#: inc/custom-post-types/course.php:71
|
3085 |
msgid "item"
|
3086 |
msgstr ""
|
3087 |
|
3088 |
+
#: inc/class-lp-query-list-table.php:33
|
3089 |
msgid "items"
|
3090 |
msgstr ""
|
3091 |
|
3092 |
+
#: inc/class-lp-query-list-table.php:150
|
3093 |
msgid "Displaying {{from}} to {{to}} of {{total}} {{item_name}}."
|
3094 |
msgstr ""
|
3095 |
|
3096 |
+
#: inc/class-lp-query-list-table.php:152
|
3097 |
msgid "Displaying {{from}} to {{to}} of {{total}}."
|
3098 |
msgstr ""
|
3099 |
|
3141 |
#: inc/course/abstract-course.php:769
|
3142 |
#: inc/course/abstract-course.php:789
|
3143 |
#: inc/lesson/class-lp-lesson.php:104
|
3144 |
+
#: inc/quiz/class-lp-quiz.php:636
|
3145 |
msgid "The function %s doesn't exist"
|
3146 |
msgstr ""
|
3147 |
|
3183 |
msgstr ""
|
3184 |
|
3185 |
#: inc/course/lp-course-functions.php:943
|
3186 |
+
#: inc/lp-core-functions.php:2425
|
3187 |
#: inc/templates/class-lp-template-profile.php:103
|
3188 |
#: inc/user-item/class-lp-user-item-quiz.php:147
|
3189 |
#: inc/user/class-lp-profile.php:877
|
3193 |
msgstr ""
|
3194 |
|
3195 |
#: inc/course/lp-course-functions.php:946
|
3196 |
+
#: inc/lp-core-functions.php:2428
|
3197 |
#: inc/templates/class-lp-template-profile.php:104
|
3198 |
#: inc/user-item/class-lp-user-item-quiz.php:148
|
3199 |
#: inc/user/class-lp-profile.php:878
|
3203 |
msgstr ""
|
3204 |
|
3205 |
#: inc/course/lp-course-functions.php:949
|
3206 |
+
#: inc/lp-core-functions.php:2431
|
3207 |
#: inc/lp-deprecated.php:385
|
3208 |
#: inc/templates/class-lp-template-profile.php:101
|
3209 |
#: inc/user-item/class-lp-user-item-quiz.php:144
|
3211 |
msgid "In Progress"
|
3212 |
msgstr ""
|
3213 |
|
3214 |
+
#: inc/course/lp-course-functions.php:1026
|
3215 |
msgid "completed lessons per the total number of lessons."
|
3216 |
msgstr ""
|
3217 |
|
3218 |
+
#: inc/course/lp-course-functions.php:1029
|
3219 |
msgid "passed quizzes per the total number of quizzes."
|
3220 |
msgstr ""
|
3221 |
|
3222 |
+
#: inc/course/lp-course-functions.php:1032
|
3223 |
msgid "Final Quiz"
|
3224 |
msgstr ""
|
3225 |
|
3226 |
+
#: inc/course/lp-course-functions.php:1035
|
3227 |
msgid "correct answers per the total number of questions."
|
3228 |
msgstr ""
|
3229 |
|
3230 |
+
#: inc/course/lp-course-functions.php:1038
|
3231 |
msgid "score achieved per the total score of the questions."
|
3232 |
msgstr ""
|
3233 |
|
3234 |
+
#: inc/course/lp-course-functions.php:1047
|
3235 |
msgid "Require"
|
3236 |
msgstr ""
|
3237 |
|
3251 |
msgid "Invalid order with ID \"%d\"."
|
3252 |
msgstr ""
|
3253 |
|
3254 |
+
#: inc/curds/class-lp-order-curd.php:499
|
3255 |
#: templates/checkout/order-received.php:25
|
3256 |
msgid "Invalid order."
|
3257 |
msgstr ""
|
3258 |
|
3259 |
+
#: inc/curds/class-lp-order-curd.php:503
|
3260 |
msgid "Order is already assigned."
|
3261 |
msgstr ""
|
3262 |
|
3263 |
+
#: inc/curds/class-lp-order-curd.php:509
|
3264 |
msgid "Invalid User!"
|
3265 |
msgstr ""
|
3266 |
|
3267 |
+
#: inc/curds/class-lp-order-curd.php:513
|
3268 |
msgid "Invalid order key with Email!"
|
3269 |
msgstr ""
|
3270 |
|
3653 |
|
3654 |
#: inc/custom-post-types/order.php:666
|
3655 |
#: inc/custom-post-types/order.php:825
|
3656 |
+
#: templates/profile/tabs/orders/list.php:28
|
3657 |
msgid "Order"
|
3658 |
msgstr ""
|
3659 |
|
3663 |
|
3664 |
#: inc/custom-post-types/order.php:668
|
3665 |
#: inc/lp-deprecated.php:354
|
3666 |
+
#: inc/user-item/class-lp-user-item.php:765
|
3667 |
msgid "Purchased"
|
3668 |
msgstr ""
|
3669 |
|
3671 |
#: inc/jwt/rest-api/version1/class-lp-rest-courses-v1-controller.php:1331
|
3672 |
#: templates/emails/order-items-table.php:72
|
3673 |
#: templates/emails/plain/order-items-table.php:58
|
3674 |
+
#: templates/profile/tabs/orders/list.php:30
|
3675 |
msgid "Status"
|
3676 |
msgstr ""
|
3677 |
|
3678 |
#: inc/custom-post-types/order.php:721
|
3679 |
+
#: inc/order/class-lp-order.php:457
|
3680 |
msgid "(Guest)"
|
3681 |
msgstr ""
|
3682 |
|
4310 |
msgstr ""
|
4311 |
|
4312 |
#: inc/external-plugin/elementor/widgets/widget-base.php:419
|
4313 |
+
#: inc/lp-deprecated.php:2264
|
4314 |
#: templates/global/become-teacher-form.php:47
|
4315 |
msgid "Message"
|
4316 |
msgstr ""
|
4327 |
msgid "Make a payment with cash."
|
4328 |
msgstr ""
|
4329 |
|
4330 |
+
#: inc/gateways/offline-payment/class-lp-gateway-offline-payment.php:111
|
4331 |
msgid "Testing Mode"
|
4332 |
msgstr ""
|
4333 |
|
4334 |
+
#: inc/gateways/offline-payment/class-lp-gateway-offline-payment.php:124
|
4335 |
msgid "Instruction"
|
4336 |
msgstr ""
|
4337 |
|
4338 |
+
#: inc/gateways/offline-payment/class-lp-gateway-offline-payment.php:167
|
4339 |
msgid "Payment can be made upon delivery."
|
4340 |
msgstr ""
|
4341 |
|
4484 |
msgstr ""
|
4485 |
|
4486 |
#: inc/jwt/rest-api/version1/class-lp-rest-courses-v1-controller.php:347
|
4487 |
+
#: inc/rest-api/v1/frontend/class-lp-rest-courses-controller.php:339
|
4488 |
+
#: inc/rest-api/v1/frontend/class-lp-rest-courses-controller.php:484
|
4489 |
msgid "Error: The course cannot be added to the cart."
|
4490 |
msgstr ""
|
4491 |
|
4518 |
#: inc/jwt/rest-api/version1/class-lp-rest-courses-v1-controller.php:577
|
4519 |
#: inc/jwt/rest-api/version1/class-lp-rest-lessons-v1-controller.php:296
|
4520 |
#: inc/jwt/rest-api/version1/class-lp-rest-quiz-v1-controller.php:372
|
4521 |
+
#: templates/single-course/sidebar/user-time.php:42
|
4522 |
msgid "Lifetime"
|
4523 |
msgstr ""
|
4524 |
|
5788 |
msgstr ""
|
5789 |
|
5790 |
#: inc/lp-core-functions.php:1403
|
5791 |
+
#: inc/lp-template-functions.php:1596
|
5792 |
msgid "%s week"
|
5793 |
msgid_plural "%s weeks"
|
5794 |
msgstr[0] ""
|
5795 |
msgstr[1] ""
|
5796 |
|
5797 |
#: inc/lp-core-functions.php:1407
|
5798 |
+
#: inc/lp-template-functions.php:1592
|
5799 |
msgid "%s day"
|
5800 |
msgid_plural "%s days"
|
5801 |
msgstr[0] ""
|
5802 |
msgstr[1] ""
|
5803 |
|
5804 |
#: inc/lp-core-functions.php:1412
|
5805 |
+
#: inc/lp-template-functions.php:1587
|
5806 |
msgid "%s hour"
|
5807 |
msgid_plural "%s hours"
|
5808 |
msgstr[0] ""
|
5809 |
msgstr[1] ""
|
5810 |
|
5811 |
#: inc/lp-core-functions.php:1416
|
5812 |
+
#: inc/lp-template-functions.php:1581
|
5813 |
msgid "%s minute"
|
5814 |
msgid_plural "%s minutes"
|
5815 |
msgstr[0] ""
|
5816 |
msgstr[1] ""
|
5817 |
|
5818 |
+
#: inc/lp-core-functions.php:2225
|
5819 |
msgid "Cart"
|
5820 |
msgstr ""
|
5821 |
|
5822 |
+
#: inc/lp-core-functions.php:2229
|
5823 |
msgid "Enable cart"
|
5824 |
msgstr ""
|
5825 |
|
5826 |
+
#: inc/lp-core-functions.php:2230
|
5827 |
msgid "Check this option to enable users to purchase multiple courses at one time."
|
5828 |
msgstr ""
|
5829 |
|
5830 |
+
#: inc/lp-core-functions.php:2239
|
5831 |
msgid "Add to cart redirect"
|
5832 |
msgstr ""
|
5833 |
|
5834 |
+
#: inc/lp-core-functions.php:2240
|
5835 |
msgid "Redirect to checkout immediately after adding the course to the cart."
|
5836 |
msgstr ""
|
5837 |
|
5838 |
+
#: inc/lp-core-functions.php:2246
|
5839 |
msgid "AJAX add to cart"
|
5840 |
msgstr ""
|
5841 |
|
5842 |
+
#: inc/lp-core-functions.php:2247
|
5843 |
msgid "Using AJAX to add the course to the cart."
|
5844 |
msgstr ""
|
5845 |
|
5846 |
+
#: inc/lp-core-functions.php:2253
|
5847 |
msgid "Cart page"
|
5848 |
msgstr ""
|
5849 |
|
5850 |
+
#: inc/lp-core-functions.php:2603
|
5851 |
msgctxt "static-page-name"
|
5852 |
msgid "Checkout"
|
5853 |
msgstr ""
|
5854 |
|
5855 |
+
#: inc/lp-core-functions.php:2604
|
5856 |
msgctxt "static-page-name"
|
5857 |
msgid "Courses"
|
5858 |
msgstr ""
|
5859 |
|
5860 |
+
#: inc/lp-core-functions.php:2605
|
5861 |
msgctxt "static-page-name"
|
5862 |
msgid "Profile"
|
5863 |
msgstr ""
|
5864 |
|
5865 |
+
#: inc/lp-core-functions.php:2606
|
5866 |
msgctxt "static-page-name"
|
5867 |
msgid "Become a Teacher"
|
5868 |
msgstr ""
|
5869 |
|
5870 |
+
#: inc/lp-core-functions.php:2996
|
5871 |
msgid "Loading..."
|
5872 |
msgstr ""
|
5873 |
|
5874 |
+
#: inc/lp-core-functions.php:2999
|
5875 |
msgid "Get A Passing Grade"
|
5876 |
msgstr ""
|
5877 |
|
5878 |
+
#: inc/lp-core-functions.php:3004
|
5879 |
msgid "Evaluate by the number of completed lessons per the total number of lessons."
|
5880 |
msgstr ""
|
5881 |
|
5882 |
+
#: inc/lp-core-functions.php:3005
|
5883 |
msgid "E.g: If a course has 10 lessons and a user completes 5 lessons, then the result is 5/10 (50%)."
|
5884 |
msgstr ""
|
5885 |
|
5886 |
+
#: inc/lp-core-functions.php:3007
|
5887 |
msgid "Evaluate by the result of the final quiz in the course. You have to add a quiz at the end of the course."
|
5888 |
msgstr ""
|
5889 |
|
5890 |
+
#: inc/lp-core-functions.php:3013
|
5891 |
msgid "Evaluate by the number of passed quizzes per the total number of quizzes."
|
5892 |
msgstr ""
|
5893 |
|
5894 |
+
#: inc/lp-core-functions.php:3014
|
5895 |
msgid "E.g: If the course has 10 quizzes and the user passes 5 quizzes, then the result is 5/10 (50%)."
|
5896 |
msgstr ""
|
5897 |
|
5898 |
+
#: inc/lp-core-functions.php:3021
|
5899 |
msgid "Evaluate by the number of correct answers per the total number of questions."
|
5900 |
msgstr ""
|
5901 |
|
5902 |
+
#: inc/lp-core-functions.php:3022
|
5903 |
msgid "E.g: If the course has 10 questions and the user corrects 5 questions, then the result is 5/10 (50%)."
|
5904 |
msgstr ""
|
5905 |
|
5906 |
+
#: inc/lp-core-functions.php:3027
|
5907 |
msgid "Evaluate by the number of achieved scores per the total score of the questions."
|
5908 |
msgstr ""
|
5909 |
|
5910 |
+
#: inc/lp-core-functions.php:3033
|
5911 |
msgid "Evaluate via lessons"
|
5912 |
msgstr ""
|
5913 |
|
5914 |
+
#: inc/lp-core-functions.php:3037
|
5915 |
msgid "Evaluate via results of the final quiz"
|
5916 |
msgstr ""
|
5917 |
|
5918 |
+
#: inc/lp-core-functions.php:3041
|
5919 |
msgid "Evaluate via passed quizzes"
|
5920 |
msgstr ""
|
5921 |
|
5922 |
+
#: inc/lp-core-functions.php:3045
|
5923 |
msgid "Evaluate via questions"
|
5924 |
msgstr ""
|
5925 |
|
5926 |
+
#: inc/lp-core-functions.php:3049
|
5927 |
msgid "Evaluate via mark"
|
5928 |
msgstr ""
|
5929 |
|
5930 |
+
#: inc/lp-core-functions.php:3195
|
5931 |
msgid "Heads up! Please backup before upgrading!"
|
5932 |
msgstr ""
|
5933 |
|
5934 |
+
#: inc/lp-core-functions.php:3198
|
5935 |
msgid "The latest update includes some substantial changes across different areas of the plugin. We highly recommend you backup your site before upgrading, and make sure you first update in a staging environment"
|
5936 |
msgstr ""
|
5937 |
|
5942 |
#: inc/lp-deprecated.php:355
|
5943 |
#: inc/lp-deprecated.php:386
|
5944 |
#: inc/templates/class-lp-template-profile.php:102
|
5945 |
+
#: inc/user-item/class-lp-user-item.php:768
|
5946 |
#: inc/user/class-lp-profile.php:876
|
5947 |
#: inc/user/class-lp-profile.php:910
|
5948 |
msgid "Finished"
|
5966 |
msgid "Back to class"
|
5967 |
msgstr ""
|
5968 |
|
5969 |
+
#: inc/lp-deprecated.php:2244
|
5970 |
#: templates/global/become-teacher-form.php:36
|
5971 |
msgid "Your name"
|
5972 |
msgstr ""
|
5973 |
|
5974 |
+
#: inc/lp-deprecated.php:2252
|
5975 |
#: templates/global/become-teacher-form.php:40
|
5976 |
msgid "Your email address"
|
5977 |
msgstr ""
|
5978 |
|
5979 |
+
#: inc/lp-deprecated.php:2258
|
5980 |
#: templates/global/become-teacher-form.php:43
|
5981 |
msgid "Phone"
|
5982 |
msgstr ""
|
5983 |
|
5984 |
+
#: inc/lp-deprecated.php:2260
|
5985 |
#: templates/global/become-teacher-form.php:44
|
5986 |
msgid "Your phone number"
|
5987 |
msgstr ""
|
5988 |
|
5989 |
+
#: inc/lp-deprecated.php:2266
|
5990 |
#: templates/global/become-teacher-form.php:48
|
5991 |
msgid "Your message"
|
5992 |
msgstr ""
|
5995 |
msgid "Overview"
|
5996 |
msgstr ""
|
5997 |
|
5998 |
+
#: inc/lp-template-functions.php:1048
|
5999 |
+
#: inc/lp-template-functions.php:1234
|
6000 |
#: inc/templates/class-lp-template-course.php:132
|
6001 |
msgid "Final"
|
6002 |
msgstr ""
|
6003 |
|
6004 |
+
#: inc/lp-template-functions.php:1470
|
6005 |
msgid "Course Sidebar"
|
6006 |
msgstr ""
|
6007 |
|
6008 |
+
#: inc/lp-template-functions.php:1472
|
6009 |
msgid "Widgets in this area will be shown in a single course"
|
6010 |
msgstr ""
|
6011 |
|
6012 |
+
#: inc/lp-template-functions.php:1481
|
6013 |
msgid "All Courses"
|
6014 |
msgstr ""
|
6015 |
|
6016 |
+
#: inc/lp-template-functions.php:1483
|
6017 |
msgid "Widgets in this area will be shown on all course pages"
|
6018 |
msgstr ""
|
6019 |
|
6020 |
+
#: inc/lp-template-functions.php:1620
|
6021 |
+
#: inc/lp-template-functions.php:1629
|
6022 |
msgid "All levels"
|
6023 |
msgstr ""
|
6024 |
|
6025 |
+
#: inc/lp-template-functions.php:1630
|
6026 |
msgid "Beginner"
|
6027 |
msgstr ""
|
6028 |
|
6029 |
+
#: inc/lp-template-functions.php:1631
|
6030 |
msgid "Intermediate"
|
6031 |
msgstr ""
|
6032 |
|
6033 |
+
#: inc/lp-template-functions.php:1632
|
6034 |
msgid "Expert"
|
6035 |
msgstr ""
|
6036 |
|
6048 |
msgid "Thank you. Your order has been received."
|
6049 |
msgstr ""
|
6050 |
|
6051 |
+
#: inc/order/class-lp-order.php:349
|
6052 |
msgid "Removed"
|
6053 |
msgstr ""
|
6054 |
|
6055 |
+
#: inc/order/class-lp-order.php:455
|
6056 |
msgid "%s (Guest)"
|
6057 |
msgstr ""
|
6058 |
|
6059 |
+
#: inc/order/class-lp-order.php:1011
|
6060 |
msgctxt "full name"
|
6061 |
msgid "%1$s"
|
6062 |
msgstr ""
|
6063 |
|
6064 |
+
#: inc/order/class-lp-order.php:1123
|
6065 |
msgid "Order on"
|
6066 |
msgstr ""
|
6067 |
|
6068 |
+
#: inc/order/lp-order-functions.php:704
|
6069 |
msgctxt "Order status"
|
6070 |
msgid "Pending"
|
6071 |
msgstr ""
|
6072 |
|
6073 |
+
#: inc/order/lp-order-functions.php:709
|
6074 |
msgid "Pending Payment <span class=\"count\">(%s)</span>"
|
6075 |
msgid_plural "Pending Payment <span class=\"count\">(%s)</span>"
|
6076 |
msgstr[0] ""
|
6077 |
msgstr[1] ""
|
6078 |
|
6079 |
+
#: inc/order/lp-order-functions.php:712
|
6080 |
msgctxt "Order status"
|
6081 |
msgid "Processing"
|
6082 |
msgstr ""
|
6083 |
|
6084 |
+
#: inc/order/lp-order-functions.php:717
|
6085 |
msgid "Processing <span class=\"count\">(%s)</span>"
|
6086 |
msgid_plural "Processing <span class=\"count\">(%s)</span>"
|
6087 |
msgstr[0] ""
|
6088 |
msgstr[1] ""
|
6089 |
|
6090 |
+
#: inc/order/lp-order-functions.php:720
|
6091 |
msgctxt "Order status"
|
6092 |
msgid "Completed"
|
6093 |
msgstr ""
|
6094 |
|
6095 |
+
#: inc/order/lp-order-functions.php:725
|
6096 |
msgid "Completed <span class=\"count\">(%s)</span>"
|
6097 |
msgid_plural "Completed <span class=\"count\">(%s)</span>"
|
6098 |
msgstr[0] ""
|
6099 |
msgstr[1] ""
|
6100 |
|
6101 |
+
#: inc/order/lp-order-functions.php:728
|
6102 |
msgctxt "Order status"
|
6103 |
msgid "Cancelled"
|
6104 |
msgstr ""
|
6105 |
|
6106 |
+
#: inc/order/lp-order-functions.php:733
|
6107 |
msgid "Cancelled <span class=\"count\">(%s)</span>"
|
6108 |
msgid_plural "Cancelled <span class=\"count\">(%s)</span>"
|
6109 |
msgstr[0] ""
|
6110 |
msgstr[1] ""
|
6111 |
|
6112 |
+
#: inc/order/lp-order-functions.php:736
|
6113 |
msgctxt "Order status"
|
6114 |
msgid "Failed"
|
6115 |
msgstr ""
|
6116 |
|
6117 |
+
#: inc/order/lp-order-functions.php:741
|
6118 |
msgid "Failed <span class=\"count\">(%s)</span>"
|
6119 |
msgid_plural "Failed <span class=\"count\">(%s)</span>"
|
6120 |
msgstr[0] ""
|
6121 |
msgstr[1] ""
|
6122 |
|
6123 |
+
#: inc/order/lp-order-functions.php:750
|
6124 |
msgid "Order received in case a user purchases a course but doesn't finalize the order."
|
6125 |
msgstr ""
|
6126 |
|
6127 |
+
#: inc/order/lp-order-functions.php:751
|
6128 |
msgid "Payment received and the order is awaiting fulfillment."
|
6129 |
msgstr ""
|
6130 |
|
6131 |
+
#: inc/order/lp-order-functions.php:752
|
6132 |
msgid "The order is fulfilled and completed."
|
6133 |
msgstr ""
|
6134 |
|
6135 |
+
#: inc/order/lp-order-functions.php:753
|
6136 |
msgid "The order is cancelled by an admin or the customer."
|
6137 |
msgstr ""
|
6138 |
|
6139 |
+
#: inc/order/lp-order-functions.php:791
|
6140 |
msgid "Order number <strong>%s</strong> not found"
|
6141 |
msgstr ""
|
6142 |
|
6143 |
+
#: inc/order/lp-order-functions.php:794
|
6144 |
msgid "The order is cancelled by the customer"
|
6145 |
msgstr ""
|
6146 |
|
6147 |
+
#: inc/order/lp-order-functions.php:797
|
6148 |
msgid "Order number <strong>%s</strong> has been cancelled"
|
6149 |
msgstr ""
|
6150 |
|
6151 |
+
#: inc/order/lp-order-functions.php:800
|
6152 |
msgid "The order number <strong>%s</strong> can not be cancelled."
|
6153 |
msgstr ""
|
6154 |
|
6176 |
msgid "Fill In Blanks"
|
6177 |
msgstr ""
|
6178 |
|
6179 |
+
#: inc/question/class-lp-question.php:605
|
6180 |
msgid "First option"
|
6181 |
msgstr ""
|
6182 |
|
6183 |
+
#: inc/question/class-lp-question.php:611
|
6184 |
msgid "Second option"
|
6185 |
msgstr ""
|
6186 |
|
6187 |
+
#: inc/question/class-lp-question.php:617
|
6188 |
msgid "Third option"
|
6189 |
msgstr ""
|
6190 |
|
6257 |
msgid "Dismissed!"
|
6258 |
msgstr ""
|
6259 |
|
6260 |
+
#: inc/rest-api/v1/frontend/class-lp-rest-courses-controller.php:251
|
6261 |
msgid "Showing only one result"
|
6262 |
msgstr ""
|
6263 |
|
6264 |
+
#: inc/rest-api/v1/frontend/class-lp-rest-courses-controller.php:254
|
6265 |
msgid "Showing last course of %s results"
|
6266 |
msgstr ""
|
6267 |
|
6268 |
+
#: inc/rest-api/v1/frontend/class-lp-rest-courses-controller.php:257
|
6269 |
msgid "Showing %1$s of %2$s results"
|
6270 |
msgstr ""
|
6271 |
|
6272 |
+
#: inc/rest-api/v1/frontend/class-lp-rest-courses-controller.php:292
|
6273 |
msgid "Invalid course!"
|
6274 |
msgstr ""
|
6275 |
|
6276 |
+
#: inc/rest-api/v1/frontend/class-lp-rest-courses-controller.php:299
|
6277 |
msgid "Error: Cannot enroll in the course."
|
6278 |
msgstr ""
|
6279 |
|
6280 |
+
#: inc/rest-api/v1/frontend/class-lp-rest-courses-controller.php:320
|
6281 |
msgid "Error: Cannot Enroll in the course."
|
6282 |
msgstr ""
|
6283 |
|
6284 |
+
#: inc/rest-api/v1/frontend/class-lp-rest-courses-controller.php:360
|
6285 |
msgid "Congrats! You have enrolled in the course successfully. Redirecting..."
|
6286 |
msgstr ""
|
6287 |
|
6288 |
+
#: inc/rest-api/v1/frontend/class-lp-rest-courses-controller.php:378
|
6289 |
+
#: inc/rest-api/v1/frontend/class-lp-rest-courses-controller.php:499
|
6290 |
msgid "Error: Please set up a page for checkout."
|
6291 |
msgstr ""
|
6292 |
|
6293 |
+
#: inc/rest-api/v1/frontend/class-lp-rest-courses-controller.php:383
|
6294 |
msgid "Redirecting..."
|
6295 |
msgstr ""
|
6296 |
|
6297 |
+
#: inc/rest-api/v1/frontend/class-lp-rest-courses-controller.php:413
|
6298 |
msgid "Error: Invalid Course ID."
|
6299 |
msgstr ""
|
6300 |
|
6301 |
+
#: inc/rest-api/v1/frontend/class-lp-rest-courses-controller.php:418
|
6302 |
msgid "Error: No Course available."
|
6303 |
msgstr ""
|
6304 |
|
6305 |
+
#: inc/rest-api/v1/frontend/class-lp-rest-courses-controller.php:423
|
6306 |
msgid "Error: Cannot purchase the course!"
|
6307 |
msgstr ""
|
6308 |
|
6309 |
+
#: inc/rest-api/v1/frontend/class-lp-rest-courses-controller.php:446
|
6310 |
msgid "Reset Course progress"
|
6311 |
msgstr ""
|
6312 |
|
6313 |
+
#: inc/rest-api/v1/frontend/class-lp-rest-courses-controller.php:452
|
6314 |
msgid "Continue Course progress"
|
6315 |
msgstr ""
|
6316 |
|
6317 |
+
#: inc/rest-api/v1/frontend/class-lp-rest-courses-controller.php:460
|
6318 |
msgid "Repurchase Options"
|
6319 |
msgstr ""
|
6320 |
|
6321 |
+
#: inc/rest-api/v1/frontend/class-lp-rest-courses-controller.php:506
|
6322 |
msgid "\"%s\" has been added to your cart."
|
6323 |
msgstr ""
|
6324 |
|
6325 |
+
#: inc/rest-api/v1/frontend/class-lp-rest-courses-controller.php:531
|
6326 |
msgid "Invalid params"
|
6327 |
msgstr ""
|
6328 |
|
6329 |
+
#: inc/rest-api/v1/frontend/class-lp-rest-courses-controller.php:537
|
6330 |
+
#: inc/rest-api/v1/frontend/class-lp-rest-courses-controller.php:670
|
6331 |
#: inc/user/abstract-lp-user.php:853
|
6332 |
msgid "Invalid course"
|
6333 |
msgstr ""
|
6334 |
|
6335 |
+
#: inc/rest-api/v1/frontend/class-lp-rest-courses-controller.php:549
|
6336 |
msgid "You can't retry the course"
|
6337 |
msgstr ""
|
6338 |
|
6339 |
+
#: inc/rest-api/v1/frontend/class-lp-rest-courses-controller.php:554
|
6340 |
msgid "Invalid course data of user"
|
6341 |
msgstr ""
|
6342 |
|
6343 |
+
#: inc/rest-api/v1/frontend/class-lp-rest-courses-controller.php:578
|
6344 |
msgid "Now you can learn this course"
|
6345 |
msgstr ""
|
6346 |
|
6347 |
+
#: inc/rest-api/v1/frontend/class-lp-rest-lazy-load-controller.php:70
|
6348 |
+
#: inc/rest-api/v1/frontend/class-lp-rest-lazy-load-controller.php:125
|
6349 |
+
#: inc/rest-api/v1/frontend/class-lp-rest-lazy-load-controller.php:179
|
6350 |
+
#: inc/rest-api/v1/frontend/class-lp-rest-lazy-load-controller.php:184
|
6351 |
#: inc/rest-api/v1/frontend/class-lp-rest-users-controller.php:162
|
6352 |
#: inc/widgets/course-progress.php:65
|
6353 |
msgid "The course is invalid!"
|
6354 |
msgstr ""
|
6355 |
|
6356 |
+
#: inc/rest-api/v1/frontend/class-lp-rest-lazy-load-controller.php:74
|
6357 |
msgid "The course is not required to enroll!"
|
6358 |
msgstr ""
|
6359 |
|
6360 |
+
#: inc/rest-api/v1/frontend/class-lp-rest-lazy-load-controller.php:120
|
6361 |
+
msgid "Params is invalid!"
|
6362 |
+
msgstr ""
|
6363 |
+
|
6364 |
+
#: inc/rest-api/v1/frontend/class-lp-rest-lazy-load-controller.php:130
|
6365 |
msgid "You are a Guest"
|
6366 |
msgstr ""
|
6367 |
|
6368 |
+
#: inc/rest-api/v1/frontend/class-lp-rest-lazy-load-controller.php:135
|
6369 |
+
msgid "You are a not enroll course"
|
6370 |
+
msgstr ""
|
6371 |
+
|
6372 |
+
#: inc/rest-api/v1/frontend/class-lp-rest-lazy-load-controller.php:264
|
6373 |
msgid "The section is invalid!"
|
6374 |
msgstr ""
|
6375 |
|
6507 |
msgid "Not Started"
|
6508 |
msgstr ""
|
6509 |
|
6510 |
+
#: inc/user-item/class-lp-user-item-quiz.php:743
|
6511 |
msgid "The question is invalid!"
|
6512 |
msgstr ""
|
6513 |
|
6514 |
+
#: inc/user-item/class-lp-user-item-quiz.php:748
|
6515 |
msgid "Cannot check the answer to the question."
|
6516 |
msgstr ""
|
6517 |
|
6518 |
+
#: inc/user-item/class-lp-user-item.php:764
|
6519 |
#: templates/profile/tabs/courses.php:33
|
6520 |
msgid "Enrolled"
|
6521 |
msgstr ""
|
6522 |
|
6523 |
+
#: inc/user-item/class-lp-user-item.php:767
|
6524 |
msgid "Started"
|
6525 |
msgstr ""
|
6526 |
|
6527 |
+
#: inc/user-item/class-lp-user-item.php:775
|
6528 |
msgid "Not Enrolled"
|
6529 |
msgstr ""
|
6530 |
|
6590 |
msgid "Not enrolled"
|
6591 |
msgstr ""
|
6592 |
|
6593 |
+
#: inc/user/class-lp-profile.php:1116
|
6594 |
msgid "User Avatar"
|
6595 |
msgstr ""
|
6596 |
|
6706 |
msgid "%1$s::%2$s - Your quiz can't be retaken."
|
6707 |
msgstr ""
|
6708 |
|
6709 |
+
#: inc/user/lp-user-functions.php:348
|
6710 |
msgid "Want to become an instructor?"
|
6711 |
msgstr ""
|
6712 |
|
6713 |
+
#: inc/user/lp-user-functions.php:858
|
6714 |
msgid "Please log in to enroll in this course"
|
6715 |
msgstr ""
|
6716 |
|
6717 |
+
#: inc/user/lp-user-functions.php:876
|
6718 |
msgid "You have already finished the course"
|
6719 |
msgstr ""
|
6720 |
|
6721 |
+
#: inc/user/lp-user-functions.php:879
|
6722 |
msgid "You have already enrolled in this course"
|
6723 |
msgstr ""
|
6724 |
|
6725 |
+
#: inc/user/lp-user-functions.php:1052
|
6726 |
msgid "The old password is incorrect!"
|
6727 |
msgstr ""
|
6728 |
|
6729 |
+
#: inc/user/lp-user-functions.php:1058
|
6730 |
msgid "Incorrect confirmation password!"
|
6731 |
msgstr ""
|
6732 |
|
6733 |
+
#: inc/user/lp-user-functions.php:1359
|
6734 |
msgid "Invalid item id."
|
6735 |
msgstr ""
|
6736 |
|
6737 |
+
#: inc/user/lp-user-functions.php:1394
|
6738 |
msgid "Invalid item data."
|
6739 |
msgstr ""
|
6740 |
|
6741 |
+
#: inc/user/lp-user-functions.php:1563
|
6742 |
msgid "Invalid Course ID."
|
6743 |
msgstr ""
|
6744 |
|
6745 |
+
#: inc/user/lp-user-functions.php:1583
|
6746 |
msgid "Invalid Quiz"
|
6747 |
msgstr ""
|
6748 |
|
6749 |
+
#: inc/user/lp-user-functions.php:1983
|
6750 |
msgid "Facebook Profile"
|
6751 |
msgstr ""
|
6752 |
|
6753 |
+
#: inc/user/lp-user-functions.php:1986
|
6754 |
msgid "Twitter Profile"
|
6755 |
msgstr ""
|
6756 |
|
6757 |
+
#: inc/user/lp-user-functions.php:1989
|
6758 |
msgid "Google Profile"
|
6759 |
msgstr ""
|
6760 |
|
6761 |
+
#: inc/user/lp-user-functions.php:1992
|
6762 |
msgid "Youtube Channel"
|
6763 |
msgstr ""
|
6764 |
|
6765 |
+
#: inc/user/lp-user-functions.php:1995
|
6766 |
msgid "Linkedin Profile"
|
6767 |
msgstr ""
|
6768 |
|
6918 |
msgid "Recent Courses"
|
6919 |
msgstr ""
|
6920 |
|
6921 |
+
#: learnpress.php:485
|
6922 |
msgid "Documentation"
|
6923 |
msgstr ""
|
6924 |
|
7045 |
msgid "Secure Connection"
|
7046 |
msgstr ""
|
7047 |
|
7048 |
+
#: templates/checkout/review-order.php:26
|
7049 |
msgid "Your order"
|
7050 |
msgstr ""
|
7051 |
|
7052 |
+
#: templates/checkout/review-order.php:92
|
7053 |
#: templates/order/order-details.php:106
|
7054 |
msgid "Subtotal"
|
7055 |
msgstr ""
|
7219 |
msgstr ""
|
7220 |
|
7221 |
#: templates/profile/tabs/courses/course-list.php:23
|
7222 |
+
#: templates/profile/tabs/quizzes.php:54
|
7223 |
#: assets/js/dist/frontend/quiz.min.js:25
|
7224 |
#: assets/js/dist/frontend/quiz.min.js:299
|
7225 |
msgid "Result"
|
7265 |
msgid "Total Students"
|
7266 |
msgstr ""
|
7267 |
|
7268 |
+
#: templates/profile/tabs/orders/list.php:18
|
7269 |
msgid "No orders!"
|
7270 |
msgstr ""
|
7271 |
|
7272 |
+
#: templates/profile/tabs/orders/list.php:23
|
7273 |
msgid "My Orders"
|
7274 |
msgstr ""
|
7275 |
|
7289 |
msgid "When you checkout as a Guest, an order key will be sent to your email. You can use the order key to create an order."
|
7290 |
msgstr ""
|
7291 |
|
7292 |
+
#: templates/profile/tabs/quizzes.php:55
|
7293 |
#: assets/js/dist/frontend/quiz.min.js:22
|
7294 |
#: assets/js/dist/frontend/quiz.min.js:194
|
7295 |
msgid "Time spent"
|
7296 |
msgstr ""
|
7297 |
|
7298 |
+
#: templates/profile/tabs/quizzes.php:117
|
7299 |
msgid "No quizzes!"
|
7300 |
msgstr ""
|
7301 |
|
7425 |
msgid "Passing condition: %s%%"
|
7426 |
msgstr ""
|
7427 |
|
7428 |
+
#: templates/single-course/sidebar/user-time.php:30
|
7429 |
msgid "You started on:"
|
7430 |
msgstr ""
|
7431 |
|
7432 |
+
#: templates/single-course/sidebar/user-time.php:36
|
7433 |
msgid "Course will end:"
|
7434 |
msgstr ""
|
7435 |
|
7436 |
+
#: templates/single-course/sidebar/user-time.php:41
|
7437 |
#: assets/js/dist/frontend/quiz.min.js:20
|
7438 |
msgid "Duration:"
|
7439 |
msgstr ""
|
7440 |
|
7441 |
+
#: templates/single-course/sidebar/user-time.php:47
|
7442 |
msgid "You finished on:"
|
7443 |
msgstr ""
|
7444 |
|
@@ -4,7 +4,7 @@
|
|
4 |
* Plugin URI: http://thimpress.com/learnpress
|
5 |
* Description: LearnPress is a WordPress complete solution for creating a Learning Management System (LMS). It can help you to create courses, lessons and quizzes.
|
6 |
* Author: ThimPress
|
7 |
-
* Version: 4.1
|
8 |
* Author URI: http://thimpress.com
|
9 |
* Requires at least: 5.8
|
10 |
* Tested up to: 6.1.1
|
@@ -222,6 +222,7 @@ if ( ! class_exists( 'LearnPress' ) ) {
|
|
222 |
* @return void
|
223 |
*/
|
224 |
private function include_files_global() {
|
|
|
225 |
require_once 'inc/class-lp-multi-language.php';
|
226 |
|
227 |
// Filter query .
|
@@ -229,6 +230,7 @@ if ( ! class_exists( 'LearnPress' ) ) {
|
|
229 |
require_once 'inc/filters/class-lp-post-type-filter.php';
|
230 |
require_once 'inc/filters/class-lp-course-filter.php';
|
231 |
require_once 'inc/filters/class-lp-order-filter.php';
|
|
|
232 |
require_once 'inc/filters/class-lp-section-filter.php';
|
233 |
require_once 'inc/filters/class-lp-section-items-filter.php';
|
234 |
require_once 'inc/filters/class-lp-question-filter.php';
|
@@ -260,6 +262,7 @@ if ( ! class_exists( 'LearnPress' ) ) {
|
|
260 |
|
261 |
// File helper
|
262 |
require_once 'inc/class-lp-helper.php';
|
|
|
263 |
|
264 |
// Models
|
265 |
require_once 'inc/models/class-lp-rest-response.php';
|
@@ -276,6 +279,8 @@ if ( ! class_exists( 'LearnPress' ) ) {
|
|
276 |
require_once 'inc/cache/class-lp-courses-cache.php';
|
277 |
require_once 'inc/cache/class-lp-course-cache.php';
|
278 |
require_once 'inc/cache/class-lp-quiz-cache.php';
|
|
|
|
|
279 |
|
280 |
// Background processes.
|
281 |
require_once 'inc/libraries/wp-background-process/wp-background-processing.php';
|
4 |
* Plugin URI: http://thimpress.com/learnpress
|
5 |
* Description: LearnPress is a WordPress complete solution for creating a Learning Management System (LMS). It can help you to create courses, lessons and quizzes.
|
6 |
* Author: ThimPress
|
7 |
+
* Version: 4.2.0-beta-1
|
8 |
* Author URI: http://thimpress.com
|
9 |
* Requires at least: 5.8
|
10 |
* Tested up to: 6.1.1
|
222 |
* @return void
|
223 |
*/
|
224 |
private function include_files_global() {
|
225 |
+
require_once 'inc/Helper/Singleton.php';
|
226 |
require_once 'inc/class-lp-multi-language.php';
|
227 |
|
228 |
// Filter query .
|
230 |
require_once 'inc/filters/class-lp-post-type-filter.php';
|
231 |
require_once 'inc/filters/class-lp-course-filter.php';
|
232 |
require_once 'inc/filters/class-lp-order-filter.php';
|
233 |
+
require_once 'inc/filters/class-lp-session-filter.php';
|
234 |
require_once 'inc/filters/class-lp-section-filter.php';
|
235 |
require_once 'inc/filters/class-lp-section-items-filter.php';
|
236 |
require_once 'inc/filters/class-lp-question-filter.php';
|
262 |
|
263 |
// File helper
|
264 |
require_once 'inc/class-lp-helper.php';
|
265 |
+
require_once 'inc/Helper/Template.php';
|
266 |
|
267 |
// Models
|
268 |
require_once 'inc/models/class-lp-rest-response.php';
|
279 |
require_once 'inc/cache/class-lp-courses-cache.php';
|
280 |
require_once 'inc/cache/class-lp-course-cache.php';
|
281 |
require_once 'inc/cache/class-lp-quiz-cache.php';
|
282 |
+
require_once 'inc/cache/class-lp-question-cache.php';
|
283 |
+
require_once 'inc/cache/class-lp-session-cache.php';
|
284 |
|
285 |
// Background processes.
|
286 |
require_once 'inc/libraries/wp-background-process/wp-background-processing.php';
|
@@ -5,7 +5,7 @@ Tags: elearning, education, course, lms, learning management system
|
|
5 |
Requires at least: 5.8
|
6 |
Tested up to: 6.1.1
|
7 |
Requires PHP: 7.0
|
8 |
-
Stable tag: 4.1
|
9 |
License: GPLv2 or later
|
10 |
License URI: https://www.gnu.org/licenses/gpl-2.0.html
|
11 |
|
@@ -204,6 +204,48 @@ https://www.transifex.com/projects/p/learnpress/
|
|
204 |
|
205 |
== Changelog ==
|
206 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
207 |
= 4.1.7.3.2 (2022-11-18) - <a href='https://thimpress.com/learnpress-v4-1-7-3-2-update/' target='_blank' rel='noopener'>View detail</a> =
|
208 |
~ Added: tab permalink option.
|
209 |
~ Modified: remove border style on the tab single course.
|
5 |
Requires at least: 5.8
|
6 |
Tested up to: 6.1.1
|
7 |
Requires PHP: 7.0
|
8 |
+
Stable tag: 4.2.0-beta-1
|
9 |
License: GPLv2 or later
|
10 |
License URI: https://www.gnu.org/licenses/gpl-2.0.html
|
11 |
|
204 |
|
205 |
== Changelog ==
|
206 |
|
207 |
+
= 4.2.0 (2022-12-xx) - <a href='https://thimpress.com/learnpress-v4-2-0-update/' target='_blank' rel='noopener'>View detail</a> =
|
208 |
+
~ Fixed: compatibility with WordPress PHP 8.1.
|
209 |
+
~ Not implements ArrayAccess, Iterator, Countable of PHP on classes: LP_Datetime, LP_Session_Handler, LP_User_Item_Course, LP_User_Item, LP_Quiz_Results, LP_Course_Item, LP_Quiz, LP_Array_Access, LP_Profile_Tabs.
|
210 |
+
~ Except class LP_Query_List_Table we still keep implements ArrayAccess (will notice the warning, but don't worry, you only need to disable WP_DEBUG mode), because addons: learnpress-h5p(version 4.0.1 and lower), learnpress-assignment(version 4.0.7 and lower) require it. So you need to update to the higher version of these plugins to make sure.
|
211 |
+
~ Modified: LP_Datetime, deprecated method: toLocal, toRFC822, toUnix, setGMT, getSqlNullDate, addDuration, getPeriod.
|
212 |
+
~ Deprecated: get_time_remaining, get_time of the class LP_User_Item, get_finishing_type of the class LP_User_Item_Course.
|
213 |
+
~ Deprecated: get_course_remaining_time on the class LP_Abstract_User.
|
214 |
+
~ Modified: get_expiration_time, deprecated param $format (<a href='https://github.com/LearnPress/learnpress/commit/17502a02d5328c399f33ea1219f0c9e71f1a257d'>17502a0</a>).
|
215 |
+
~ Modified: class LP_Question_True_Or_False, LP_Question_Single_Choice, LP_Question_Multi_Choice, LP_Question_Fill_In_Blanks (<a href='https://github.com/LearnPress/learnpress/commit/3af1d1c78d3097f3d3b053ceecaf4264840eb1dc'>3af1d1c</a>).
|
216 |
+
~ Modified: class LP_Question, deprecated method: _get_default_answers, _filter_meta_box_meta, update_answer_orders (<a href='https://github.com/LearnPress/learnpress/commit/3af1d1c78d3097f3d3b053ceecaf4264840eb1dc'>3af1d1c</a>)
|
217 |
+
~ Modified: method 'get_answers' of class LP_Question (<a href='https://github.com/LearnPress/learnpress/commit/3af1d1c78d3097f3d3b053ceecaf4264840eb1dc#diff-24bccff44021f19220835ca960719a15beb4bbc8d3ffea086cccd6d42054ec7cR633'>3af1d1c</a>)
|
218 |
+
~ Deprecated: 'learn_press_course_question_permalink_friendly' function.
|
219 |
+
~ Added: 'LP_Question_Cache', LP_Session_Filter class.
|
220 |
+
~ Commented: 'learn_press_mark_user_just_logged_in' function.
|
221 |
+
~ Not store key 'order_awaiting_payment' in session, you need update 'learnpress-certificate' addon to version 4.0.4 or higher.
|
222 |
+
~ Not call: 'learn_press_clear_cart_after_payment' on hook 'get_header'.
|
223 |
+
~ Not call: 'learn_press_custom_checkout_cart' on hook 'learn_press_checkout_cart'.
|
224 |
+
~ Deprecated: 'learn_press_add_order' function.
|
225 |
+
~ Deprecated: learn_press_generate_transaction_object function.
|
226 |
+
~ Modified: LP_Shortcode_Checkout class.
|
227 |
+
~ Fixed: shortcode [learn_press_checkout] working right.
|
228 |
+
~ Deprecated: 'LP_Request_Handler' class, your need to update addons 'Course Review' (version 4.0.4 or higher), 'Wishlist' (version 4.0.4 or higher).
|
229 |
+
~ Not call 'learn_press_set_user_cookie_for_guest' function on hook 'wp'.
|
230 |
+
~ Commented: 'set_cookie' method on class LP_Request. <a href=''>c12c4b54</a>
|
231 |
+
~ Modified: 'LP_Session_Handler' class (<a href='https://github.com/LearnPress/learnpress/commit/c12c4b546548b750c3d05cb108162b3bee458d9b'>c12c4b54</a>).
|
232 |
+
~ Optimized: handle session.
|
233 |
+
~ Only set the cookie when the user does not log in.
|
234 |
+
~ When a user login is successful, the previous session of the guest user is deleted.
|
235 |
+
~ When a user logs out, expired sessions are deleted.
|
236 |
+
~ Modified: 'save_data' method of class LP_Session_Handler (<a href='https://github.com/LearnPress/learnpress/commit/c12c4b546548b750c3d05cb108162b3bee458d9b'>c12c4b5</a>).
|
237 |
+
~ Modified: 'get_cart_from_session', 'get_session_data', 'save_data' methods on class LP_Session_Handler.
|
238 |
+
~ Change name 'get_session' method to 'get_session_by_customer_id'.
|
239 |
+
~ Modified: 'update_session_timestamp', 'delete_session' methods on class LP_Session_Handler.
|
240 |
+
~ Modified: 'LP_Cart', optimize how to set session for cart, get cart items when called, instance of set on hook 'wp_loaded' always call, not call 'set_cart_cookies' when 'add_to_cart' method called.
|
241 |
+
~ Modified: 'calculate_totals' on class LP_Cart.
|
242 |
+
~ Deprecated: method 'get_cart_for_session' on class LP_Cart.
|
243 |
+
~ Modified: 'LP_Profile_Tabs' class.
|
244 |
+
~ Replace all access via array to fields and methods of classes LP_Query_List_Table, LP_Profile, LP_Profile_Tab.
|
245 |
+
~ Deprecated: 'offsetExists', 'offsetGet', 'get_current_question', 'get_question_position', 'check_question', 'get_question_link' methods LP_Quiz class.
|
246 |
+
~ Modified: 'create_order' method on class 'LP_Checkout'.
|
247 |
+
~ Deprecated: 'instructions' method on 'LP_Gateway_Offline_Payment' class.
|
248 |
+
|
249 |
= 4.1.7.3.2 (2022-11-18) - <a href='https://thimpress.com/learnpress-v4-1-7-3-2-update/' target='_blank' rel='noopener'>View detail</a> =
|
250 |
~ Added: tab permalink option.
|
251 |
~ Modified: remove border style on the tab single course.
|
@@ -13,6 +13,6 @@ defined( 'ABSPATH' ) || exit();
|
|
13 |
|
14 |
do_action( 'learn-press/before-empty-cart-message' );
|
15 |
|
16 |
-
|
17 |
|
18 |
do_action( 'learn-press/after-empty-cart-message' );
|
13 |
|
14 |
do_action( 'learn-press/before-empty-cart-message' );
|
15 |
|
16 |
+
learn_press_display_message( esc_html__( 'Your cart is currently empty.', 'learnpress' ), 'error' );
|
17 |
|
18 |
do_action( 'learn-press/after-empty-cart-message' );
|
@@ -6,7 +6,7 @@
|
|
6 |
*
|
7 |
* @author ThimPress
|
8 |
* @package Learnpress/Templates
|
9 |
-
* @version 4.0.
|
10 |
*/
|
11 |
|
12 |
defined( 'ABSPATH' ) || exit();
|
@@ -122,5 +122,5 @@ echo wp_sprintf(
|
|
122 |
<?php endif; ?>
|
123 |
</table>
|
124 |
|
125 |
-
<?php do_action( 'learn-press/order/received/' . $order_received->payment_method, $order_received->get_id() ); ?>
|
126 |
<?php do_action( 'learn-press/order/received', $order_received ); ?>
|
6 |
*
|
7 |
* @author ThimPress
|
8 |
* @package Learnpress/Templates
|
9 |
+
* @version 4.0.1
|
10 |
*/
|
11 |
|
12 |
defined( 'ABSPATH' ) || exit();
|
122 |
<?php endif; ?>
|
123 |
</table>
|
124 |
|
125 |
+
<?php //do_action( 'learn-press/order/received/' . $order_received->get_data( 'payment_method' ), $order_received->get_id() ); ?>
|
126 |
<?php do_action( 'learn-press/order/received', $order_received ); ?>
|
@@ -13,6 +13,9 @@ defined( 'ABSPATH' ) || exit();
|
|
13 |
|
14 |
// $cart = learn_press_get_checkout_cart();
|
15 |
|
|
|
|
|
|
|
16 |
if ( ! isset( $cart ) || ! $cart ) {
|
17 |
return;
|
18 |
}
|
13 |
|
14 |
// $cart = learn_press_get_checkout_cart();
|
15 |
|
16 |
+
/**
|
17 |
+
* @var LP_Cart $cart
|
18 |
+
*/
|
19 |
if ( ! isset( $cart ) || ! $cart ) {
|
20 |
return;
|
21 |
}
|
@@ -6,11 +6,14 @@
|
|
6 |
*
|
7 |
* @author ThimPress
|
8 |
* @package Learnpress/Templates
|
9 |
-
* @version 4.0.
|
10 |
*/
|
11 |
|
12 |
defined( 'ABSPATH' ) || exit();
|
13 |
|
|
|
|
|
|
|
14 |
if ( ! isset( $user ) || ! isset( $tab_key ) || ! isset( $profile ) || ! isset( $profile_tab ) ) {
|
15 |
return;
|
16 |
}
|
@@ -22,14 +25,14 @@ if ( ! isset( $user ) || ! isset( $tab_key ) || ! isset( $profile ) || ! isset(
|
|
22 |
<?php do_action( 'learn-press/before-profile-content', $tab_key, $profile_tab, $user ); ?>
|
23 |
|
24 |
<?php
|
25 |
-
if ( empty( $profile_tab
|
26 |
-
if (
|
27 |
-
echo call_user_func_array( $profile_tab
|
28 |
} else {
|
29 |
do_action( 'learn-press/profile-content', $tab_key, $profile_tab, $user );
|
30 |
}
|
31 |
} else {
|
32 |
-
foreach ( $profile_tab
|
33 |
if ( $profile->get_current_section( '', false, false ) === $section['slug'] ) {
|
34 |
if ( isset( $section['callback'] ) && is_callable( $section['callback'] ) ) {
|
35 |
echo call_user_func_array( $section['callback'], array( $key, $section, $user ) );
|
6 |
*
|
7 |
* @author ThimPress
|
8 |
* @package Learnpress/Templates
|
9 |
+
* @version 4.0.1
|
10 |
*/
|
11 |
|
12 |
defined( 'ABSPATH' ) || exit();
|
13 |
|
14 |
+
/**
|
15 |
+
* @var LP_Profile_Tab $profile_tab
|
16 |
+
*/
|
17 |
if ( ! isset( $user ) || ! isset( $tab_key ) || ! isset( $profile ) || ! isset( $profile_tab ) ) {
|
18 |
return;
|
19 |
}
|
25 |
<?php do_action( 'learn-press/before-profile-content', $tab_key, $profile_tab, $user ); ?>
|
26 |
|
27 |
<?php
|
28 |
+
if ( empty( $profile_tab->get( 'sections' ) ) ) {
|
29 |
+
if ( $profile_tab->get( 'callback' ) && is_callable( $profile_tab->get( 'callback' ) ) ) {
|
30 |
+
echo call_user_func_array( $profile_tab->get( 'callback' ), array( $tab_key, $profile_tab, $user ) );
|
31 |
} else {
|
32 |
do_action( 'learn-press/profile-content', $tab_key, $profile_tab, $user );
|
33 |
}
|
34 |
} else {
|
35 |
+
foreach ( $profile_tab->get( 'sections' ) as $key => $section ) {
|
36 |
if ( $profile->get_current_section( '', false, false ) === $section['slug'] ) {
|
37 |
if ( isset( $section['callback'] ) && is_callable( $section['callback'] ) ) {
|
38 |
echo call_user_func_array( $section['callback'], array( $key, $section, $user ) );
|
@@ -6,7 +6,7 @@
|
|
6 |
*
|
7 |
* @author ThimPress
|
8 |
* @package Learnpress/Templates
|
9 |
-
* @version 4.0.
|
10 |
*/
|
11 |
|
12 |
defined( 'ABSPATH' ) || exit();
|
@@ -57,11 +57,11 @@ if ( ! isset( $user ) || ! isset( $profile ) ) {
|
|
57 |
<li class="<?php echo implode( ' ', $tab_classes ); ?>">
|
58 |
<a href="<?php echo esc_url_raw( $link ); ?>" data-slug="<?php echo esc_attr( $link ); ?>">
|
59 |
<?php
|
60 |
-
if ( ! empty( $profile_tab
|
61 |
-
echo wp_kses_post( $profile_tab
|
62 |
}
|
63 |
?>
|
64 |
-
<?php echo apply_filters( 'learn_press_profile_' . $tab_key . '_tab_title', $profile_tab
|
65 |
</a>
|
66 |
|
67 |
<?php if ( $sections && sizeof( $sections ) > 1 ) { ?>
|
6 |
*
|
7 |
* @author ThimPress
|
8 |
* @package Learnpress/Templates
|
9 |
+
* @version 4.0.2
|
10 |
*/
|
11 |
|
12 |
defined( 'ABSPATH' ) || exit();
|
57 |
<li class="<?php echo implode( ' ', $tab_classes ); ?>">
|
58 |
<a href="<?php echo esc_url_raw( $link ); ?>" data-slug="<?php echo esc_attr( $link ); ?>">
|
59 |
<?php
|
60 |
+
if ( ! empty( $profile_tab->get( 'icon' ) ) ) {
|
61 |
+
echo wp_kses_post( $profile_tab->get( 'icon' ) );
|
62 |
}
|
63 |
?>
|
64 |
+
<?php echo apply_filters( 'learn_press_profile_' . $tab_key . '_tab_title', $profile_tab->get( 'title' ), $tab_key ); ?>
|
65 |
</a>
|
66 |
|
67 |
<?php if ( $sections && sizeof( $sections ) > 1 ) { ?>
|
@@ -6,7 +6,7 @@
|
|
6 |
*
|
7 |
* @author ThimPress
|
8 |
* @package Learnpress/Templates
|
9 |
-
* @version 4.0.
|
10 |
*/
|
11 |
|
12 |
defined( 'ABSPATH' ) || exit();
|
@@ -14,8 +14,7 @@ defined( 'ABSPATH' ) || exit();
|
|
14 |
$profile = LP_Profile::instance();
|
15 |
|
16 |
$query_orders = $profile->query_orders( array( 'fields' => 'ids' ) );
|
17 |
-
|
18 |
-
if ( ! $query_orders['items'] ) {
|
19 |
learn_press_display_message( __( 'No orders!', 'learnpress' ) );
|
20 |
return;
|
21 |
}
|
@@ -36,7 +35,7 @@ if ( ! $query_orders['items'] ) {
|
|
36 |
|
37 |
<tbody>
|
38 |
<?php
|
39 |
-
foreach ( $query_orders
|
40 |
$order = learn_press_get_order( $order_id );
|
41 |
?>
|
42 |
|
6 |
*
|
7 |
* @author ThimPress
|
8 |
* @package Learnpress/Templates
|
9 |
+
* @version 4.0.1
|
10 |
*/
|
11 |
|
12 |
defined( 'ABSPATH' ) || exit();
|
14 |
$profile = LP_Profile::instance();
|
15 |
|
16 |
$query_orders = $profile->query_orders( array( 'fields' => 'ids' ) );
|
17 |
+
if ( ! $query_orders->get_items() ) {
|
|
|
18 |
learn_press_display_message( __( 'No orders!', 'learnpress' ) );
|
19 |
return;
|
20 |
}
|
35 |
|
36 |
<tbody>
|
37 |
<?php
|
38 |
+
foreach ( $query_orders->get_items() as $order_id ) {
|
39 |
$order = learn_press_get_order( $order_id );
|
40 |
?>
|
41 |
|
@@ -4,7 +4,7 @@
|
|
4 |
*
|
5 |
* @author ThimPress
|
6 |
* @package Learnpress/Templates
|
7 |
-
* @version 4.0.
|
8 |
*/
|
9 |
|
10 |
defined( 'ABSPATH' ) || exit();
|
@@ -21,11 +21,10 @@ $user_profile = learn_press_get_user( $profile->get_user_data( 'id' ) );
|
|
21 |
$filter = new LP_User_Items_Filter();
|
22 |
$filter->user_id = $user_profile->get_id();
|
23 |
$filter->limit = apply_filters( 'learnpress/user/quizzes/limit', 5 );
|
24 |
-
$filter->status =
|
25 |
-
$filter->graduation =
|
26 |
$query = $user_profile->get_user_quizzes( $filter );
|
27 |
-
|
28 |
-
$current_filter = '';
|
29 |
|
30 |
if ( ! empty( $filter->status ) ) {
|
31 |
$current_filter = $filter->status;
|
@@ -47,7 +46,7 @@ $filters = $profile->get_quizzes_filters( $current_filter );
|
|
47 |
</ul>
|
48 |
<?php endif; ?>
|
49 |
|
50 |
-
<?php if ( $query
|
51 |
<table class="lp-list-table profile-list-quizzes profile-list-table">
|
52 |
<thead>
|
53 |
<tr>
|
@@ -63,7 +62,7 @@ $filters = $profile->get_quizzes_filters( $current_filter );
|
|
63 |
/**
|
64 |
* @var LP_User_Item_Quiz $user_quiz
|
65 |
*/
|
66 |
-
foreach ( $query
|
67 |
$result_quiz = $user_quiz->get_result();
|
68 |
$quiz = learn_press_get_quiz( $user_quiz->get_id() );
|
69 |
$courses = learn_press_get_item_courses( array( $user_quiz->get_id() ) );
|
@@ -108,7 +107,7 @@ $filters = $profile->get_quizzes_filters( $current_filter );
|
|
108 |
<?php echo wp_kses_post( $query->get_offset_text() ); ?>
|
109 |
</td>
|
110 |
<td colspan="2" class="nav-pages">
|
111 |
-
<?php $query->get_nav_numbers(
|
112 |
</td>
|
113 |
</tr>
|
114 |
</tfoot>
|
4 |
*
|
5 |
* @author ThimPress
|
6 |
* @package Learnpress/Templates
|
7 |
+
* @version 4.0.2
|
8 |
*/
|
9 |
|
10 |
defined( 'ABSPATH' ) || exit();
|
21 |
$filter = new LP_User_Items_Filter();
|
22 |
$filter->user_id = $user_profile->get_id();
|
23 |
$filter->limit = apply_filters( 'learnpress/user/quizzes/limit', 5 );
|
24 |
+
$filter->status = LP_Request::get_param( 'filter-status' );
|
25 |
+
$filter->graduation = LP_Request::get_param( 'filter-graduation' );
|
26 |
$query = $user_profile->get_user_quizzes( $filter );
|
27 |
+
$current_filter = '';
|
|
|
28 |
|
29 |
if ( ! empty( $filter->status ) ) {
|
30 |
$current_filter = $filter->status;
|
46 |
</ul>
|
47 |
<?php endif; ?>
|
48 |
|
49 |
+
<?php if ( $query->get_items() ) : ?>
|
50 |
<table class="lp-list-table profile-list-quizzes profile-list-table">
|
51 |
<thead>
|
52 |
<tr>
|
62 |
/**
|
63 |
* @var LP_User_Item_Quiz $user_quiz
|
64 |
*/
|
65 |
+
foreach ( $query->get_items() as $user_quiz ) :
|
66 |
$result_quiz = $user_quiz->get_result();
|
67 |
$quiz = learn_press_get_quiz( $user_quiz->get_id() );
|
68 |
$courses = learn_press_get_item_courses( array( $user_quiz->get_id() ) );
|
107 |
<?php echo wp_kses_post( $query->get_offset_text() ); ?>
|
108 |
</td>
|
109 |
<td colspan="2" class="nav-pages">
|
110 |
+
<?php $query->get_nav_numbers(); ?>
|
111 |
</td>
|
112 |
</tr>
|
113 |
</tfoot>
|
@@ -6,7 +6,7 @@
|
|
6 |
*
|
7 |
* @author ThimPress
|
8 |
* @package Learnpress/Templates
|
9 |
-
* @version 4.0.
|
10 |
*/
|
11 |
|
12 |
defined( 'ABSPATH' ) || exit();
|
@@ -18,13 +18,13 @@ if ( ! isset( $tab_key, $tab_data ) ) {
|
|
18 |
return;
|
19 |
}
|
20 |
|
21 |
-
if ( empty( $tab_data
|
22 |
return;
|
23 |
}
|
24 |
|
25 |
$link = $profile->get_tab_link( $tab_key );
|
26 |
$unique_group = uniqid( 'course-tab-' );
|
27 |
-
$sections = $tab_data
|
28 |
$visible_tabs = array();
|
29 |
$active_tab = '';
|
30 |
?>
|
6 |
*
|
7 |
* @author ThimPress
|
8 |
* @package Learnpress/Templates
|
9 |
+
* @version 4.0.2
|
10 |
*/
|
11 |
|
12 |
defined( 'ABSPATH' ) || exit();
|
18 |
return;
|
19 |
}
|
20 |
|
21 |
+
if ( empty( $tab_data->get( 'sections' ) ) || ( sizeof( $tab_data->get( 'sections' ) ) < 2 ) ) {
|
22 |
return;
|
23 |
}
|
24 |
|
25 |
$link = $profile->get_tab_link( $tab_key );
|
26 |
$unique_group = uniqid( 'course-tab-' );
|
27 |
+
$sections = $tab_data->get( 'sections' );
|
28 |
$visible_tabs = array();
|
29 |
$active_tab = '';
|
30 |
?>
|
@@ -4,7 +4,7 @@
|
|
4 |
*
|
5 |
* @author ThimPress
|
6 |
* @package LearnPress/Templates
|
7 |
-
* @version 4.0.
|
8 |
*/
|
9 |
|
10 |
defined( 'ABSPATH' ) || exit;
|
@@ -14,6 +14,11 @@ if ( ! isset( $data ) || ! isset( $data['start_time'] ) || ! isset( $data['end_t
|
|
14 |
return;
|
15 |
}
|
16 |
|
|
|
|
|
|
|
|
|
|
|
17 |
$start_time = $data['start_time'];
|
18 |
$end_time = $data['end_time'];
|
19 |
$status = $data['status'];
|
4 |
*
|
5 |
* @author ThimPress
|
6 |
* @package LearnPress/Templates
|
7 |
+
* @version 4.0.2
|
8 |
*/
|
9 |
|
10 |
defined( 'ABSPATH' ) || exit;
|
14 |
return;
|
15 |
}
|
16 |
|
17 |
+
/**
|
18 |
+
* @var LP_Datetime $start_time
|
19 |
+
* @var LP_Datetime $end_time
|
20 |
+
* @var LP_Datetime $expiration_time
|
21 |
+
*/
|
22 |
$start_time = $data['start_time'];
|
23 |
$end_time = $data['end_time'];
|
24 |
$status = $data['status'];
|