diff --git a/erpnext/education/doctype/lms_activity/__init__.py b/erpnext/education/doctype/lms_activity/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/erpnext/education/doctype/lms_activity/__init__.py
diff --git a/erpnext/education/doctype/lms_activity/lms_activity.json b/erpnext/education/doctype/lms_activity/lms_activity.json
new file mode 100644
index 0000000..f7bc30b
--- /dev/null
+++ b/erpnext/education/doctype/lms_activity/lms_activity.json
@@ -0,0 +1,208 @@
+{
+ "allow_copy": 0, 
+ "allow_guest_to_view": 0, 
+ "allow_import": 0, 
+ "allow_rename": 0, 
+ "beta": 0, 
+ "creation": "2018-10-08 10:59:58.325210", 
+ "custom": 0, 
+ "docstatus": 0, 
+ "doctype": "DocType", 
+ "document_type": "", 
+ "editable_grid": 1, 
+ "engine": "InnoDB", 
+ "fields": [
+  {
+   "allow_bulk_edit": 0, 
+   "allow_in_quick_entry": 0, 
+   "allow_on_submit": 0, 
+   "bold": 0, 
+   "collapsible": 0, 
+   "columns": 0, 
+   "fieldname": "course_name", 
+   "fieldtype": "Link", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "ignore_xss_filter": 0, 
+   "in_filter": 0, 
+   "in_global_search": 0, 
+   "in_list_view": 1, 
+   "in_standard_filter": 0, 
+   "label": "Course Name", 
+   "length": 0, 
+   "no_copy": 0, 
+   "options": "Course", 
+   "permlevel": 0, 
+   "precision": "", 
+   "print_hide": 0, 
+   "print_hide_if_no_value": 0, 
+   "read_only": 0, 
+   "remember_last_selected_value": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "translatable": 0, 
+   "unique": 0
+  }, 
+  {
+   "allow_bulk_edit": 0, 
+   "allow_in_quick_entry": 0, 
+   "allow_on_submit": 0, 
+   "bold": 0, 
+   "collapsible": 0, 
+   "columns": 0, 
+   "fetch_from": "", 
+   "fieldname": "lesson_name", 
+   "fieldtype": "Link", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "ignore_xss_filter": 0, 
+   "in_filter": 0, 
+   "in_global_search": 0, 
+   "in_list_view": 1, 
+   "in_standard_filter": 0, 
+   "label": "Lesson Name", 
+   "length": 0, 
+   "no_copy": 0, 
+   "options": "Content", 
+   "permlevel": 0, 
+   "precision": "", 
+   "print_hide": 0, 
+   "print_hide_if_no_value": 0, 
+   "read_only": 0, 
+   "remember_last_selected_value": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "translatable": 0, 
+   "unique": 0
+  }, 
+  {
+   "allow_bulk_edit": 0, 
+   "allow_in_quick_entry": 0, 
+   "allow_on_submit": 0, 
+   "bold": 0, 
+   "collapsible": 0, 
+   "columns": 0, 
+   "fieldname": "quiz_score", 
+   "fieldtype": "Data", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "ignore_xss_filter": 0, 
+   "in_filter": 0, 
+   "in_global_search": 0, 
+   "in_list_view": 0, 
+   "in_standard_filter": 0, 
+   "label": "Quiz Score", 
+   "length": 0, 
+   "no_copy": 0, 
+   "permlevel": 0, 
+   "precision": "", 
+   "print_hide": 0, 
+   "print_hide_if_no_value": 0, 
+   "read_only": 0, 
+   "remember_last_selected_value": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "translatable": 0, 
+   "unique": 0
+  }, 
+  {
+   "allow_bulk_edit": 0, 
+   "allow_in_quick_entry": 0, 
+   "allow_on_submit": 0, 
+   "bold": 0, 
+   "collapsible": 0, 
+   "columns": 0, 
+   "default": "Unattempted", 
+   "fieldname": "quiz_status", 
+   "fieldtype": "Select", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "ignore_xss_filter": 0, 
+   "in_filter": 0, 
+   "in_global_search": 0, 
+   "in_list_view": 0, 
+   "in_standard_filter": 0, 
+   "label": "Quiz Status", 
+   "length": 0, 
+   "no_copy": 0, 
+   "options": "\nUnattempted\nPassed\nFailed", 
+   "permlevel": 0, 
+   "precision": "", 
+   "print_hide": 0, 
+   "print_hide_if_no_value": 0, 
+   "read_only": 0, 
+   "remember_last_selected_value": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "translatable": 0, 
+   "unique": 0
+  }, 
+  {
+   "allow_bulk_edit": 0, 
+   "allow_in_quick_entry": 0, 
+   "allow_on_submit": 0, 
+   "bold": 0, 
+   "collapsible": 0, 
+   "columns": 0, 
+   "fieldname": "lesson_status", 
+   "fieldtype": "Select", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "ignore_xss_filter": 0, 
+   "in_filter": 0, 
+   "in_global_search": 0, 
+   "in_list_view": 0, 
+   "in_standard_filter": 0, 
+   "label": "Lesson Status", 
+   "length": 0, 
+   "no_copy": 0, 
+   "options": "\nOngoing\nCompleted", 
+   "permlevel": 0, 
+   "precision": "", 
+   "print_hide": 0, 
+   "print_hide_if_no_value": 0, 
+   "read_only": 0, 
+   "remember_last_selected_value": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "translatable": 0, 
+   "unique": 0
+  }
+ ], 
+ "has_web_view": 0, 
+ "hide_heading": 0, 
+ "hide_toolbar": 0, 
+ "idx": 0, 
+ "image_view": 0, 
+ "in_create": 0, 
+ "is_submittable": 0, 
+ "issingle": 0, 
+ "istable": 1, 
+ "max_attachments": 0, 
+ "modified": "2018-10-08 12:48:34.394511", 
+ "modified_by": "Administrator", 
+ "module": "Education", 
+ "name": "LMS Activity", 
+ "name_case": "", 
+ "owner": "Administrator", 
+ "permissions": [], 
+ "quick_entry": 1, 
+ "read_only": 0, 
+ "read_only_onload": 0, 
+ "show_name_in_global_search": 0, 
+ "sort_field": "modified", 
+ "sort_order": "DESC", 
+ "track_changes": 1, 
+ "track_seen": 0, 
+ "track_views": 0
+}
\ No newline at end of file
diff --git a/erpnext/education/doctype/lms_activity/lms_activity.py b/erpnext/education/doctype/lms_activity/lms_activity.py
new file mode 100644
index 0000000..cff70cb
--- /dev/null
+++ b/erpnext/education/doctype/lms_activity/lms_activity.py
@@ -0,0 +1,10 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and contributors
+# For license information, please see license.txt
+
+from __future__ import unicode_literals
+import frappe
+from frappe.model.document import Document
+
+class LMSActivity(Document):
+	pass
diff --git a/erpnext/www/lms/__init__.py b/erpnext/www/lms/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/erpnext/www/lms/__init__.py
diff --git a/erpnext/www/lms/course.html b/erpnext/www/lms/course.html
new file mode 100644
index 0000000..4538b9f
--- /dev/null
+++ b/erpnext/www/lms/course.html
@@ -0,0 +1,63 @@
+{% extends "frappe_theme/templates/base.html" %}
+{% block title %}ERPNext Academy{% endblock %}
+
+{% from "templates/includes/media.html" import media %}
+
+{% block head_include %}
+<meta name="description" content="ERPNext Academy is a learnig platform to gain expertise in the world's top 100% open source ERP software." />
+<meta name="keywords" content="ERP Software, Cloud ERP, Open Source ERP, Accounting Software, Online ERP, Online Accounting, ERP for small business, Learn ERP, ERPNext Academy, Learn ERPNext, Learn Accounting" />
+{% endblock %}
+
+{% macro video(id) %}
+<div class="embed-responsive embed-responsive-16by9">
+    <iframe class="embed-responsive-item" src="https://www.youtube.com/embed/{{ lesson.video_url }}" allowfullscreen></iframe>
+</div>
+{% endmacro %}
+
+{% block content %}
+<section class='video-top-section video-section-bg'>
+    <div class='container'>
+        {% if lesson.video_url is defined %}
+        {{ video("lesson,video") }}
+        {% endif %}
+        <div class="mt-3 row">
+            <div class="col-md-8">
+                <h2>{{ lesson.name }}</h2>
+                <span class="text-muted">
+                    <i class="octicon octicon-clock" title="Duration"></i> 49 Mins
+                    &mdash; Published on 28th October 2018.
+                </span>
+            </div>
+            <div class="col-md-4 text-right">
+                <a class='btn btn-outline-secondary' href="/classrooms/module">Previous</a>
+                <a class='btn btn-primary' href="/learn?module={{ module }}&lesson={{ next_lesson }}">Next</a>
+            </div>
+        </div>
+        <hr>
+    </div>
+</section>
+{% for lesson in lesson_list %}
+ {{ lesson }}
+{% endfor %}
+<section class="video-description-section">
+    <div class='container'>
+        <div class="content">
+            {{ lesson.content }}
+        </div>
+        <div class="text-right hidden">
+            <a class='btn btn-outline-secondary' href="/classrooms/module">Previous</a>
+            <a class='btn btn-primary' href="/classrooms/module">Next</a>
+        </div>
+        <div class="mt-3 text-right">
+            <a class="text-muted" href="/report"><i class="octicon octicon-issue-opened" title="Report"></i> Report a Mistake</a>
+        </div>
+    </div>
+
+</section>
+<style>
+    .footer-message {
+        display: none;
+    }
+</style>
+
+{% endblock %}
\ No newline at end of file
diff --git a/erpnext/www/lms/course.py b/erpnext/www/lms/course.py
new file mode 100644
index 0000000..453c9c7
--- /dev/null
+++ b/erpnext/www/lms/course.py
@@ -0,0 +1,2 @@
+# current_module = frappe.get_doc("Course", frappe.form_dict["lesson"])
+# current_lesson = frappe.get_doc("Lesson", frappe.form_dict["lesson"])
\ No newline at end of file
diff --git a/erpnext/www/lms/index.css b/erpnext/www/lms/index.css
new file mode 100644
index 0000000..22be3be
--- /dev/null
+++ b/erpnext/www/lms/index.css
@@ -0,0 +1,101 @@
+.page-content {
+	padding-bottom: 0px !important;
+}
+
+.dashboard-section {
+	margin: auto;
+	max-width: 90%;
+}
+
+.dashboard-section h1 {
+	font-size: 1.5em;
+}
+
+@media(min-width: 768px) {
+	.dashboard-section {
+		max-width: 80%;
+	}
+}
+
+@media(min-width: 992px) {
+	.dashboard-section {
+		max-width: 65%;
+	}
+}
+
+.hero-content h1 {
+	font-size: 1.85em;
+	font-weight: 300;
+}
+
+.hero {
+	border-bottom: 0px;
+}
+
+.erp-hero {
+	border-bottom: 1px solid #e1e9f0;
+}
+
+.hero-content p {
+	margin-bottom: 100px;
+}
+
+.navbar {
+	border-bottom: 0px;
+}
+
+.main-illustration {
+	margin: -90px 0 -60px -32px;
+	min-height: 420px;
+}
+
+.hero-title {
+	font-size: 32px;
+}
+
+@media screen and (max-width: 750px) {
+	.main-illustration {
+		min-height: inherit;
+	}
+}
+
+@media screen and (max-width: 480px) {
+	.main-illustration {
+		margin: -60px 0 -20px -16px;
+	}
+
+	.hero-title {
+		font-size: 26px;
+	}
+
+	.hero-title+p {
+		font-size: 16px;
+	}
+}
+
+
+.modal-dialog {
+	max-width: 800px;
+	margin: 30px auto;
+}
+
+.modal-body {
+	position: relative;
+	padding: 0px;
+	background-color: black;
+}
+
+.close {
+	position: absolute;
+	right: -30px;
+	top: 0;
+	z-index: 999;
+	font-size: 2rem;
+	font-weight: normal;
+	color: #fff;
+	opacity: 1;
+}
+
+.video-btn {
+	color: white !important;
+}
\ No newline at end of file
diff --git a/erpnext/www/lms/index.html b/erpnext/www/lms/index.html
new file mode 100644
index 0000000..1974d4f
--- /dev/null
+++ b/erpnext/www/lms/index.html
@@ -0,0 +1,87 @@
+{% extends "frappe_theme/templates/base.html" %}
+{% block title %}ERPNext Academy{% endblock %}
+
+{% from "templates/includes/media.html" import media %}
+
+{% block head_include %}
+<meta name="description" content="ERPNext Academy is a learnig platform to gain expertise in the world's top 100% open source ERP software." />
+<meta name="keywords" content="ERP Software, Cloud ERP, Open Source ERP, Accounting Software, Online ERP, Online Accounting, ERP for small business, Learn ERP, ERPNext Academy, Learn ERPNext, Learn Accounting" />
+{% endblock %}
+
+{% macro featured_card(program_name, description, hero_image, code) %}
+<div class='card-deck mt-5'>
+	<div class="card">
+		<img src="{{ hero_image }}" style='height: 150px'>
+		<div class='card-body'>
+			<a href="/lms/program?code={{ code }}">
+				<h5 class='card-title'>{{ program_name }}</h5>
+			</a>
+			<div>{{ description }}</div>
+		</div>
+		<div class='card-footer text-right'>
+			<!-- <a class='video-btn btn btn-secondary btn-sm' data-toggle="modal" data-src=" insert jinja stuff here " data-target="#myModal">Watch -->
+				<!-- Intro</a>&nbsp;&nbsp; -->
+			<a class='btn btn-secondary btn-sm' href="/enroll?course=user">Enroll Now</a>
+		</div>
+	</div>
+</div>
+{% endmacro %}
+
+{% block content %}
+<section class='top-section'>
+	<div class='container'>
+		<div class='text-center'>
+			<!-- <img class="main-illustration" src='/assets/erpnext_com/img/erpnext_com_illustration.png'
+			style='width: 700px;'> -->
+		</div>
+		<h1>Become an ERPNext Expert</h1>
+		<ul class="list-group">
+		</ul>
+		<p class='lead'>
+			A platform for enterpreneurs, developers and implementors to learn the world's leading 100% Open
+			Source ERP</p>
+		<p class="mt-4">
+			<a class="btn btn-primary btn-lg" href="/enroll">
+				Enroll Now</a>
+		</p>
+</section>
+
+<section class='section-padding section-bg'>
+	<div class='container'>
+		<h3 class='text-center'>Featured Programs</h3>
+		<p class='lead text-center'>Master ERPNext with our Expert Learning Paths</p>
+		{% for program in featured %}
+			{{ featured_card(program.program_name, program.description, program.hero_image, program.program_code) }}
+		{% endfor %}
+		<div class='mt-4 text-center'>
+			<a class="btn btn-primary btn-lg" href="/program">View All</a>
+		</div>
+	</div>
+</section>
+
+{% include "www/lms/templates/includes/highlights.html" %}
+<div class="container">
+	<!-- Modal -->
+	<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
+		<div class="modal-dialog" role="document">
+			<div class="modal-content">
+				<div class="modal-body">
+					<button type="button" class="close" data-dismiss="modal" aria-label="Close">
+						<span aria-hidden="true">&times;</span>
+					</button>
+					<!-- 16:9 aspect ratio -->
+					<div class="embed-responsive embed-responsive-16by9">
+						<iframe id="ytplayer" type="text/html" class="embed-responsive-item" allowscriptaccess="always"></iframe>
+					</div>
+				</div>
+			</div>
+		</div>
+	</div>
+</div>
+<style>
+	.footer-message {
+		display: none;
+	}
+</style>
+
+{% endblock %}
\ No newline at end of file
diff --git a/erpnext/www/lms/index.js b/erpnext/www/lms/index.js
new file mode 100644
index 0000000..8fcda6e
--- /dev/null
+++ b/erpnext/www/lms/index.js
@@ -0,0 +1,30 @@
+$(function () {
+    setTimeout(function () {
+        $(".later").fadeIn();
+    }, 1000);
+});
+
+$(document).ready(function () {
+    
+    var $videoSrc;
+    // Gets the video src from the data-src on each button
+    $('.video-btn').click(function () {
+        $videoSrc = $(this).attr("data-src");
+        console.log($videoSrc);
+    });
+    console.log($videoSrc);
+
+
+    // when the modal is opened autoplay it  
+    $('#myModal').on('shown.bs.modal', function (e) {
+
+        // set the video src to autoplay and not to show related video. Youtube related video is like a box of chocolates... you never know what you're gonna get
+        $("#ytplayer").attr('src', "https://www.youtube.com/embed/" + $videoSrc + "?autoplay=0");
+    })
+    // stop playing the youtube video when I close the modal
+    $('#myModal').on('hide.bs.modal', function (e) {
+        // a poor man's stop video
+        $("#ytplayer").attr('src', $videoSrc);
+    })
+    // document ready  
+});
\ No newline at end of file
diff --git a/erpnext/www/lms/index.py b/erpnext/www/lms/index.py
new file mode 100644
index 0000000..16772a4
--- /dev/null
+++ b/erpnext/www/lms/index.py
@@ -0,0 +1,5 @@
+from __future__ import unicode_literals
+import frappe
+
+def get_context(context):
+    context.featured = frappe.get_all('Program', filters={'is_featured': 1}, fields=['program_name', 'program_code', 'description', 'hero_image'])
\ No newline at end of file
diff --git a/erpnext/www/lms/program.html b/erpnext/www/lms/program.html
new file mode 100644
index 0000000..e079b41
--- /dev/null
+++ b/erpnext/www/lms/program.html
@@ -0,0 +1,70 @@
+{% extends "frappe_theme/templates/base.html" %}
+{% block title %}ERPNext Academy{% endblock %}
+
+{% block head_include %}
+<meta name="description" content="ERPNext Academy is a learnig platform to gain expertise in the world's top 100% open source ERP software." />
+<meta name="keywords" content="ERP Software, Cloud ERP, Open Source ERP, Accounting Software, Online ERP, Online Accounting, ERP for small business, Learn ERP, ERPNext Academy, Learn ERPNext, Learn Accounting" />
+{% endblock %}
+
+{% macro course_card(name) %}
+<div class="card mt-3" data-list="getting-started">
+    <div class='card-body'>
+        <div class="row">
+            <div class="course-details col-xs-8 col-sm-9 col-md-10">
+                <h5>{{ name }}</h5>
+                <span class="course-list text-muted" id="getting-started">
+                    Course Content
+                    <ul class="mb-0 mt-1">
+                        {% for content in course_data[name] %}
+                        <li>{{ content }}</li>
+                        {% endfor %}
+                    </ul>
+                </span>
+            </div>
+            <div class='text-center col-xs-4 col-sm-3 col-md-2'>
+                <a class='btn btn-primary btn-sm btn-block' href="/course?course={{ name }}&content=Getting Started">Start Course</a>
+            </div>
+        </div>
+    </div>
+</div>
+{% endmacro %}
+
+{% block content %}
+<section class='top-section'>
+    <div class='container'>
+        <div class='text-center'>
+            <!-- <img class="main-illustration" src='/assets/academy/img/expert.png' style='width: 700px;'> -->
+        </div>
+        <h1>{{ program.program_name }}</h1>
+        <p class='lead'>{{ program.description }}</p>
+        <p class="mt-4">
+            <a class="btn btn-primary btn-lg" href="/program/course">
+                Continue with Course 2</a>
+        </p>
+</section>
+
+<section class='section-padding section-bg'>
+    <div class='container'>
+        <h3 class='text-center'>Courses</h3>
+        <p class='lead text-center'>Master ERPNext with our Expert Learning Paths</p>
+        {% for course_item in course_list %}
+        {{ course_card(course_item) }}
+        {% endfor %}
+    </div>
+</section>
+
+{% include "www/lms/templates/includes/highlights.html" %}
+
+<style>
+    .footer-message {
+        display: none;
+    }
+
+    @media (max-width: 767px) {
+        .course-details {
+            margin-bottom: 1rem !important;
+        }
+    }
+</style>
+
+{% endblock %}
\ No newline at end of file
diff --git a/erpnext/www/lms/program.py b/erpnext/www/lms/program.py
new file mode 100644
index 0000000..809e6cd
--- /dev/null
+++ b/erpnext/www/lms/program.py
@@ -0,0 +1,20 @@
+from __future__ import unicode_literals
+import frappe
+
+
+# Get the classroom's route parameter from the url
+url_param = frappe.form_dict["code"]
+# Get classroom from classroom_name
+current_program = frappe.get_doc("Program", url_param)
+
+def get_context(context):
+    context.program = current_program
+    context.course_list, context.course_data = get_courses()
+
+def get_courses():
+    course_data = {}
+    course_names = [program.course_name for program in current_program.courses]
+    program_courses = [frappe.get_doc('Course', name) for name in course_names]
+    for course_item in program_courses:
+        course_data[course_item.name] = [content_item.content for content_item in course_item.course_content if content_item.content_type in ('Video', 'Article')]
+    return course_names, course_data
diff --git a/erpnext/www/lms/templates/includes/footer/footer.html b/erpnext/www/lms/templates/includes/footer/footer.html
new file mode 100644
index 0000000..62aabea
--- /dev/null
+++ b/erpnext/www/lms/templates/includes/footer/footer.html
@@ -0,0 +1,60 @@
+<footer class="bg-dark pt-4">
+	<div class="container">
+    <div class="row mt-4 mb-5">
+		<div class='col-sm-12 col-md-6 mb-4' style='display: flex; flex-direction: column; justify-content: space-between;'>
+			<img src="/assets/academy/img/graduation-cap.svg"
+				style='height: 50px; width: 50px;'>
+		    <div class="text-muted">
+		        <div style="line-height: 2">
+		            &copy;<span id="year"></span> Frappe Technologies Pvt. Ltd.
+				</div>
+		    </div>
+		</div>
+        <div class="col-xs-12 col-sm-6 col-md-3">
+			<h6 class='text-light'>Social</h6>
+            <ul class="list-unstyled">
+                <li class="py-2">
+                    <a href="https://frappe.io/blog" class="text-muted">Blog</a>
+                </li>
+                <li class="py-2">
+                    <a href="https://discuss.erpnext.com" class="text-muted">Forum</a>
+                </li>
+                <li class="py-2">
+                    <a href="https://github.com/frappe" class="text-muted">GitHub</a>
+                </li>
+                <li class="py-2">
+                    <a href="https://twitter.com/erpnext" class="text-muted">Twitter</a>
+                </li>
+                <li class="py-2">
+                    <a href="https://medium.com/frapp%C3%A9-thoughts" class="text-muted">Medium</a>
+                </li>
+                <li class="py-2">
+                    <a href="https://www.facebook.com/ERPNext" class="text-muted">Facebook</a>
+                </li>
+            </ul>
+        </div>
+
+        <div class="col-xs-12 col-sm-6 col-md-3">
+			<h6 class='text-light'>Company</h6>
+            <ul class="list-unstyled">
+                <li class="py-2">
+                    <a href="https://erpnext.com" class="text-muted">ERPNext</a>
+                </li>
+                <li class="py-2">
+                    <a href="https://frappe.io/about" class="text-muted">Team</a>
+                </li>
+                <li class="py-2">
+                    <a href="https://frappe.io/about" class="text-muted">Jobs</a>
+                </li>
+                <li class="py-2">
+                    <a href="https://frappe.io/about#contact" class="text-muted">Contact</a>
+                </li>
+            </ul>
+        </div>
+    </div>
+
+	<div class='mt-4 text-muted text-center'>"Be the change, you wish to see in the world ~ M. K. Gandhi"
+
+	</div>
+</footer>
+<!--Javascript-->
\ No newline at end of file
diff --git a/erpnext/www/lms/templates/includes/highlights.html b/erpnext/www/lms/templates/includes/highlights.html
new file mode 100644
index 0000000..a97d699
--- /dev/null
+++ b/erpnext/www/lms/templates/includes/highlights.html
@@ -0,0 +1,41 @@
+<section class="section-padding">
+        <div class='container'>
+            <h3 class='text-center'>Highlights</h3>
+            <div class='card-deck mt-5'>
+                <div class="card">
+                    <div class='card-body'>
+                        <h5 class='card-title'>Curated Courses</h5>
+                        <div>Learning paths specifically designed for the your use cases, whether you are a user, developer
+                            or an
+                            implementer</div>
+                    </div>
+                    <div class='card-footer'>
+                        <a href="#" class='text-muted small'>Explore Learning Paths</a>
+                    </div>
+                </div>
+    
+                <div class="card">
+                    <div class='card-body'>
+                        <h5 class='card-title'>Comprehensive Content</h5>
+                        <div>Content designed to cover all the fundamentals as well as expert tips and techniques to make
+                            the most out of ERPNext.</div>
+                    </div>
+                    <div class='card-footer'>
+                        <a href="#" class='text-muted small'>View Course List</a>
+                    </div>
+                </div>
+    
+                <div class="card">
+                    <div class='card-body'>
+                        <h5 class='card-title'>Certification</h5>
+                        <div>ERPNext is open source and infinitely extensible. Customize it, build upon it, add your own
+                            apps built with
+                            <a href="https://frappe.io" class="underline">Frappe Framework</a>.</div>
+                    </div>
+                    <div class='card-footer'>
+                        <a href="#" class='text-muted small'>Certification Benefits</a>
+                    </div>
+                </div>
+            </div>
+        </div>
+    </section>
\ No newline at end of file
