LearnPress – WordPress LMS Plugin - Version 4.2.0

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.

Download this release

Release Info

Developer ThimPress
Plugin Icon 128x128 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

Files changed (92) hide show
  1. assets/css/learnpress-rtl.css +1 -1
  2. assets/css/learnpress-rtl.min.css +1 -1
  3. assets/css/learnpress.css +1 -1
  4. assets/css/learnpress.min.css +1 -1
  5. assets/js/admin/learnpress.min.js +1 -1
  6. assets/js/dist/frontend/profile.js +35 -15
  7. assets/js/dist/frontend/profile.min.js +1 -1
  8. assets/src/js/admin/learnpress.js +0 -4
  9. inc/Helper/Singleton.php +22 -0
  10. inc/Helper/Template.php +159 -0
  11. inc/abstracts/abstract-addon.php +31 -38
  12. inc/abstracts/abstract-array-access.php +1 -1
  13. inc/abstracts/abstract-object-data.php +0 -1
  14. inc/abstracts/abstract-singleton.php +0 -57
  15. inc/admin/class-lp-admin-assets.php +1 -2
  16. inc/admin/class-lp-admin-dashboard.php +6 -7
  17. inc/admin/lp-admin-functions.php +3 -3
  18. inc/admin/sub-menus/abstract-submenu.php +1 -1
  19. inc/admin/views/admin-notices/beta-version.php +6 -1
  20. inc/admin/views/admin-notices/wrong-name-plugin.php +0 -27
  21. inc/admin/views/meta-boxes/course/settings.php +4 -1
  22. inc/admin/views/meta-boxes/fields/class-lp-meta-box-fields.php +1 -0
  23. inc/admin/views/meta-boxes/fields/duration.php +1 -1
  24. inc/admin/views/meta-boxes/lesson/settings.php +4 -1
  25. inc/admin/views/meta-boxes/order/content-tab-preview-exports-invoice.php +16 -11
  26. inc/admin/views/meta-boxes/order/details.php +4 -4
  27. inc/admin/views/meta-boxes/question/settings.php +4 -1
  28. inc/admin/views/meta-boxes/quiz/settings.php +4 -1
  29. inc/admin/views/updates/html-updated-latest-message.php +1 -1
  30. inc/background-process/class-lp-background-query-items.php +2 -2
  31. inc/cache/class-lp-question-cache.php +38 -0
  32. inc/cart/class-lp-cart.php +78 -104
  33. inc/cart/lp-cart-functions.php +13 -7
  34. inc/class-lp-checkout.php +53 -58
  35. inc/class-lp-datetime.php +68 -47
  36. inc/class-lp-page-controller.php +5 -1
  37. inc/class-lp-query-list-table.php +9 -0
  38. inc/class-lp-query.php +2 -2
  39. inc/class-lp-request-handler.php +6 -3
  40. inc/class-lp-session-handler.php +361 -192
  41. inc/course/abstract-course.php +4 -4
  42. inc/course/class-lp-course-item.php +1 -1
  43. inc/course/class-lp-course.php +1 -0
  44. inc/course/lp-course-functions.php +2 -3
  45. inc/curds/class-lp-order-curd.php +5 -2
  46. inc/custom-post-types/order.php +1 -1
  47. inc/databases/class-lp-question-answers-db.php +3 -3
  48. inc/databases/class-lp-sessions-db.php +45 -7
  49. inc/filters/class-lp-filter.php +4 -0
  50. inc/filters/class-lp-session-filter.php +40 -0
  51. inc/gateways/offline-payment/class-lp-gateway-offline-payment.php +4 -3
  52. inc/jwt/rest-api/version1/class-lp-rest-courses-v1-controller.php +3 -3
  53. inc/jwt/rest-api/version1/class-lp-rest-users-v1-controller.php +13 -6
  54. inc/lp-constants.php +0 -3
  55. inc/lp-core-functions.php +22 -10
  56. inc/lp-deprecated.php +4 -0
  57. inc/lp-template-functions.php +9 -7
  58. inc/order/class-lp-order.php +20 -11
  59. inc/order/lp-order-functions.php +11 -4
  60. inc/question/class-lp-question-answers.php +14 -4
  61. inc/question/class-lp-question-fill-in-blanks.php +4 -62
  62. inc/question/class-lp-question-multi-choice.php +4 -4
  63. inc/question/class-lp-question-single-choice.php +2 -1
  64. inc/question/class-lp-question-true-or-false.php +13 -9
  65. inc/question/class-lp-question.php +54 -41
  66. inc/quiz/class-lp-quiz.php +34 -44
  67. inc/rest-api/v1/frontend/class-lp-rest-courses-controller.php +20 -19
  68. inc/rest-api/v1/frontend/class-lp-rest-lazy-load-controller.php +21 -13
  69. inc/rest-api/v1/frontend/class-lp-rest-profile-controller.php +1 -1
  70. inc/shortcodes/class-lp-shortcode-checkout.php +14 -10
  71. inc/templates/class-lp-template-checkout.php +1 -1
  72. inc/user-item/class-lp-quiz-results.php +1 -1
  73. inc/user-item/class-lp-user-item-course.php +7 -3
  74. inc/user-item/class-lp-user-item-quiz.php +6 -10
  75. inc/user-item/class-lp-user-item.php +35 -24
  76. inc/user/abstract-lp-user.php +4 -2
  77. inc/user/class-lp-profile-tabs.php +27 -21
  78. inc/user/class-lp-profile.php +5 -3
  79. inc/user/class-lp-user-factory.php +1 -1
  80. inc/user/lp-user-functions.php +19 -42
  81. languages/learnpress.pot +266 -260
  82. learnpress.php +6 -1
  83. readme.txt +43 -1
  84. templates/checkout/empty-cart.php +1 -1
  85. templates/checkout/order-received.php +2 -2
  86. templates/checkout/review-order.php +3 -0
  87. templates/profile/content.php +8 -5
  88. templates/profile/tabs.php +4 -4
  89. templates/profile/tabs/orders/list.php +3 -4
  90. templates/profile/tabs/quizzes.php +7 -8
  91. templates/profile/tabs/sections.php +3 -3
  92. templates/single-course/sidebar/user-time.php +6 -1
assets/css/learnpress-rtl.css CHANGED
@@ -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%;
assets/css/learnpress-rtl.min.css CHANGED
@@ -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}}
assets/css/learnpress.css CHANGED
@@ -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%;
assets/css/learnpress.min.css CHANGED
@@ -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}}
assets/js/admin/learnpress.min.js CHANGED
@@ -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);
assets/js/dist/frontend/profile.js CHANGED
@@ -1549,8 +1549,8 @@ function (_super) {
1549
  function Cropper() {
1550
  var _this = _super !== null && _super.apply(this, arguments) || this;
1551
 
1552
- _this.imageRef = null;
1553
- _this.videoRef = null;
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: function ref(el) {
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: function ref(el) {
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 + ")"
assets/js/dist/frontend/profile.min.js CHANGED
@@ -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"))}()}();
assets/src/js/admin/learnpress.js CHANGED
@@ -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',
inc/Helper/Singleton.php ADDED
@@ -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
+ }
inc/Helper/Template.php ADDED
@@ -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
+
inc/abstracts/abstract-addon.php CHANGED
@@ -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 $instance
352
- * @param $path
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
- self::$_admin_notices['add-on-file-no-exists'] = sprintf(
370
- __( '%s plugin file does not exist.', 'learnpress' ),
371
- $path
 
 
372
  );
373
 
374
  return;
@@ -377,29 +368,28 @@ class LP_Addon {
377
  include_once $path;
378
  $addon_instance = null;
379
 
380
- if ( class_exists( $instance ) ) {
381
- $addon_instance = null;
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
- if ( ! $addon_instance ) {
390
- self::$_admin_notices['add-on-class-no-exists'] = sprintf(
391
- __( '%s plugin class does not exist.', 'learnpress' ),
392
- $instance
393
- );
 
 
394
 
395
- return;
396
- }
397
 
398
- $addon_instance->plugin_file = $plugin_file;
399
 
400
- self::$instances[ $instance ] = $addon_instance;
 
401
 
402
- return $addon_instance;
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' ) );
inc/abstracts/abstract-array-access.php CHANGED
@@ -3,7 +3,7 @@
3
  /**
4
  * Class LP_Array_Access
5
  */
6
- class LP_Array_Access implements ArrayAccess, Iterator, Countable {
7
 
8
  /**
9
  * @var array
3
  /**
4
  * Class LP_Array_Access
5
  */
6
+ class LP_Array_Access {
7
 
8
  /**
9
  * @var array
inc/abstracts/abstract-object-data.php CHANGED
@@ -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 );
inc/abstracts/abstract-singleton.php DELETED
@@ -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
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
inc/admin/class-lp-admin-assets.php CHANGED
@@ -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' );
inc/admin/class-lp-admin-dashboard.php CHANGED
@@ -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
- $orders = learn_press_get_orders( array( 'post_status' => 'lp-completed' ) );
 
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 ( ! $alls ) {
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
 
inc/admin/lp-admin-functions.php CHANGED
@@ -514,7 +514,7 @@ if ( ! function_exists( 'learn_press_get_item_referral' ) ) {
514
  21680592 => 'https://1.envato.market/qqO6y',
515
  );
516
 
517
- return isset( $affiliate_links[ $item_id ] ) ? $affiliate_links[ $item_id ] : 'https://themeforest.net/user/thimpress/portfolio/';
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
- // var_dump( current_user_can(LP_TEACHER_ROLE) );
1191
- // exit();
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' );
inc/admin/sub-menus/abstract-submenu.php CHANGED
@@ -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 = ! empty( $_REQUEST['page'] ) ? sanitize_text_field( $_REQUEST['page'] ) : null;
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 );
inc/admin/views/admin-notices/beta-version.php CHANGED
@@ -11,7 +11,12 @@ if ( ! isset( $data ) || ! isset( $data['check'] ) || ! $data['check'] ) {
11
  return;
12
  }
13
 
14
- $info = is_array( $data['info'] ) ? $data['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
 
inc/admin/views/admin-notices/wrong-name-plugin.php DELETED
@@ -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>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
inc/admin/views/meta-boxes/course/settings.php CHANGED
@@ -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
- echo wp_kses_post( $object->output( $post->ID ) );
 
 
 
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
 
inc/admin/views/meta-boxes/fields/class-lp-meta-box-fields.php CHANGED
@@ -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 ) {
inc/admin/views/meta-boxes/fields/duration.php CHANGED
@@ -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;
inc/admin/views/meta-boxes/lesson/settings.php CHANGED
@@ -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
- learn_press_echo_vuejs_write_on_php( $object->output( $post->ID ) );
 
 
 
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
  }
inc/admin/views/meta-boxes/order/content-tab-preview-exports-invoice.php CHANGED
@@ -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.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 width="40%">
66
- <col width="20%">
67
- <col width="20%">
68
- <col width="20%">
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
- if ( $items = $order->get_items_filter( $filter ) ) :
 
 
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( isset( $item['total'] ) ? $item['total'] : 0, isset( $currency_symbol ) ? $currency_symbol : '$' ); ?></td>
90
- <td>x <?php echo isset( $item['quantity'] ) ? $item['quantity'] : 0; ?></td>
91
- <td><?php echo learn_press_format_price( isset( $item['total'] ) ? $item['total'] : 0, isset( $currency_symbol ) ? $currency_symbol : '$' ); ?></td>
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>
inc/admin/views/meta-boxes/order/details.php CHANGED
@@ -4,7 +4,7 @@
4
  *
5
  * @author ThimPress (Nhamdv)
6
  * @package LearnPress/Admin/Views
7
- * @version 4.0.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->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,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>
inc/admin/views/meta-boxes/question/settings.php CHANGED
@@ -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
- echo wp_kses_post( $object->output( $post->ID ) );
 
 
 
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
  }
inc/admin/views/meta-boxes/quiz/settings.php CHANGED
@@ -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
- echo wp_kses_post( $object->output( $post->ID ) );
 
 
 
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
  }
inc/admin/views/updates/html-updated-latest-message.php CHANGED
@@ -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">
inc/background-process/class-lp-background-query-items.php CHANGED
@@ -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;
inc/cache/class-lp-question-cache.php ADDED
@@ -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
+ }
inc/cart/class-lp-cart.php CHANGED
@@ -18,14 +18,14 @@ class LP_Cart {
18
  *
19
  * @var LP_Cart object
20
  */
21
- private static $instances = array();
22
 
23
  /**
24
  * Hold the content of the cart
25
  *
26
  * @var array
27
  */
28
- protected $_cart_content = array();
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
- $this->get_cart_from_session();
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 mixed
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
- $this->set_cart_cookies( true );
 
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->calculate_totals();
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
- $total = $subtotal = 0;
239
- $this->total = $this->subtotal = 0;
240
- $items = $this->get_cart();
 
 
 
 
 
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
- $this->_cart_content[ $cart_id ]['subtotal'] = $subtotal;
264
- $this->_cart_content[ $cart_id ]['total'] = $total;
265
 
266
- $this->subtotal += $subtotal;
267
- $this->total += $total;
 
268
  }
269
  }
270
 
271
- $this->update_session();
 
 
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
- $items = $this->get_cart();
297
-
298
- return $items;
299
  }
300
 
301
  /**
302
  * Load cart content data from session
303
  *
304
  * @since 3.0.0
305
- * @version 3.0.1
 
306
  */
307
  public function get_cart_from_session() {
308
- if ( did_action( 'learn_press_get_cart_from_session' ) ) {
309
- return;
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 sub-total of cart content
400
  *
401
- * @param LP_Course $course
402
  * @param int $quantity
403
  *
404
  * @return mixed
405
  */
406
- public function get_item_subtotal( $course, $quantity = 1 ) {
407
- $price = $course->get_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, $course, $quantity, $this );
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
- unset( LearnPress::instance()->session->order_awaiting_payment );
426
- unset( LearnPress::instance()->session->cart );
 
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
- return apply_filters( 'learn_press_cart_needs_payment', $this->total > 0, $this );
 
462
  }
463
 
464
  /**
@@ -472,28 +461,13 @@ class LP_Cart {
472
  /**
473
  * Get unique instance of LP_Cart object
474
  *
475
- * @return LP_Cart|mixed
476
  */
477
  public static function instance() {
478
- $class = __CLASS__;
479
- if ( function_exists( 'get_called_class' ) ) {
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::$instances[ $class ];
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
  }
inc/cart/lp-cart-functions.php CHANGED
@@ -2,9 +2,9 @@
2
  /**
3
  * Return LP_Cart object instance
4
  *
5
- * @return mixed
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 = null;
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' );
inc/class-lp-checkout.php CHANGED
@@ -154,12 +154,20 @@ class LP_Checkout {
154
  }*/
155
 
156
  /**
 
 
157
  * @return int|WP_Error
158
  */
159
- protected function _create_account() {
160
- $email = $this->get_checkout_email();
161
- $password = wp_generate_password( 12, true );
162
- $user_id = wp_create_user( $email, $password, $email );
 
 
 
 
 
 
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
- * Creates temp new order if needed
341
  *
 
 
342
  * @return mixed|WP_Error
343
  * @throws Exception
344
  */
345
  public function create_order() {
346
- global $wpdb;
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
- $wpdb->query( 'START TRANSACTION' );
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 = LP_Helper::sanitize_params_submitted( $_POST['checkout-email-option'] ?? '' );
 
 
388
 
389
  // Create new user if buy with Guest and tick "Create new Account"
390
  if ( $checkout_option === 'new-account' ) {
391
- if ( $this->checkout_email_exists() ) {
392
- throw new Exception( 'NEW ACCOUNT EMAIL IS EXISTED', 0 );
393
  }
394
 
395
- $order->set_meta( '_create_account', 'yes' );
396
-
397
- $user_id = $this->_create_account();
398
 
399
- if ( ! is_wp_error( $user_id ) ) {
 
 
400
  wp_new_user_notification( $user_id, null, apply_filters( 'learn-press/email-create-new-user-when-checkout', 'user' ) );
401
- }
402
- } else { // Set user id for Order if buy with Guest and email exists on the user
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( $cart->total );
418
- $order->set_subtotal( $cart->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 new/resumed order
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 = LearnPress::instance()->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
- // Store the order is waiting f6or payment and each payment method should clear it
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
- // ensure that no order is waiting for payment
740
  $order = new LP_Order( $order_id );
741
-
742
- if ( $order && $order->payment_complete() ) {
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
- learn_press_maybe_send_json( $result, 'learn_press_remove_messages' );
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
  /**
inc/class-lp-datetime.php CHANGED
@@ -3,7 +3,7 @@
3
  /**
4
  * Class LP_Datetime
5
  */
6
- class LP_Datetime extends 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( $interval = 0 ) {
87
- return $this->getTimestamp() >= current_time( 'timestamp' ) + $interval; // phpcs:ignore
88
  }
89
 
90
- public function is_null() {
 
 
 
 
 
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 (string) $this->format( self::$format, true );
168
  }
169
 
170
  /**
171
  * Gets the date as a formatted string.
172
  *
173
- * @param string $format The date format specification string (see {@link PHP_MANUAL#date})
174
- * @param boolean $local True to return the date string in the local time zone, false to return it in GMT.
175
  *
176
- * @return string The date string in the specified format format.
 
 
177
  */
178
- public function format( $format = '', $local = true ) {
179
- if ( '0000-00-00 00:00:00' === $this->raw_date ) {
180
- return '';
 
 
181
  }
182
 
183
  if ( empty( $format ) ) {
184
- $format = 'mysql';
185
  }
186
 
187
- $return = false;
188
-
189
  switch ( $format ) {
190
  case 'i18n':
191
- $return = learn_press_date_i18n( $this->getTimestamp( $local ) );
192
- break;
193
- case 'timestamp':
194
- $return = $this->getTimestamp( $local );
195
  break;
 
 
 
196
  case 'human':
197
- $time1 = $this->getTimestamp( false );// mysql2date( 'G', $date->format('Y-m-d H:i:s') );
198
- $time_diff = ( time() ) - $time1;
199
 
200
  if ( $time_diff > 0 ) {
201
- $return = sprintf( __( '%s ago', 'learnpress' ), human_time_diff( $time1, time() ) );
202
  }
203
  break;
204
  case 'mysql':
205
- $return = $this->format( 'Y-m-d H:i:s', $local );
206
  break;
207
  default:
208
- $return = parent::format( $format );
209
  }
210
 
211
- return $return;
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( 'Y-m-d H:i:s', $local );
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
- public function getTimestamp( $local = true ) {
313
- $timestamp = parent::getTimestamp();
314
-
315
- if ( $local ) {
316
- $timestamp += $this->getOffset();
 
 
 
 
 
 
317
  }
318
 
319
- return $timestamp;
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
- $timestamp = $this->getTimestamp( $local );
 
364
 
365
  if ( ! is_numeric( $seconds ) ) {
366
  $seconds = strtotime( $seconds ) - time();
367
  }
368
 
369
- return date( 'Y-m-d H:i:s', $timestamp + $seconds ); // phpcs:ignore
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
  }
inc/class-lp-page-controller.php CHANGED
@@ -267,7 +267,7 @@ class LP_Page_Controller {
267
  array(
268
  $page_title,
269
  '&rarr;',
270
- $tab['title'],
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
  '&rarr;',
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
 
inc/class-lp-query-list-table.php CHANGED
@@ -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
  */
inc/class-lp-query.php CHANGED
@@ -116,8 +116,8 @@ class LP_Query {
116
  $has_category = true;
117
  }
118
 
119
- $custom_slug_lesson = sanitize_title_with_dashes( LP_Settings::instance()->get( 'lesson_slug' ) );
120
- $custom_slug_quiz = sanitize_title_with_dashes( LP_Settings::instance()->get( 'quiz_slug' ) );
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.
inc/class-lp-request-handler.php CHANGED
@@ -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
- // Backward compatibility for 2.x.x
 
 
 
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
  }
inc/class-lp-session-handler.php CHANGED
@@ -2,13 +2,14 @@
2
 
3
  /**
4
  * Class LP_Session_Handler
 
 
5
  */
6
- class LP_Session_Handler implements ArrayAccess {
7
-
8
  /**
9
- * @var int $_customer_id
10
  */
11
- protected $_customer_id;
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 string session expiration timestamp
30
  */
31
- private $_session_expiration;
32
 
33
  /**
34
- * $var bool Bool based on whether a cookie exists
 
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
- return $this->get( $key );
 
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
- $this->set( $key, $value );
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
- return isset( $this->_data[ sanitize_key( $key ) ] );
 
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
- public function __construct() {
110
  $this->init();
111
  $this->init_hooks();
112
  }
113
 
114
  protected function init_hooks() {
115
- add_action( 'learn_press_set_cart_cookies', array( $this, 'set_customer_session_cookie' ), 10 );
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
- protected function init() {
124
- global $wpdb;
125
- $this->_cookie = '_learn_press_session_' . COOKIEHASH;
126
- $this->_table = $wpdb->prefix . 'learnpress_sessions';
127
-
128
- // Check cookie ...
129
- if ( ! isset( $_COOKIE ) || sizeof( $_COOKIE ) == 0 ) {
130
- $this->_has_browser_cookie = false;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
131
  }
132
 
133
- // ...and user-agent to ensure user a viewing in a web browser
134
- if ( empty( $_SERVER['HTTP_USER_AGENT'] ) || strpos( $_SERVER['HTTP_USER_AGENT'], 'Mozilla' ) === false ) {
135
- $this->_has_browser_cookie = false;
136
- }
137
 
138
- $cookie = $this->get_session_cookie();
139
- if ( $cookie ) {
140
- $this->_customer_id = $cookie[0];
141
- $this->_session_expiration = $cookie[1];
142
- $this->_has_cookie = true;
143
- if ( time() > $this->_session_expiration - HOUR_IN_SECONDS ) {
144
- $this->set_session_expiration();
145
- $this->update_session_timestamp( $this->_customer_id, $this->_session_expiration );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
- public function set_customer_session_cookie( $set ) {
162
- if ( $set ) {
163
- // Set/renew our cookie
164
- $to_hash = $this->_customer_id . '|' . $this->_session_expiration;
165
- $cookie_hash = hash_hmac( 'md5', $to_hash, wp_hash( $to_hash ) );
166
- $cookie_value = $this->_customer_id . '||' . $this->_session_expiration . '||' . $cookie_hash;
167
- $this->_has_cookie = true;
168
-
169
- // Set the cookie
170
- if ( ! isset( $_COOKIE[ $this->_cookie ] ) || $_COOKIE[ $this->_cookie ] !== $cookie_value ) {
171
- learn_press_setcookie( $this->_cookie, $cookie_value, $this->_session_expiration, apply_filters( 'learn_press_session_use_secure_cookie', false ), true );
172
- }
 
 
173
  }
 
 
174
  }
175
 
 
 
 
176
  public function has_cookie() {
177
- return $this->_has_cookie && $this->_has_browser_cookie;
 
178
  }
179
 
180
- public function has_session() {
181
- return isset( $_COOKIE[ $this->_cookie ] ) || $this->_has_cookie || is_user_logged_in();
 
 
 
 
 
182
  }
183
 
184
- public function set_session_expiration() {
185
- $this->_session_expiration = time() + intval( apply_filters( 'learn_press_session_expiration', 60 * 60 * 48 ) );
 
 
 
 
 
 
 
 
 
186
  }
187
 
188
- public function generate_customer_id() {
189
- if ( is_user_logged_in() ) {
190
- return get_current_user_id();
191
- } else {
192
- require_once ABSPATH . 'wp-includes/class-phpass.php';
193
- $hasher = new PasswordHash( 12, false );
 
 
194
 
195
- return md5( $hasher->get_random_bytes( 32 ) );
196
- }
197
  }
198
 
199
- public function get_session_cookie() {
200
-
 
 
 
 
201
  if ( empty( $_COOKIE[ $this->_cookie ] ) || ! is_string( $_COOKIE[ $this->_cookie ] ) ) {
202
- return false;
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 false;
221
  }
222
 
223
  return array( $customer_id, $session_expiration, $cookie_hash );
224
  }
225
 
226
- public function get_session_data() {
227
- return $this->has_session() ? (array) $this->get_session( $this->_customer_id, array() ) : array();
228
- }
229
-
230
- public function get_cache_prefix( $group = LP_SESSION_CACHE_GROUP ) {
231
- $prefix = LP_Object_Cache::get( 'learn_press_' . $group . '_cache_prefix', $group );
232
-
233
- if ( false === $prefix ) {
234
- $prefix = 1;
235
- LP_Object_Cache::set( 'learn_press_' . $group . '_cache_prefix', $prefix, $group );
236
  }
237
 
238
- return 'learn_press_cache_' . $prefix . '_';
239
  }
240
 
241
  /**
242
  * Increment group cache prefix (invalidates cache).
243
  *
244
  * @param string $group
 
245
  */
246
  public function incr_cache_prefix( $group ) {
247
- wp_cache_incr( 'learn_press_' . $group . '_cache_prefix', 1, $group );
 
248
  }
249
 
250
-
251
- public function save_data() {
252
- // var_dump($this->_changed , $this->has_session() , $this->has_cookie() );
253
- if ( $this->_changed && $this->has_session() && $this->has_cookie() ) {
254
- global $wpdb;
255
- $wpdb->replace(
256
- $this->_table,
257
- array(
258
- 'session_key' => $this->_customer_id,
 
 
 
 
 
 
 
 
 
 
 
 
 
259
  'session_value' => maybe_serialize( $this->_data ),
260
  'session_expiry' => $this->_session_expiration,
261
- ),
262
- array(
263
- '%s',
264
- '%s',
265
- '%d',
266
- )
267
- );
268
- // LP_Debug::instance()->add( array(
269
- // $this->_customer_id,
270
- // $_COOKIE,
271
- // $_REQUEST,
272
- // $_POST,
273
- // $_GET,
274
- // $_SERVER
275
- // ), __FUNCTION__ );
276
-
277
- // Set cache
278
- LP_Object_Cache::set( $this->get_cache_prefix() . $this->_customer_id, $this->_data, LP_SESSION_CACHE_GROUP, $this->_session_expiration - time() );
279
-
280
- // Mark session clean after saving
281
- $this->_changed = false;
 
 
 
 
 
282
  }
 
 
283
  }
284
 
 
 
 
285
  public function destroy_session() {
286
- $id = $this->get( 'temp_user' );
287
  if ( $id ) {
288
  delete_user_meta( $id, '_lp_expiration' );
289
- }
290
 
291
- // Clear cookie
292
- learn_press_setcookie( $this->_cookie, '', time() - YEAR_IN_SECONDS, apply_filters( 'learn_press_session_secure_cookie', false ) );
293
-
294
- $this->delete_session( $this->_customer_id );
295
-
296
- // Clear cart
297
- $this->set( 'cart', '' );
298
- $this->set( 'temp_user', '' );
299
 
300
- // Clear data
301
- $this->_data = array();
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', false );
306
  if ( $logout_redirect_page_id ) {
307
-
308
  wp_safe_redirect( get_the_permalink( $logout_redirect_page_id ) );
309
  die;
310
  }
311
  }
312
 
313
- public function cleanup_sessions() {
314
- global $wpdb;
315
-
316
- if ( ! defined( 'WP_SETUP_CONFIG' ) && ! defined( 'WP_INSTALLING' ) ) {
317
-
318
- // Delete expired sessions
319
- $wpdb->query( $wpdb->prepare( "DELETE FROM $this->_table WHERE session_expiry < %d", time() ) ); // phpcs:ignore
320
-
321
- // Invalidate cache
322
- $this->incr_cache_prefix( LP_SESSION_CACHE_GROUP );
323
- }
324
- }
325
-
326
- public function get_session( $customer_id, $default = false ) {
327
- global $wpdb;
 
 
 
328
 
329
- if ( defined( 'WP_SETUP_CONFIG' ) ) {
330
- return false;
 
 
 
 
 
 
331
  }
332
 
333
- // Try get it from the cache, it will return false if not present or if object cache not in use
334
- $value = LP_Object_Cache::get( $this->get_cache_prefix() . $customer_id, LP_SESSION_CACHE_GROUP );
335
- // echo "KEY:" . $this->get_cache_prefix() . $customer_id . "]";
336
 
337
- if ( false === $value && $wpdb->get_var( "SHOW TABLES LIKE '$this->_table'" ) == $this->_table ) {
338
- $q = $wpdb->prepare( "SELECT session_value FROM $this->_table WHERE session_key = %s", $customer_id ); // phpcs:ignore
339
- $value = $wpdb->get_var( $q );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
340
 
341
- if ( is_null( $value ) ) {
342
- $value = $default;
 
 
 
 
343
  }
344
 
345
- wp_cache_add( $this->get_cache_prefix() . $customer_id, $value, LP_SESSION_CACHE_GROUP, $this->_session_expiration - time() );
 
 
 
 
346
  }
347
 
348
- return LP_Helper::maybe_unserialize( $value );
349
  }
350
 
351
- public function delete_session( $customer_id ) {
 
 
 
 
 
 
 
352
  global $wpdb;
 
353
 
354
- wp_cache_delete( $this->get_cache_prefix() . $customer_id, LP_SESSION_CACHE_GROUP );
 
 
 
 
 
 
 
 
 
 
 
355
 
356
- $wpdb->delete(
357
- $this->_table,
358
- array(
359
- 'session_key' => $customer_id,
360
- )
361
- );
362
  }
363
 
364
- public function update_session_timestamp( $customer_id, $timestamp ) {
 
 
 
 
 
 
 
 
365
  global $wpdb;
366
- $wpdb->update(
367
- $this->_table,
368
- array(
369
- 'session_expiry' => $timestamp,
370
- ),
371
- array(
372
- 'session_key' => $customer_id,
373
- ),
374
- array(
375
- '%d',
376
- )
377
- );
378
- // LP_Debug::instance()->add( $customer_id, __FUNCTION__ );
 
 
 
 
379
  }
380
 
381
  /**
@@ -427,8 +577,11 @@ class LP_Session_Handler implements ArrayAccess {
427
  }
428
  }
429
 
430
- public function get_customer_id() {
431
- return $this->_customer_id;
 
 
 
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 ( ! self::$_instance ) {
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
- return $this->get( $offset );
 
452
  }
453
 
 
 
 
454
  public function offsetUnset( $offset ) {
455
- $this->remove( $offset );
 
456
  }
457
 
 
 
 
458
  public function offsetSet( $offset, $value ) {
459
- $this->set( $offset, $value );
 
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
 
inc/course/abstract-course.php CHANGED
@@ -341,10 +341,10 @@ if ( ! function_exists( 'LP_Abstract_Course' ) ) {
341
  }
342
 
343
  /**
344
- * @return mixed
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::instance()->get( 'quiz_slug', 'quizzes' ) ),
1007
- LP_LESSON_CPT => sanitize_title_with_dashes( LP_Settings::instance()->get( 'lesson_slug', 'lessons' ) ),
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
  );
inc/course/class-lp-course-item.php CHANGED
@@ -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 implements ArrayAccess {
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.
inc/course/class-lp-course.php CHANGED
@@ -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 ] ) ) {
inc/course/lp-course-functions.php CHANGED
@@ -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 ) {
inc/curds/class-lp-order-curd.php CHANGED
@@ -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->get_payment_method_title(),
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
  }
inc/custom-post-types/order.php CHANGED
@@ -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->order_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
  }
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
  }
inc/databases/class-lp-question-answers-db.php CHANGED
@@ -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 = $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;
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;
inc/databases/class-lp-sessions-db.php CHANGED
@@ -10,18 +10,58 @@ if ( ! defined( 'ABSPATH' ) ) {
10
  * @since 4.1.1
11
  */
12
  class LP_Sessions_DB extends LP_Database {
13
- private static $_instance;
 
 
 
14
 
15
  protected function __construct() {
16
  parent::__construct();
17
  }
18
 
19
- public static function getInstance() {
20
- if ( is_null( self::$_instance ) ) {
21
- self::$_instance = new self();
 
 
 
 
 
22
  }
23
 
24
- return self::$_instance;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
 
 
 
inc/filters/class-lp-filter.php CHANGED
@@ -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)
inc/filters/class-lp-session-filter.php ADDED
@@ -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
+ }
inc/gateways/offline-payment/class-lp-gateway-offline-payment.php CHANGED
@@ -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
- if ( $order && ( $this->id == $order->payment_method ) && $this->instructions ) {
 
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 ) {
inc/jwt/rest-api/version1/class-lp-rest-courses-v1-controller.php CHANGED
@@ -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
- $order_awaiting_payment = LearnPress::instance()->session->order_awaiting_payment;
340
  $cart->empty_cart();
341
- LearnPress::instance()->session->order_awaiting_payment = $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 ) ? ! $can_view_item->flag : true,
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
  }
inc/jwt/rest-api/version1/class-lp-rest-users-v1-controller.php CHANGED
@@ -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['items'] ) ) {
778
- foreach ( $query['items'] as $item ) {
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
- if ( ! empty( $query_orders['items'] ) ) {
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
- public function get_lp_data_tabs( $user, $request ) {
 
 
 
 
 
 
 
 
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' ) ) {
inc/lp-constants.php CHANGED
@@ -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
 
inc/lp-core-functions.php CHANGED
@@ -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
- setcookie( $name, '', time() - YEAR_IN_SECONDS, COOKIEPATH ? COOKIEPATH : '/', COOKIE_DOMAIN );
 
 
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 customize
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 string $timestamp
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 = '', $format = '', $gmt = false ) {
2661
  if ( ! $format ) {
2662
  $format = get_option( 'date_format' );
2663
  }
2664
 
2665
- return date_i18n( $format, $timestamp, $gmt );
 
 
 
 
 
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
  /**
inc/lp-deprecated.php CHANGED
@@ -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(
inc/lp-template-functions.php CHANGED
@@ -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
- $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,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
  '&rarr;',
334
- $tab['title'],
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
  '&rarr;',
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
  }
inc/order/class-lp-order.php CHANGED
@@ -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
- if ( $payment_method instanceof LP_Gateway_Abstract ) {
 
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 - transaction ID provided payment gateway
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;
inc/order/lp-order-functions.php CHANGED
@@ -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
- $default_args = array(
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
- $cart = learn_press_get_cart();
 
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
  /**
inc/question/class-lp-question-answers.php CHANGED
@@ -13,8 +13,10 @@ if ( ! class_exists( 'LP_Question_Answers' ) ) {
13
 
14
  /**
15
  * Class LP_Question_Answers
 
 
16
  */
17
- class LP_Question_Answers implements ArrayAccess, Iterator {
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 implements ArrayAccess {
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 isset( $this->_data['question_answer_id'] ) ? $this->_data['question_answer_id'] : 0;
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
  /**
inc/question/class-lp-question-fill-in-blanks.php CHANGED
@@ -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> &rarr; ' : '';
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
- * @var LP_Question_Answer_Option $answer
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
  /**
inc/question/class-lp-question-multi-choice.php CHANGED
@@ -59,16 +59,16 @@ if ( ! class_exists( 'LP_Question_Multi_Choice' ) ) {
59
  if ( $answers ) {
60
  $correct = true;
61
  foreach ( $answers as $key => $option ) {
62
- $selected = $this->is_selected_option( $option, $user_answer );
 
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() ) { // If option is TRUE but user did not select => WRONG
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
  }
inc/question/class-lp-question-single-choice.php CHANGED
@@ -53,7 +53,8 @@ if ( ! class_exists( 'LP_Question_Single_Choice' ) ) {
53
 
54
  if ( $answers ) {
55
  foreach ( $answers as $key => $option ) {
56
- if ( ( $option['is_true'] == 'yes' ) && ( $this->is_selected_option( $option, $user_answer ) ) ) {
 
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;
inc/question/class-lp-question-true-or-false.php CHANGED
@@ -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 = parent::check();
71
- $answers = $this->get_answers();
72
-
73
- if ( $answers ) {
74
- foreach ( $answers as $key => $option ) {
75
- if ( ( $option['is_true'] == 'yes' ) && ( $option['value'] == $user_answer ) ) {
76
- $return['correct'] = true;
77
- $return['mark'] = floatval( $this->get_mark() );
78
- break;
 
 
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;
inc/question/class-lp-question.php CHANGED
@@ -115,7 +115,7 @@ if ( ! class_exists( 'LP_Question' ) ) {
115
  }
116
 
117
  $this->_options = $args;
118
- $this->_init();
119
  // self::$_loaded ++;
120
  }
121
 
@@ -393,7 +393,8 @@ if ( ! class_exists( 'LP_Question' ) ) {
393
  }*/
394
 
395
  $this->empty_answers();
396
- if ( $answer_options = $this->get_data( 'answer_options' ) ) {
 
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
- if ( preg_match( '~\[question-content\]~', $field['id'] ) && $field['context'] == 'quiz-list-questions' ) {
 
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
- global $wpdb;
 
498
  $query = $wpdb->prepare(
499
  "
500
- SELECT qa.question_answer_id, qam2.meta_value as `name`, qam.meta_value as `value`
501
- FROM {$wpdb->learnpress_question_answers} qa
502
- INNER JOIN {$wpdb->learnpress_question_answermeta} qam ON qa.question_answer_id = qam.learnpress_question_answer_id AND qam.meta_key = %s
503
- INNER JOIN {$wpdb->learnpress_question_answermeta} qam2 ON qa.question_answer_id = qam2.learnpress_question_answer_id AND qam2.meta_key = %s
504
- WHERE qa.question_id = %d
505
- ORDER BY `order`
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
- UPDATE {$wpdb->learnpress_question_answers}
514
- SET `order` = CASE
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
- * @param string $field
621
- * @param string $exclude
622
  *
623
- * @return LP_Question_Answers
 
 
 
624
  */
625
- public function get_answers( $field = null, $exclude = null ) {
626
- $answers = LP_Object_Cache::get( 'answer-options-' . $this->get_id(), 'learn-press/questions' );
 
 
 
627
 
628
- if ( false === $answers ) {
629
- $answers = $this->_curd->load_answer_options( $this->get_id() );
630
 
631
- if ( ! $answers ) {
632
- $answers = $this->get_default_answers();
633
  }
634
 
635
- LP_Object_Cache::set( 'answer-options-' . $this->get_id(), $answers, 'learn-press/questions' );
636
- };
637
-
638
- if ( $answers ) {
639
- $answers = new LP_Question_Answers( $this, $answers );
640
  }
641
 
642
- // @deprecated
643
- $answers = apply_filters( 'learn_press_question_answers', $answers, $this );
 
 
 
 
 
644
 
645
- return apply_filters( 'learn-press/questions/answers', $answers, $this->get_id() );
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' => isset( $answer['value'] ) ? $answer['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
- return isset( $this->_options['name'] ) ? $this->_options['name'] : ucfirst(
 
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 = ( $answer['value'] . '' === $answered . '' );
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() );
inc/quiz/class-lp-quiz.php CHANGED
@@ -14,7 +14,7 @@ if ( ! class_exists( 'LP_Quiz' ) ) {
14
  /**
15
  * Class LP_Quiz
16
  */
17
- class LP_Quiz extends LP_Course_Item implements ArrayAccess {
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
- echo '@deprecated[' . $key . ']';
 
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
- $course = learn_press_get_course();
 
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
- $question = LP_Question::get_question( $question_id );
 
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
- if ( ! $user_id ) {
 
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
- $user = learn_press_get_user( $user_id );
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
- * @deprecated
997
- *
998
- * @return bool
999
  */
1000
- public function get_show_hide_question() {
1001
- _deprecated_function( __CLASS__ . '::' . __FUNCTION__, '4.0.0' );
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
- return array_key_exists( $offset, $this->_questions );
 
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
  }
inc/rest-api/v1/frontend/class-lp-rest-courses-controller.php CHANGED
@@ -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
- $term_ids_str = LP_Helper::sanitize_params_submitted( urldecode( $request['term_id'] ) ?? '' );
 
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
- $response->message = $e->getMessage();
 
 
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
- * @throws Exception .
273
  * @author Nhamdv
274
  * @editor tungnx
275
- * @version 1.0.1
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
- $order_awaiting_payment = LearnPress::instance()->session->order_awaiting_payment;
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
- wp_send_json( $response );
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 = LearnPress::instance()->cart;
470
- $checkout = LP_Checkout::instance();
471
 
472
  if ( ! learn_press_enable_cart() ) {
473
- $order_awaiting_payment = LearnPress::instance()->session->order_awaiting_payment;
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
 
inc/rest-api/v1/frontend/class-lp-rest-lazy-load-controller.php CHANGED
@@ -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
- if ( $course_id && $user_id ) {
 
 
 
 
116
  $course = learn_press_get_course( $course_id );
117
  if ( ! $course ) {
118
- $response->message = __( 'The course is invalid!', 'learnpress' );
119
-
120
- return $response;
121
  }
122
 
123
  $user = learn_press_get_user( $user_id );
124
- if ( $user->is_guest() ) {
125
- $response->message = __( 'You are a Guest', 'learnpress' );
126
-
127
- return $response;
128
  }
129
 
130
  $course_data = $user->get_course_data( $course->get_id() );
131
  if ( ! $course_data ) {
132
- return $response;
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 $th ) {
226
- $response->message = $th->getMessage();
 
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 $th ) {
322
- $response->message = $th->getMessage();
 
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 );
inc/rest-api/v1/frontend/class-lp-rest-profile-controller.php CHANGED
@@ -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['items'] ) ? $query['items'] : false;
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' ) );
inc/shortcodes/class-lp-shortcode-checkout.php CHANGED
@@ -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->_order_received( $wp->query_vars['lp-order-received'] );
41
  } else {
42
- $checkout_cart = learn_press_get_checkout_cart();
43
 
44
  // Check cart has contents
45
- if ( $checkout_cart && $checkout_cart->is_empty() ) {
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 _order_received( $order_id = 0 ) {
63
  $order_id = absint( $order_id );
64
- $order_key = LP_Helper::sanitize_params_submitted( $_GET['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
  }
inc/templates/class-lp-template-checkout.php CHANGED
@@ -17,7 +17,7 @@ class LP_Template_Checkout extends LP_Abstract_Template {
17
  }
18
 
19
  public function review_order() {
20
- $cart = learn_press_get_checkout_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
 
inc/user-item/class-lp-quiz-results.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- class LP_Quiz_Results implements ArrayAccess {
3
 
4
  /**
5
  * @var array
1
  <?php
2
+ class LP_Quiz_Results {
3
 
4
  /**
5
  * @var array
inc/user-item/class-lp-user-item-course.php CHANGED
@@ -3,7 +3,7 @@
3
  * Class LP_User_Item_Course
4
  */
5
 
6
- class LP_User_Item_Course extends LP_User_Item implements ArrayAccess {
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
- $type = $this->get_meta( 'finishing_type' );
 
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 ) {
inc/user-item/class-lp-user-item-quiz.php CHANGED
@@ -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 = 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
- $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
- $time = parent::get_time_remaining( $return );
 
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
  /**
inc/user-item/class-lp-user-item.php CHANGED
@@ -5,7 +5,7 @@
5
  *
6
  * @since 3.0.0
7
  */
8
- class LP_User_Item extends LP_Abstract_Object_Data implements ArrayAccess {
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
- $lp_time = new LP_Datetime( $time );
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
- if ( ! $format ) {
 
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.1
338
  */
339
- public function get_expiration_time( string $format = '' ) {
340
  $duration = get_post_meta( $this->get_item_id(), '_lp_duration', true );
341
- $start_time = $this->get_start_time( '', false );
342
 
343
  if ( ! absint( $duration ) || ! $start_time ) {
344
  $expire = null;
345
  } else {
346
- $date = new LP_Datetime( $start_time->getPeriod( $duration, true ) );
347
- $expire = $this->format_time( $date, $format );
 
 
 
 
 
348
  }
349
 
350
- return apply_filters( 'learn-press/user-item/expiration-time', $expire, $format, $this );
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|float|int
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 $interval;
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
- $time = new LP_Datetime();
 
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
- $expiration = $this->get_expiration_time();
 
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( false );
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
- $is_exceeded = $this->is_exceeded();
 
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
  /**
inc/user/abstract-lp-user.php CHANGED
@@ -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
- $course = learn_press_get_course( $course_id );
 
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
  /**
inc/user/class-lp-profile-tabs.php CHANGED
@@ -3,8 +3,11 @@
3
  /**
4
  * Class LP_Profile_Tabs
5
  */
6
- class LP_Profile_Tabs extends LP_Array_Access {
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
- parent::__construct( $tabs );
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['slug'];
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['sections'] ) ) {
157
- $sections = $tab['sections'];
158
  $section = reset( $sections );
159
  if ( array_key_exists( 'slug', $section ) ) {
160
- $current = $section['slug'];
161
  } else {
162
- $sections = array_keys( $tab['sections'] );
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['sections'] ) ) {
175
  continue;
176
  }
177
 
178
- foreach ( $data['sections'] as $_slug => $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
- $tab = $this->get_slug( $tab_data, $tab );
213
 
214
- if ( $tab ) {
215
- $args['tab'] = $tab;
216
  } else {
217
  unset( $args['user'] );
218
  }
219
 
220
- if ( $with_section && ! empty( $tab_data['sections'] ) ) {
221
  if ( $with_section === true ) {
222
- $section_keys = array_keys( $tab_data['sections'] );
223
  $first_section = reset( $section_keys );
224
- $with_section = $this->get_slug( $tab_data['sections'][ $first_section ], $first_section );
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 = isset( $tab['sections'] ) ? $tab['sections'] : array();
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 mixed
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 extends LP_Array_Access {
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;
inc/user/class-lp-profile.php CHANGED
@@ -7,7 +7,7 @@ if ( ! class_exists( 'LP_Profile' ) ) {
7
  /**
8
  * Class LP_Profile
9
  *
10
- * Main class to controls the profile of a user
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
- if ( $this->enable_login() ) {
 
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
  /**
inc/user/class-lp-user-factory.php CHANGED
@@ -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( $user_id, $course_id );
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
  }
inc/user/lp-user-functions.php CHANGED
@@ -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 bool|LP_User|LP_User_Guest
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 exists.
 
112
  *
113
  * @param int $user_id
114
  * @param bool $current
115
  *
116
- * @return LP_User|LP_User_Guest|mixed
117
- * Todo: check this function - tungnx
 
118
  */
119
- function learn_press_get_user( $user_id, $current = false, $force_new = false ) {
120
- $is_guest = false;
121
- if ( ! is_null( LearnPress::instance()->session ) && $user_id != LearnPress::instance()->session->guest_user_id ) {
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
- $user_id = '' . $user_id;
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
  }
languages/learnpress.pot CHANGED
@@ -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.7.3.2\n"
6
- "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/lp-branch\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-18T04:32:43+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,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:1052
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:1042
283
- #: templates/profile/tabs/quizzes.php:54
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:284
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:370
305
  msgid "%s plugin file does not exist."
306
  msgstr ""
307
 
308
- #: inc/abstracts/abstract-addon.php:391
309
  msgid "%s plugin class does not exist."
310
  msgstr ""
311
 
312
- #: inc/abstracts/abstract-object-data.php:347
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:82
386
  #: inc/admin/views/addons/html-loop-theme.php:32
387
  msgid " sales"
388
  msgstr ""
389
 
390
- #: inc/admin/class-lp-admin-dashboard.php:89
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:2779
443
- #: inc/order/class-lp-order.php:952
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:23
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:312
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:944
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:201
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:760
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:40
1156
  #: inc/admin/views/meta-boxes/order/exports-invoice.php:80
1157
- #: inc/class-lp-checkout.php:305
1158
- #: inc/class-lp-checkout.php:313
1159
- #: inc/lp-deprecated.php:2246
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:1838
1341
- #: inc/user/lp-user-functions.php:1840
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:1851
1348
- #: inc/user/lp-user-functions.php:1853
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:1864
1356
- #: inc/user/lp-user-functions.php:1866
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:2238
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:61
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:479
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:481
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:117
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:1055
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:31
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:34
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:37
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:72
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:73
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:74
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:75
2094
  msgid "Amount"
2095
  msgstr ""
2096
 
2097
- #: inc/admin/views/meta-boxes/order/content-tab-preview-exports-invoice.php:100
2098
  msgid "Sub Total"
2099
  msgstr ""
2100
 
2101
- #: inc/admin/views/meta-boxes/order/content-tab-preview-exports-invoice.php:106
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:103
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:30
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:33
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:104
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:32
2649
- #: templates/profile/tabs/quizzes.php:57
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:131
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:167
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:2778
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:2780
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:2781
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:626
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:302
2878
  msgid "Your session has expired."
2879
  msgstr ""
2880
 
2881
- #: inc/class-lp-checkout.php:306
2882
- #: inc/class-lp-checkout.php:310
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:307
2891
- #: inc/class-lp-checkout.php:311
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:308
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:366
2914
- #: inc/class-lp-checkout.php:376
2915
- #: inc/class-lp-checkout.php:441
 
 
 
 
 
 
2916
  msgid "Error %d: Unable to create order. Please try again."
2917
  msgstr ""
2918
 
2919
- #: inc/class-lp-checkout.php:456
2920
  msgid "Unable to checkout. Order creation failed."
2921
  msgstr ""
2922
 
2923
- #: inc/class-lp-checkout.php:515
2924
- #: inc/class-lp-checkout.php:523
2925
- #: inc/class-lp-checkout.php:531
2926
- #: inc/class-lp-checkout.php:535
2927
- #: inc/class-lp-checkout.php:545
2928
- #: inc/class-lp-checkout.php:553
2929
- #: inc/class-lp-checkout.php:561
2930
  msgid "%s is required field."
2931
  msgstr ""
2932
 
2933
- #: inc/class-lp-checkout.php:517
2934
- #: inc/class-lp-checkout.php:525
2935
  msgid "%s is exists."
2936
  msgstr ""
2937
 
2938
- #: inc/class-lp-checkout.php:519
2939
  msgid "%s is not a valid username."
2940
  msgstr ""
2941
 
2942
- #: inc/class-lp-checkout.php:527
2943
  msgid "%s is not a valid email."
2944
  msgstr ""
2945
 
2946
- #: inc/class-lp-checkout.php:549
2947
  msgid "%s is not exist."
2948
  msgstr ""
2949
 
2950
- #: inc/class-lp-checkout.php:563
2951
  msgid "Your email is not valid."
2952
  msgstr ""
2953
 
2954
- #: inc/class-lp-checkout.php:652
2955
  msgid "No payment method is selected"
2956
  msgstr ""
2957
 
2958
- #: inc/class-lp-checkout.php:686
 
2959
  msgid "Your cart is currently empty."
2960
  msgstr ""
2961
 
2962
- #: inc/class-lp-checkout.php:695
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:310
3078
  msgid "Course Search Results"
3079
  msgstr ""
3080
 
3081
- #: inc/class-lp-page-controller.php:315
3082
  msgid "No payment method is available."
3083
  msgstr ""
3084
 
3085
- #: inc/class-lp-query-list-table.php:27
3086
  #: inc/custom-post-types/course.php:71
3087
  msgid "item"
3088
  msgstr ""
3089
 
3090
- #: inc/class-lp-query-list-table.php:28
3091
  msgid "items"
3092
  msgstr ""
3093
 
3094
- #: inc/class-lp-query-list-table.php:141
3095
  msgid "Displaying {{from}} to {{to}} of {{total}} {{item_name}}."
3096
  msgstr ""
3097
 
3098
- #: inc/class-lp-query-list-table.php:143
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:633
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:2418
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:2421
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:2424
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:1027
3217
  msgid "completed lessons per the total number of lessons."
3218
  msgstr ""
3219
 
3220
- #: inc/course/lp-course-functions.php:1030
3221
  msgid "passed quizzes per the total number of quizzes."
3222
  msgstr ""
3223
 
3224
- #: inc/course/lp-course-functions.php:1033
3225
  msgid "Final Quiz"
3226
  msgstr ""
3227
 
3228
- #: inc/course/lp-course-functions.php:1036
3229
  msgid "correct answers per the total number of questions."
3230
  msgstr ""
3231
 
3232
- #: inc/course/lp-course-functions.php:1039
3233
  msgid "score achieved per the total score of the questions."
3234
  msgstr ""
3235
 
3236
- #: inc/course/lp-course-functions.php:1048
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:496
3257
  #: templates/checkout/order-received.php:25
3258
  msgid "Invalid order."
3259
  msgstr ""
3260
 
3261
- #: inc/curds/class-lp-order-curd.php:500
3262
  msgid "Order is already assigned."
3263
  msgstr ""
3264
 
3265
- #: inc/curds/class-lp-order-curd.php:506
3266
  msgid "Invalid User!"
3267
  msgstr ""
3268
 
3269
- #: inc/curds/class-lp-order-curd.php:510
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:29
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:759
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:31
3677
  msgid "Status"
3678
  msgstr ""
3679
 
3680
  #: inc/custom-post-types/order.php:721
3681
- #: inc/order/class-lp-order.php:456
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:2260
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:110
4333
  msgid "Testing Mode"
4334
  msgstr ""
4335
 
4336
- #: inc/gateways/offline-payment/class-lp-gateway-offline-payment.php:123
4337
  msgid "Instruction"
4338
  msgstr ""
4339
 
4340
- #: inc/gateways/offline-payment/class-lp-gateway-offline-payment.php:166
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:335
4490
- #: inc/rest-api/v1/frontend/class-lp-rest-courses-controller.php:483
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:37
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:1594
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:1590
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:1585
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:1579
5815
  msgid "%s minute"
5816
  msgid_plural "%s minutes"
5817
  msgstr[0] ""
5818
  msgstr[1] ""
5819
 
5820
- #: inc/lp-core-functions.php:2218
5821
  msgid "Cart"
5822
  msgstr ""
5823
 
5824
- #: inc/lp-core-functions.php:2222
5825
  msgid "Enable cart"
5826
  msgstr ""
5827
 
5828
- #: inc/lp-core-functions.php:2223
5829
  msgid "Check this option to enable users to purchase multiple courses at one time."
5830
  msgstr ""
5831
 
5832
- #: inc/lp-core-functions.php:2232
5833
  msgid "Add to cart redirect"
5834
  msgstr ""
5835
 
5836
- #: inc/lp-core-functions.php:2233
5837
  msgid "Redirect to checkout immediately after adding the course to the cart."
5838
  msgstr ""
5839
 
5840
- #: inc/lp-core-functions.php:2239
5841
  msgid "AJAX add to cart"
5842
  msgstr ""
5843
 
5844
- #: inc/lp-core-functions.php:2240
5845
  msgid "Using AJAX to add the course to the cart."
5846
  msgstr ""
5847
 
5848
- #: inc/lp-core-functions.php:2246
5849
  msgid "Cart page"
5850
  msgstr ""
5851
 
5852
- #: inc/lp-core-functions.php:2596
5853
  msgctxt "static-page-name"
5854
  msgid "Checkout"
5855
  msgstr ""
5856
 
5857
- #: inc/lp-core-functions.php:2597
5858
  msgctxt "static-page-name"
5859
  msgid "Courses"
5860
  msgstr ""
5861
 
5862
- #: inc/lp-core-functions.php:2598
5863
  msgctxt "static-page-name"
5864
  msgid "Profile"
5865
  msgstr ""
5866
 
5867
- #: inc/lp-core-functions.php:2599
5868
  msgctxt "static-page-name"
5869
  msgid "Become a Teacher"
5870
  msgstr ""
5871
 
5872
- #: inc/lp-core-functions.php:2984
5873
  msgid "Loading..."
5874
  msgstr ""
5875
 
5876
- #: inc/lp-core-functions.php:2987
5877
  msgid "Get A Passing Grade"
5878
  msgstr ""
5879
 
5880
- #: inc/lp-core-functions.php:2992
5881
  msgid "Evaluate by the number of completed lessons per the total number of lessons."
5882
  msgstr ""
5883
 
5884
- #: inc/lp-core-functions.php:2993
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:2995
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:3001
5893
  msgid "Evaluate by the number of passed quizzes per the total number of quizzes."
5894
  msgstr ""
5895
 
5896
- #: inc/lp-core-functions.php:3002
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:3009
5901
  msgid "Evaluate by the number of correct answers per the total number of questions."
5902
  msgstr ""
5903
 
5904
- #: inc/lp-core-functions.php:3010
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:3015
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:3021
5913
  msgid "Evaluate via lessons"
5914
  msgstr ""
5915
 
5916
- #: inc/lp-core-functions.php:3025
5917
  msgid "Evaluate via results of the final quiz"
5918
  msgstr ""
5919
 
5920
- #: inc/lp-core-functions.php:3029
5921
  msgid "Evaluate via passed quizzes"
5922
  msgstr ""
5923
 
5924
- #: inc/lp-core-functions.php:3033
5925
  msgid "Evaluate via questions"
5926
  msgstr ""
5927
 
5928
- #: inc/lp-core-functions.php:3037
5929
  msgid "Evaluate via mark"
5930
  msgstr ""
5931
 
5932
- #: inc/lp-core-functions.php:3183
5933
  msgid "Heads up! Please backup before upgrading!"
5934
  msgstr ""
5935
 
5936
- #: inc/lp-core-functions.php:3186
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:762
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:2240
5972
  #: templates/global/become-teacher-form.php:36
5973
  msgid "Your name"
5974
  msgstr ""
5975
 
5976
- #: inc/lp-deprecated.php:2248
5977
  #: templates/global/become-teacher-form.php:40
5978
  msgid "Your email address"
5979
  msgstr ""
5980
 
5981
- #: inc/lp-deprecated.php:2254
5982
  #: templates/global/become-teacher-form.php:43
5983
  msgid "Phone"
5984
  msgstr ""
5985
 
5986
- #: inc/lp-deprecated.php:2256
5987
  #: templates/global/become-teacher-form.php:44
5988
  msgid "Your phone number"
5989
  msgstr ""
5990
 
5991
- #: inc/lp-deprecated.php:2262
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:1046
6001
- #: inc/lp-template-functions.php:1232
6002
  #: inc/templates/class-lp-template-course.php:132
6003
  msgid "Final"
6004
  msgstr ""
6005
 
6006
- #: inc/lp-template-functions.php:1468
6007
  msgid "Course Sidebar"
6008
  msgstr ""
6009
 
6010
- #: inc/lp-template-functions.php:1470
6011
  msgid "Widgets in this area will be shown in a single course"
6012
  msgstr ""
6013
 
6014
- #: inc/lp-template-functions.php:1479
6015
  msgid "All Courses"
6016
  msgstr ""
6017
 
6018
- #: inc/lp-template-functions.php:1481
6019
  msgid "Widgets in this area will be shown on all course pages"
6020
  msgstr ""
6021
 
6022
- #: inc/lp-template-functions.php:1618
6023
- #: inc/lp-template-functions.php:1627
6024
  msgid "All levels"
6025
  msgstr ""
6026
 
6027
- #: inc/lp-template-functions.php:1628
6028
  msgid "Beginner"
6029
  msgstr ""
6030
 
6031
- #: inc/lp-template-functions.php:1629
6032
  msgid "Intermediate"
6033
  msgstr ""
6034
 
6035
- #: inc/lp-template-functions.php:1630
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:345
6054
  msgid "Removed"
6055
  msgstr ""
6056
 
6057
- #: inc/order/class-lp-order.php:454
6058
  msgid "%s (Guest)"
6059
  msgstr ""
6060
 
6061
- #: inc/order/class-lp-order.php:1002
6062
  msgctxt "full name"
6063
  msgid "%1$s"
6064
  msgstr ""
6065
 
6066
- #: inc/order/class-lp-order.php:1114
6067
  msgid "Order on"
6068
  msgstr ""
6069
 
6070
- #: inc/order/lp-order-functions.php:697
6071
  msgctxt "Order status"
6072
  msgid "Pending"
6073
  msgstr ""
6074
 
6075
- #: inc/order/lp-order-functions.php:702
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:705
6082
  msgctxt "Order status"
6083
  msgid "Processing"
6084
  msgstr ""
6085
 
6086
- #: inc/order/lp-order-functions.php:710
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:713
6093
  msgctxt "Order status"
6094
  msgid "Completed"
6095
  msgstr ""
6096
 
6097
- #: inc/order/lp-order-functions.php:718
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:721
6104
  msgctxt "Order status"
6105
  msgid "Cancelled"
6106
  msgstr ""
6107
 
6108
- #: inc/order/lp-order-functions.php:726
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:729
6115
  msgctxt "Order status"
6116
  msgid "Failed"
6117
  msgstr ""
6118
 
6119
- #: inc/order/lp-order-functions.php:734
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:743
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:744
6130
  msgid "Payment received and the order is awaiting fulfillment."
6131
  msgstr ""
6132
 
6133
- #: inc/order/lp-order-functions.php:745
6134
  msgid "The order is fulfilled and completed."
6135
  msgstr ""
6136
 
6137
- #: inc/order/lp-order-functions.php:746
6138
  msgid "The order is cancelled by an admin or the customer."
6139
  msgstr ""
6140
 
6141
- #: inc/order/lp-order-functions.php:784
6142
  msgid "Order number <strong>%s</strong> not found"
6143
  msgstr ""
6144
 
6145
- #: inc/order/lp-order-functions.php:787
6146
  msgid "The order is cancelled by the customer"
6147
  msgstr ""
6148
 
6149
- #: inc/order/lp-order-functions.php:790
6150
  msgid "Order number <strong>%s</strong> has been cancelled"
6151
  msgstr ""
6152
 
6153
- #: inc/order/lp-order-functions.php:793
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:599
6182
  msgid "First option"
6183
  msgstr ""
6184
 
6185
- #: inc/question/class-lp-question.php:605
6186
  msgid "Second option"
6187
  msgstr ""
6188
 
6189
- #: inc/question/class-lp-question.php:611
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:248
6263
  msgid "Showing only one result"
6264
  msgstr ""
6265
 
6266
- #: inc/rest-api/v1/frontend/class-lp-rest-courses-controller.php:251
6267
  msgid "Showing last course of %s results"
6268
  msgstr ""
6269
 
6270
- #: inc/rest-api/v1/frontend/class-lp-rest-courses-controller.php:254
6271
  msgid "Showing %1$s of %2$s results"
6272
  msgstr ""
6273
 
6274
- #: inc/rest-api/v1/frontend/class-lp-rest-courses-controller.php:288
6275
  msgid "Invalid course!"
6276
  msgstr ""
6277
 
6278
- #: inc/rest-api/v1/frontend/class-lp-rest-courses-controller.php:295
6279
  msgid "Error: Cannot enroll in the course."
6280
  msgstr ""
6281
 
6282
- #: inc/rest-api/v1/frontend/class-lp-rest-courses-controller.php:316
6283
  msgid "Error: Cannot Enroll in the course."
6284
  msgstr ""
6285
 
6286
- #: inc/rest-api/v1/frontend/class-lp-rest-courses-controller.php:356
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:374
6291
- #: inc/rest-api/v1/frontend/class-lp-rest-courses-controller.php:498
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:379
6296
  msgid "Redirecting..."
6297
  msgstr ""
6298
 
6299
- #: inc/rest-api/v1/frontend/class-lp-rest-courses-controller.php:409
6300
  msgid "Error: Invalid Course ID."
6301
  msgstr ""
6302
 
6303
- #: inc/rest-api/v1/frontend/class-lp-rest-courses-controller.php:415
6304
  msgid "Error: No Course available."
6305
  msgstr ""
6306
 
6307
- #: inc/rest-api/v1/frontend/class-lp-rest-courses-controller.php:421
6308
  msgid "Error: Cannot purchase the course!"
6309
  msgstr ""
6310
 
6311
- #: inc/rest-api/v1/frontend/class-lp-rest-courses-controller.php:444
6312
  msgid "Reset Course progress"
6313
  msgstr ""
6314
 
6315
- #: inc/rest-api/v1/frontend/class-lp-rest-courses-controller.php:450
6316
  msgid "Continue Course progress"
6317
  msgstr ""
6318
 
6319
- #: inc/rest-api/v1/frontend/class-lp-rest-courses-controller.php:458
6320
  msgid "Repurchase Options"
6321
  msgstr ""
6322
 
6323
- #: inc/rest-api/v1/frontend/class-lp-rest-courses-controller.php:505
6324
  msgid "\"%s\" has been added to your cart."
6325
  msgstr ""
6326
 
6327
- #: inc/rest-api/v1/frontend/class-lp-rest-courses-controller.php:530
6328
  msgid "Invalid params"
6329
  msgstr ""
6330
 
6331
- #: inc/rest-api/v1/frontend/class-lp-rest-courses-controller.php:536
6332
- #: inc/rest-api/v1/frontend/class-lp-rest-courses-controller.php:669
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:548
6338
  msgid "You can't retry the course"
6339
  msgstr ""
6340
 
6341
- #: inc/rest-api/v1/frontend/class-lp-rest-courses-controller.php:553
6342
  msgid "Invalid course data of user"
6343
  msgstr ""
6344
 
6345
- #: inc/rest-api/v1/frontend/class-lp-rest-courses-controller.php:577
6346
  msgid "Now you can learn this course"
6347
  msgstr ""
6348
 
6349
- #: inc/rest-api/v1/frontend/class-lp-rest-lazy-load-controller.php:67
6350
- #: inc/rest-api/v1/frontend/class-lp-rest-lazy-load-controller.php:118
6351
- #: inc/rest-api/v1/frontend/class-lp-rest-lazy-load-controller.php:173
6352
- #: inc/rest-api/v1/frontend/class-lp-rest-lazy-load-controller.php:178
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:71
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:125
 
 
 
 
6363
  msgid "You are a Guest"
6364
  msgstr ""
6365
 
6366
- #: inc/rest-api/v1/frontend/class-lp-rest-lazy-load-controller.php:257
 
 
 
 
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:747
6505
  msgid "The question is invalid!"
6506
  msgstr ""
6507
 
6508
- #: inc/user-item/class-lp-user-item-quiz.php:752
6509
  msgid "Cannot check the answer to the question."
6510
  msgstr ""
6511
 
6512
- #: inc/user-item/class-lp-user-item.php:758
6513
  #: templates/profile/tabs/courses.php:33
6514
  msgid "Enrolled"
6515
  msgstr ""
6516
 
6517
- #: inc/user-item/class-lp-user-item.php:761
6518
  msgid "Started"
6519
  msgstr ""
6520
 
6521
- #: inc/user-item/class-lp-user-item.php:769
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:1114
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:379
6704
  msgid "Want to become an instructor?"
6705
  msgstr ""
6706
 
6707
- #: inc/user/lp-user-functions.php:889
6708
  msgid "Please log in to enroll in this course"
6709
  msgstr ""
6710
 
6711
- #: inc/user/lp-user-functions.php:907
6712
  msgid "You have already finished the course"
6713
  msgstr ""
6714
 
6715
- #: inc/user/lp-user-functions.php:910
6716
  msgid "You have already enrolled in this course"
6717
  msgstr ""
6718
 
6719
- #: inc/user/lp-user-functions.php:1083
6720
  msgid "The old password is incorrect!"
6721
  msgstr ""
6722
 
6723
- #: inc/user/lp-user-functions.php:1089
6724
  msgid "Incorrect confirmation password!"
6725
  msgstr ""
6726
 
6727
- #: inc/user/lp-user-functions.php:1382
6728
  msgid "Invalid item id."
6729
  msgstr ""
6730
 
6731
- #: inc/user/lp-user-functions.php:1417
6732
  msgid "Invalid item data."
6733
  msgstr ""
6734
 
6735
- #: inc/user/lp-user-functions.php:1586
6736
  msgid "Invalid Course ID."
6737
  msgstr ""
6738
 
6739
- #: inc/user/lp-user-functions.php:1606
6740
  msgid "Invalid Quiz"
6741
  msgstr ""
6742
 
6743
- #: inc/user/lp-user-functions.php:2006
6744
  msgid "Facebook Profile"
6745
  msgstr ""
6746
 
6747
- #: inc/user/lp-user-functions.php:2009
6748
  msgid "Twitter Profile"
6749
  msgstr ""
6750
 
6751
- #: inc/user/lp-user-functions.php:2012
6752
  msgid "Google Profile"
6753
  msgstr ""
6754
 
6755
- #: inc/user/lp-user-functions.php:2015
6756
  msgid "Youtube Channel"
6757
  msgstr ""
6758
 
6759
- #: inc/user/lp-user-functions.php:2018
6760
  msgid "Linkedin Profile"
6761
  msgstr ""
6762
 
@@ -6912,7 +6918,7 @@ msgstr ""
6912
  msgid "Recent Courses"
6913
  msgstr ""
6914
 
6915
- #: learnpress.php:480
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:23
7043
  msgid "Your order"
7044
  msgstr ""
7045
 
7046
- #: templates/checkout/review-order.php:89
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:55
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:19
7263
  msgid "No orders!"
7264
  msgstr ""
7265
 
7266
- #: templates/profile/tabs/orders/list.php:24
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:56
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:118
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:25
7423
  msgid "You started on:"
7424
  msgstr ""
7425
 
7426
- #: templates/single-course/sidebar/user-time.php:31
7427
  msgid "Course will end:"
7428
  msgstr ""
7429
 
7430
- #: templates/single-course/sidebar/user-time.php:36
7431
  #: assets/js/dist/frontend/quiz.min.js:20
7432
  msgid "Duration:"
7433
  msgstr ""
7434
 
7435
- #: templates/single-course/sidebar/user-time.php:42
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
 
learnpress.php CHANGED
@@ -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.7.3.2
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';
readme.txt CHANGED
@@ -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.7.3.2
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.
templates/checkout/empty-cart.php CHANGED
@@ -13,6 +13,6 @@ defined( 'ABSPATH' ) || exit();
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' );
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' );
templates/checkout/order-received.php CHANGED
@@ -6,7 +6,7 @@
6
  *
7
  * @author ThimPress
8
  * @package Learnpress/Templates
9
- * @version 4.0.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 ); ?>
templates/checkout/review-order.php CHANGED
@@ -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
  }
templates/profile/content.php CHANGED
@@ -6,11 +6,14 @@
6
  *
7
  * @author ThimPress
8
  * @package Learnpress/Templates
9
- * @version 4.0.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['sections'] ) ) {
26
- if ( isset( $profile_tab['callback'] ) && is_callable( $profile_tab['callback'] ) ) {
27
- echo call_user_func_array( $profile_tab['callback'], array( $tab_key, $profile_tab, $user ) );
28
  } else {
29
  do_action( 'learn-press/profile-content', $tab_key, $profile_tab, $user );
30
  }
31
  } else {
32
- foreach ( $profile_tab['sections'] as $key => $section ) {
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 ) );
templates/profile/tabs.php CHANGED
@@ -6,7 +6,7 @@
6
  *
7
  * @author ThimPress
8
  * @package Learnpress/Templates
9
- * @version 4.0.1
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['icon'] ) ) {
61
- echo wp_kses_post( $profile_tab['icon'] );
62
  }
63
  ?>
64
- <?php echo apply_filters( 'learn_press_profile_' . $tab_key . '_tab_title', $profile_tab['title'], $tab_key ); ?>
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 ) { ?>
templates/profile/tabs/orders/list.php CHANGED
@@ -6,7 +6,7 @@
6
  *
7
  * @author ThimPress
8
  * @package Learnpress/Templates
9
- * @version 4.0.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['items'] as $order_id ) {
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
 
templates/profile/tabs/quizzes.php CHANGED
@@ -4,7 +4,7 @@
4
  *
5
  * @author ThimPress
6
  * @package Learnpress/Templates
7
- * @version 4.0.1
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 = LP_Helper::sanitize_params_submitted( $_GET['filter-status'] ?? '' );
25
- $filter->graduation = LP_Helper::sanitize_params_submitted( $_GET['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['items'] ) : ?>
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['items'] as $user_quiz ) :
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( true ); ?>
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>
templates/profile/tabs/sections.php CHANGED
@@ -6,7 +6,7 @@
6
  *
7
  * @author ThimPress
8
  * @package Learnpress/Templates
9
- * @version 4.0.1
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['sections'] ) || ( sizeof( $tab_data['sections'] ) < 2 ) ) {
22
  return;
23
  }
24
 
25
  $link = $profile->get_tab_link( $tab_key );
26
  $unique_group = uniqid( 'course-tab-' );
27
- $sections = $tab_data['sections'];
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
  ?>
templates/single-course/sidebar/user-time.php CHANGED
@@ -4,7 +4,7 @@
4
  *
5
  * @author ThimPress
6
  * @package LearnPress/Templates
7
- * @version 4.0.1
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'];