diff --git a/assets/css/styles.css b/assets/css/styles.css index f9d31fe..e1c9b34 100644 --- a/assets/css/styles.css +++ b/assets/css/styles.css @@ -1,3 +1,4 @@ +@charset "UTF-8"; :root { /* Gray */ --gray-50: #f9fafb; @@ -942,6 +943,508 @@ select { max-width: 1536px; } } +.prose { + color: var(--tw-prose-body); + max-width: 65ch; +} + +.prose :where(p):not(:where([class~=not-prose], [class~=not-prose] *)) { + margin-top: 1.25em; + margin-bottom: 1.25em; +} + +.prose :where([class~=lead]):not(:where([class~=not-prose], [class~=not-prose] *)) { + color: var(--tw-prose-lead); + font-size: 1.25em; + line-height: 1.6; + margin-top: 1.2em; + margin-bottom: 1.2em; +} + +.prose :where(a):not(:where([class~=not-prose], [class~=not-prose] *)) { + color: var(--tw-prose-links); + text-decoration: underline; + font-weight: 500; +} + +.prose :where(strong):not(:where([class~=not-prose], [class~=not-prose] *)) { + color: var(--tw-prose-bold); + font-weight: 600; +} + +.prose :where(a strong):not(:where([class~=not-prose], [class~=not-prose] *)) { + color: inherit; +} + +.prose :where(blockquote strong):not(:where([class~=not-prose], [class~=not-prose] *)) { + color: inherit; +} + +.prose :where(thead th strong):not(:where([class~=not-prose], [class~=not-prose] *)) { + color: inherit; +} + +.prose :where(ol):not(:where([class~=not-prose], [class~=not-prose] *)) { + list-style-type: decimal; + margin-top: 1.25em; + margin-bottom: 1.25em; + padding-left: 1.625em; +} + +.prose :where(ol[type=A]):not(:where([class~=not-prose], [class~=not-prose] *)) { + list-style-type: upper-alpha; +} + +.prose :where(ol[type=a]):not(:where([class~=not-prose], [class~=not-prose] *)) { + list-style-type: lower-alpha; +} + +.prose :where(ol[type=A s]):not(:where([class~=not-prose], [class~=not-prose] *)) { + list-style-type: upper-alpha; +} + +.prose :where(ol[type=a s]):not(:where([class~=not-prose], [class~=not-prose] *)) { + list-style-type: lower-alpha; +} + +.prose :where(ol[type=I]):not(:where([class~=not-prose], [class~=not-prose] *)) { + list-style-type: upper-roman; +} + +.prose :where(ol[type=i]):not(:where([class~=not-prose], [class~=not-prose] *)) { + list-style-type: lower-roman; +} + +.prose :where(ol[type=I s]):not(:where([class~=not-prose], [class~=not-prose] *)) { + list-style-type: upper-roman; +} + +.prose :where(ol[type=i s]):not(:where([class~=not-prose], [class~=not-prose] *)) { + list-style-type: lower-roman; +} + +.prose :where(ol[type="1"]):not(:where([class~=not-prose], [class~=not-prose] *)) { + list-style-type: decimal; +} + +.prose :where(ul):not(:where([class~=not-prose], [class~=not-prose] *)) { + list-style-type: disc; + margin-top: 1.25em; + margin-bottom: 1.25em; + padding-left: 1.625em; +} + +.prose :where(ol > li):not(:where([class~=not-prose], [class~=not-prose] *))::marker { + font-weight: 400; + color: var(--tw-prose-counters); +} + +.prose :where(ul > li):not(:where([class~=not-prose], [class~=not-prose] *))::marker { + color: var(--tw-prose-bullets); +} + +.prose :where(dt):not(:where([class~=not-prose], [class~=not-prose] *)) { + color: var(--tw-prose-headings); + font-weight: 600; + margin-top: 1.25em; +} + +.prose :where(hr):not(:where([class~=not-prose], [class~=not-prose] *)) { + border-color: var(--tw-prose-hr); + border-top-width: 1px; + margin-top: 3em; + margin-bottom: 3em; +} + +.prose :where(blockquote):not(:where([class~=not-prose], [class~=not-prose] *)) { + font-weight: 500; + font-style: italic; + color: var(--tw-prose-quotes); + border-left-width: 0.25rem; + border-left-color: var(--tw-prose-quote-borders); + quotes: "“" "”" "‘" "’"; + margin-top: 1.6em; + margin-bottom: 1.6em; + padding-left: 1em; +} + +.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose], [class~=not-prose] *))::before { + content: open-quote; +} + +.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose], [class~=not-prose] *))::after { + content: close-quote; +} + +.prose :where(h1):not(:where([class~=not-prose], [class~=not-prose] *)) { + color: var(--tw-prose-headings); + font-weight: 800; + font-size: 2.25em; + margin-top: 0; + margin-bottom: 0.8888889em; + line-height: 1.1111111; +} + +.prose :where(h1 strong):not(:where([class~=not-prose], [class~=not-prose] *)) { + font-weight: 900; + color: inherit; +} + +.prose :where(h2):not(:where([class~=not-prose], [class~=not-prose] *)) { + color: var(--tw-prose-headings); + font-weight: 700; + font-size: 1.5em; + margin-top: 2em; + margin-bottom: 1em; + line-height: 1.3333333; +} + +.prose :where(h2 strong):not(:where([class~=not-prose], [class~=not-prose] *)) { + font-weight: 800; + color: inherit; +} + +.prose :where(h3):not(:where([class~=not-prose], [class~=not-prose] *)) { + color: var(--tw-prose-headings); + font-weight: 600; + font-size: 1.25em; + margin-top: 1.6em; + margin-bottom: 0.6em; + line-height: 1.6; +} + +.prose :where(h3 strong):not(:where([class~=not-prose], [class~=not-prose] *)) { + font-weight: 700; + color: inherit; +} + +.prose :where(h4):not(:where([class~=not-prose], [class~=not-prose] *)) { + color: var(--tw-prose-headings); + font-weight: 600; + margin-top: 1.5em; + margin-bottom: 0.5em; + line-height: 1.5; +} + +.prose :where(h4 strong):not(:where([class~=not-prose], [class~=not-prose] *)) { + font-weight: 700; + color: inherit; +} + +.prose :where(img):not(:where([class~=not-prose], [class~=not-prose] *)) { + margin-top: 2em; + margin-bottom: 2em; +} + +.prose :where(picture):not(:where([class~=not-prose], [class~=not-prose] *)) { + display: block; + margin-top: 2em; + margin-bottom: 2em; +} + +.prose :where(kbd):not(:where([class~=not-prose], [class~=not-prose] *)) { + font-weight: 500; + font-family: inherit; + color: var(--tw-prose-kbd); + box-shadow: 0 0 0 1px rgb(var(--tw-prose-kbd-shadows)/10%), 0 3px 0 rgb(var(--tw-prose-kbd-shadows)/10%); + font-size: 0.875em; + border-radius: 0.3125rem; + padding-top: 0.1875em; + padding-right: 0.375em; + padding-bottom: 0.1875em; + padding-left: 0.375em; +} + +.prose :where(code):not(:where([class~=not-prose], [class~=not-prose] *)) { + color: var(--tw-prose-code); + font-weight: 600; + font-size: 0.875em; +} + +.prose :where(code):not(:where([class~=not-prose], [class~=not-prose] *))::before { + content: "`"; +} + +.prose :where(code):not(:where([class~=not-prose], [class~=not-prose] *))::after { + content: "`"; +} + +.prose :where(a code):not(:where([class~=not-prose], [class~=not-prose] *)) { + color: inherit; +} + +.prose :where(h1 code):not(:where([class~=not-prose], [class~=not-prose] *)) { + color: inherit; +} + +.prose :where(h2 code):not(:where([class~=not-prose], [class~=not-prose] *)) { + color: inherit; + font-size: 0.875em; +} + +.prose :where(h3 code):not(:where([class~=not-prose], [class~=not-prose] *)) { + color: inherit; + font-size: 0.9em; +} + +.prose :where(h4 code):not(:where([class~=not-prose], [class~=not-prose] *)) { + color: inherit; +} + +.prose :where(blockquote code):not(:where([class~=not-prose], [class~=not-prose] *)) { + color: inherit; +} + +.prose :where(thead th code):not(:where([class~=not-prose], [class~=not-prose] *)) { + color: inherit; +} + +.prose :where(pre):not(:where([class~=not-prose], [class~=not-prose] *)) { + color: var(--tw-prose-pre-code); + background-color: var(--tw-prose-pre-bg); + overflow-x: auto; + font-weight: 400; + font-size: 0.875em; + line-height: 1.7142857; + margin-top: 1.7142857em; + margin-bottom: 1.7142857em; + border-radius: 0.375rem; + padding-top: 0.8571429em; + padding-right: 1.1428571em; + padding-bottom: 0.8571429em; + padding-left: 1.1428571em; +} + +.prose :where(pre code):not(:where([class~=not-prose], [class~=not-prose] *)) { + background-color: transparent; + border-width: 0; + border-radius: 0; + padding: 0; + font-weight: inherit; + color: inherit; + font-size: inherit; + font-family: inherit; + line-height: inherit; +} + +.prose :where(pre code):not(:where([class~=not-prose], [class~=not-prose] *))::before { + content: none; +} + +.prose :where(pre code):not(:where([class~=not-prose], [class~=not-prose] *))::after { + content: none; +} + +.prose :where(table):not(:where([class~=not-prose], [class~=not-prose] *)) { + width: 100%; + table-layout: auto; + text-align: left; + margin-top: 2em; + margin-bottom: 2em; + font-size: 0.875em; + line-height: 1.7142857; +} + +.prose :where(thead):not(:where([class~=not-prose], [class~=not-prose] *)) { + border-bottom-width: 1px; + border-bottom-color: var(--tw-prose-th-borders); +} + +.prose :where(thead th):not(:where([class~=not-prose], [class~=not-prose] *)) { + color: var(--tw-prose-headings); + font-weight: 600; + vertical-align: bottom; + padding-right: 0.5714286em; + padding-bottom: 0.5714286em; + padding-left: 0.5714286em; +} + +.prose :where(tbody tr):not(:where([class~=not-prose], [class~=not-prose] *)) { + border-bottom-width: 1px; + border-bottom-color: var(--tw-prose-td-borders); +} + +.prose :where(tbody tr:last-child):not(:where([class~=not-prose], [class~=not-prose] *)) { + border-bottom-width: 0; +} + +.prose :where(tbody td):not(:where([class~=not-prose], [class~=not-prose] *)) { + vertical-align: baseline; +} + +.prose :where(tfoot):not(:where([class~=not-prose], [class~=not-prose] *)) { + border-top-width: 1px; + border-top-color: var(--tw-prose-th-borders); +} + +.prose :where(tfoot td):not(:where([class~=not-prose], [class~=not-prose] *)) { + vertical-align: top; +} + +.prose :where(figure > *):not(:where([class~=not-prose], [class~=not-prose] *)) { + margin-top: 0; + margin-bottom: 0; +} + +.prose :where(figcaption):not(:where([class~=not-prose], [class~=not-prose] *)) { + color: var(--tw-prose-captions); + font-size: 0.875em; + line-height: 1.4285714; + margin-top: 0.8571429em; +} + +.prose { + --tw-prose-body: #374151; + --tw-prose-headings: #111827; + --tw-prose-lead: #4b5563; + --tw-prose-links: #111827; + --tw-prose-bold: #111827; + --tw-prose-counters: #6b7280; + --tw-prose-bullets: #d1d5db; + --tw-prose-hr: #e5e7eb; + --tw-prose-quotes: #111827; + --tw-prose-quote-borders: #e5e7eb; + --tw-prose-captions: #6b7280; + --tw-prose-kbd: #111827; + --tw-prose-kbd-shadows: 17 24 39; + --tw-prose-code: #111827; + --tw-prose-pre-code: #e5e7eb; + --tw-prose-pre-bg: #1f2937; + --tw-prose-th-borders: #d1d5db; + --tw-prose-td-borders: #e5e7eb; + --tw-prose-invert-body: #d1d5db; + --tw-prose-invert-headings: #fff; + --tw-prose-invert-lead: #9ca3af; + --tw-prose-invert-links: #fff; + --tw-prose-invert-bold: #fff; + --tw-prose-invert-counters: #9ca3af; + --tw-prose-invert-bullets: #4b5563; + --tw-prose-invert-hr: #374151; + --tw-prose-invert-quotes: #f3f4f6; + --tw-prose-invert-quote-borders: #374151; + --tw-prose-invert-captions: #9ca3af; + --tw-prose-invert-kbd: #fff; + --tw-prose-invert-kbd-shadows: 255 255 255; + --tw-prose-invert-code: #fff; + --tw-prose-invert-pre-code: #d1d5db; + --tw-prose-invert-pre-bg: rgb(0 0 0 / 50%); + --tw-prose-invert-th-borders: #4b5563; + --tw-prose-invert-td-borders: #374151; + font-size: 1rem; + line-height: 1.75; +} + +.prose :where(picture > img):not(:where([class~=not-prose], [class~=not-prose] *)) { + margin-top: 0; + margin-bottom: 0; +} + +.prose :where(video):not(:where([class~=not-prose], [class~=not-prose] *)) { + margin-top: 2em; + margin-bottom: 2em; +} + +.prose :where(li):not(:where([class~=not-prose], [class~=not-prose] *)) { + margin-top: 0.5em; + margin-bottom: 0.5em; +} + +.prose :where(ol > li):not(:where([class~=not-prose], [class~=not-prose] *)) { + padding-left: 0.375em; +} + +.prose :where(ul > li):not(:where([class~=not-prose], [class~=not-prose] *)) { + padding-left: 0.375em; +} + +.prose :where(.prose > ul > li p):not(:where([class~=not-prose], [class~=not-prose] *)) { + margin-top: 0.75em; + margin-bottom: 0.75em; +} + +.prose :where(.prose > ul > li > *:first-child):not(:where([class~=not-prose], [class~=not-prose] *)) { + margin-top: 1.25em; +} + +.prose :where(.prose > ul > li > *:last-child):not(:where([class~=not-prose], [class~=not-prose] *)) { + margin-bottom: 1.25em; +} + +.prose :where(.prose > ol > li > *:first-child):not(:where([class~=not-prose], [class~=not-prose] *)) { + margin-top: 1.25em; +} + +.prose :where(.prose > ol > li > *:last-child):not(:where([class~=not-prose], [class~=not-prose] *)) { + margin-bottom: 1.25em; +} + +.prose :where(ul ul, ul ol, ol ul, ol ol):not(:where([class~=not-prose], [class~=not-prose] *)) { + margin-top: 0.75em; + margin-bottom: 0.75em; +} + +.prose :where(dl):not(:where([class~=not-prose], [class~=not-prose] *)) { + margin-top: 1.25em; + margin-bottom: 1.25em; +} + +.prose :where(dd):not(:where([class~=not-prose], [class~=not-prose] *)) { + margin-top: 0.5em; + padding-left: 1.625em; +} + +.prose :where(hr + *):not(:where([class~=not-prose], [class~=not-prose] *)) { + margin-top: 0; +} + +.prose :where(h2 + *):not(:where([class~=not-prose], [class~=not-prose] *)) { + margin-top: 0; +} + +.prose :where(h3 + *):not(:where([class~=not-prose], [class~=not-prose] *)) { + margin-top: 0; +} + +.prose :where(h4 + *):not(:where([class~=not-prose], [class~=not-prose] *)) { + margin-top: 0; +} + +.prose :where(thead th:first-child):not(:where([class~=not-prose], [class~=not-prose] *)) { + padding-left: 0; +} + +.prose :where(thead th:last-child):not(:where([class~=not-prose], [class~=not-prose] *)) { + padding-right: 0; +} + +.prose :where(tbody td, tfoot td):not(:where([class~=not-prose], [class~=not-prose] *)) { + padding-top: 0.5714286em; + padding-right: 0.5714286em; + padding-bottom: 0.5714286em; + padding-left: 0.5714286em; +} + +.prose :where(tbody td:first-child, tfoot td:first-child):not(:where([class~=not-prose], [class~=not-prose] *)) { + padding-left: 0; +} + +.prose :where(tbody td:last-child, tfoot td:last-child):not(:where([class~=not-prose], [class~=not-prose] *)) { + padding-right: 0; +} + +.prose :where(figure):not(:where([class~=not-prose], [class~=not-prose] *)) { + margin-top: 2em; + margin-bottom: 2em; +} + +.prose :where(.prose > :first-child):not(:where([class~=not-prose], [class~=not-prose] *)) { + margin-top: 0; +} + +.prose :where(.prose > :last-child):not(:where([class~=not-prose], [class~=not-prose] *)) { + margin-bottom: 0; +} + .static { position: static; } @@ -1157,6 +1660,10 @@ select { max-width: 36rem; } +.max-w-none { + max-width: none; +} + .flex-1 { flex: 1 1 0%; } diff --git a/assets/images/bgs/internal/privacy-policy.png b/assets/images/bgs/internal/privacy-policy.png new file mode 100644 index 0000000..1c09ea0 Binary files /dev/null and b/assets/images/bgs/internal/privacy-policy.png differ diff --git a/functions.php b/functions.php index d374f01..a2b1897 100644 --- a/functions.php +++ b/functions.php @@ -8,7 +8,6 @@ include(get_theme_file_path('/includes/front-end/styles_and_scripts.php')); // include(get_theme_file_path('/includes/back-end/template_content_update.php')); include(get_theme_file_path('/includes/back-end/editor_styles_and_scripts.php')); include(get_theme_file_path('/includes/back-end/query_adjustments.php')); -include(get_theme_file_path('/includes/front-end/technical_seo.php')); include(get_theme_file_path('/includes/front-end/registration_form_message.php')); include(get_theme_file_path('/includes/front-end/custom_login_screen.php')); // include(get_theme_file_path('/')); @@ -33,9 +32,6 @@ add_action('after_setup_theme', 'themeStarter_editor_enqueue'); // Adjust Queries add_action('pre_get_posts', 'themeStarter_adjust_queries'); -// Add Facebook Open Graph and Twitter Card to Head -add_action('wp_head', 'open_graph_twitter_card', 2); - // Change Registration Message add_action('login_message', 'change_reg_message'); diff --git a/includes/back-end/helper_functions.php b/includes/back-end/helper_functions.php index 4f0e7a5..54d0acd 100644 --- a/includes/back-end/helper_functions.php +++ b/includes/back-end/helper_functions.php @@ -42,7 +42,15 @@ function ddd($variable) // Get An Array of Top Level Pages and their Subpages function get_pages_as_array() { - $pages = get_pages(); + + $args = [ + 'sort_order' => 'ASC', + 'sort_column' => 'menu_order', + 'hierarchical' => 1, + 'exclude' => [] + ]; + + $pages = get_pages($args); $page_hierarchy = array(); foreach ($pages as $page) { diff --git a/includes/front-end/menu_data.php b/includes/front-end/menu_data.php index 35c032a..50035a2 100644 --- a/includes/front-end/menu_data.php +++ b/includes/front-end/menu_data.php @@ -2,23 +2,6 @@ $menuData = [ - // Daily Living and Housing - [ - 'slug' => 'daily-living-and-housing', - 'title' => 'Daily Living and Housing', - 'description' => 'Tips for independent living, housing options, and creating a comfortable daily routine.', - 'subcategories' => [ - ['title' => 'Before Signing The Lease', 'slug' => 'before-signing-the-lease', 'description' => ''], - ['title' => 'Finding A Place To Stay', 'slug' => 'finding-a-place-to-stay', 'description' => ''], - ['title' => 'First Time Renting FAQs', 'slug' => 'first-time-renting-faqs', 'description' => ''], - ['title' => 'House vs. Apartment', 'slug' => 'house-vs-apartment', 'description' => ''], - ['title' => 'Off Campus Housing', 'slug' => 'off-campus-housing', 'description' => ''], - ['title' => 'Students With Children', 'slug' => 'students-with-children', 'description' => ''], - ['title' => 'Transportation', 'slug' => 'transportation', 'description' => ''], - ], - 'bootstrap_icon' => 'bi-building', - ], - // Goals and Objectives [ 'slug' => 'goals-and-objectives', @@ -33,6 +16,22 @@ $menuData = [ 'bootstrap_icon' => 'bi-bullseye', ], + // Preparing for College or University + [ + 'slug' => 'preparing-for-college-and-university', + 'title' => 'Preparing for College and University', + 'description' => 'Navigate academia successfully with insights on admissions, majors, and preparation.', + 'subcategories' => [ + ['title' => 'Applying to Post Secondary', 'slug' => 'applying-to-post-secondary', 'description' => ''], + ['title' => 'Education Level Differences', 'slug' => 'education-level-differences', 'description' => ''], + ['title' => 'Online Learning and Remote Work', 'slug' => 'online-learning-and-remote-work', 'description' => ''], + ['title' => 'Strategies For Success', 'slug' => 'strategies-for-success', 'description' => ''], + ['title' => 'Support and Accommodations', 'slug' => 'support-and-accommodations', 'description' => ''], + ], + 'bootstrap_icon' => 'bi-journal-bookmark-fill', + ], + + // Managing Your Finances [ 'slug' => 'managing-your-finances', @@ -50,6 +49,23 @@ $menuData = [ 'bootstrap_icon' => 'bi-cash-coin', ], + // Daily Living and Housing + [ + 'slug' => 'daily-living-and-housing', + 'title' => 'Daily Living and Housing', + 'description' => 'Tips for independent living, housing options, and creating a comfortable daily routine.', + 'subcategories' => [ + ['title' => 'Before Signing The Lease', 'slug' => 'before-signing-the-lease', 'description' => ''], + ['title' => 'Finding A Place To Stay', 'slug' => 'finding-a-place-to-stay', 'description' => ''], + ['title' => 'First Time Renting FAQs', 'slug' => 'first-time-renting-faqs', 'description' => ''], + ['title' => 'House vs. Apartment', 'slug' => 'house-vs-apartment', 'description' => ''], + ['title' => 'Off Campus Housing', 'slug' => 'off-campus-housing', 'description' => ''], + ['title' => 'Students With Children', 'slug' => 'students-with-children', 'description' => ''], + ['title' => 'Transportation', 'slug' => 'transportation', 'description' => ''], + ], + 'bootstrap_icon' => 'bi-building', + ], + // Mental Health and Wellness [ 'slug' => 'mental-health-and-wellness', @@ -59,9 +75,11 @@ $menuData = [ ['title' => 'Gender Identity and Sexual Orientation', 'slug' => 'gender-identity-and-sexual-orientation', 'description' => ''], ['title' => 'Living In Balance', 'slug' => 'living-in-balance', 'description' => ''], ['title' => 'Making Healthy Choices', 'slug' => 'making-healthy-choices', 'description' => ''], - ['title' => 'Managing Stress', 'slug' => 'managing-stress', 'description' => '' + [ + 'title' => 'Managing Stress', 'slug' => 'managing-stress', 'description' => '' ], - ['title' => 'Physical Health', 'slug' => 'physical-health', 'description' => '' + [ + 'title' => 'Physical Health', 'slug' => 'physical-health', 'description' => '' ], ['title' => 'Safety', 'slug' => 'safety', 'description' => ''], ['title' => 'Sexual Health', 'slug' => 'sexual-health', 'description' => ''], @@ -70,20 +88,6 @@ $menuData = [ 'bootstrap_icon' => 'bi-heart-pulse-fill', ], - // Preparing for College or University - [ - 'slug' => 'preparing-for-college-and-university', - 'title' => 'Preparing for College and University', - 'description' => 'Navigate academia successfully with insights on admissions, majors, and preparation.', - 'subcategories' => [ - ['title' => 'Applying to Post Secondary', 'slug' => 'applying-to-post-secondary', 'description' => ''], - ['title' => 'Education Level Differences', 'slug' => 'education-level-differences', 'description' => ''], - ['title' => 'Online Learning and Remote Work', 'slug' => 'online-learning-and-remote-work', 'description' => ''], - ['title' => 'Strategies For Success', 'slug' => 'strategies-for-success', 'description' => ''], - ['title' => 'Support and Accommodations', 'slug' => 'support-and-accommodations', 'description' => ''], - ], - 'bootstrap_icon' => 'bi-journal-bookmark-fill', - ], // Forms and Additional Information [ diff --git a/includes/front-end/technical_seo.php b/includes/front-end/technical_seo.php deleted file mode 100644 index 7ec9f20..0000000 --- a/includes/front-end/technical_seo.php +++ /dev/null @@ -1,35 +0,0 @@ - - - - - - - - - - - - if (is_page($pageSlug)) { ?> - + -
Last updated: February 21, 2024
++ This Privacy Policy describes Our policies and procedures on the + collection, use and disclosure of Your information when You use the + Service and tells You about Your privacy rights and how the law protects + You. +
++ We may use Your Personal data to provide and improve the Service. By using the + Service, You agree to the collection and use of information in accordance + with this Privacy Policy. +
++ The words of which the initial letter is capitalized have meanings defined + under the following conditions. The following definitions shall have the + same meaning regardless of whether they appear in singular or in plural. +
+For the purposes of this Privacy Policy:
++ Account means a unique account created for You to + access our Service or parts of our Service. +
++ Affiliate means an entity that controls, is + controlled by or is under common control with a party, where + "control" means ownership of 50% or more of the shares, + equity interest or other securities entitled to vote for election of + directors or other managing authority. +
++ Application refers to NAN Student Handbook, the + software program provided by the Company. +
++ Company (referred to as either "the + Company", "We", "Us" or "Our" in + this Agreement) refers to harpLabs Inc., Suite 200, 55 Village Centre + Place Mississauga, ON L4Z 1V9. +
+Country refers to: Ontario, Canada
++ Device means any device that can access the Service + such as a computer, a cellphone or a digital tablet. +
++ Personal Data is any information that relates to an + identified or identifiable individual. +
+Service refers to the Application.
++ Service Provider means any natural or legal person + who processes the data on behalf of the Company. It refers to + third-party companies or individuals employed by the Company to + facilitate the Service, to provide the Service on behalf of the + Company, to perform services related to the Service or to assist the + Company in analyzing how the Service is used. +
++ Usage Data refers to data collected automatically, + either generated by the use of the Service or from the Service + infrastructure itself (for example, the duration of a page visit). +
++ You means the individual accessing or using the + Service, or the company, or other legal entity on behalf of which such + individual is accessing or using the Service, as applicable. +
++ While using Our Service, We may ask You to provide Us with certain + personally identifiable information that can be used to contact or + identify You. Personally identifiable information may include, but is not + limited to: +
+Usage Data is collected automatically when using the Service.
++ Usage Data may include information such as Your Device's Internet Protocol + address (e.g. IP address), browser type, browser version, the pages of our + Service that You visit, the time and date of Your visit, the time spent on + those pages, unique device identifiers and other diagnostic data. +
++ When You access the Service by or through a mobile device, We may collect + certain information automatically, including, but not limited to, the type + of mobile device You use, Your mobile device unique ID, the IP address of + Your mobile device, Your mobile operating system, the type of mobile + Internet browser You use, unique device identifiers and other diagnostic + data. +
++ We may also collect information that Your browser sends whenever You visit + our Service or when You access the Service by or through a mobile device. +
+The Company may use Personal Data for the following purposes:
++ To provide and maintain our Service, including to + monitor the usage of our Service. +
++ To manage Your Account: to manage Your registration + as a user of the Service. The Personal Data You provide can give You + access to different functionalities of the Service that are available + to You as a registered user. +
++ For the performance of a contract: the development, + compliance and undertaking of the purchase contract for the products, + items or services You have purchased or of any other contract with Us + through the Service. +
++ To contact You: To contact You by email, telephone + calls, SMS, or other equivalent forms of electronic communication, + such as a mobile application's push notifications regarding updates or + informative communications related to the functionalities, products or + contracted services, including the security updates, when necessary or + reasonable for their implementation. +
++ To provide You with news, special offers and general + information about other goods, services and events which we offer that + are similar to those that you have already purchased or enquired about + unless You have opted not to receive such information. +
++ To manage Your requests: To attend and manage Your + requests to Us. +
++ For business transfers: We may use Your information + to evaluate or conduct a merger, divestiture, restructuring, + reorganization, dissolution, or other sale or transfer of some or all + of Our assets, whether as a going concern or as part of bankruptcy, + liquidation, or similar proceeding, in which Personal Data held by Us + about our Service users is among the assets transferred. +
++ For other purposes: We may use Your information for + other purposes, such as data analysis, identifying usage trends, + determining the effectiveness of our promotional campaigns and to + evaluate and improve our Service, products, services, marketing and + your experience. +
+We may share Your personal information in the following situations:
++ The Company will retain Your Personal Data only for as long as is + necessary for the purposes set out in this Privacy Policy. We will retain + and use Your Personal Data to the extent necessary to comply with our + legal obligations (for example, if we are required to retain your data to + comply with applicable laws), resolve disputes, and enforce our legal + agreements and policies. +
++ The Company will also retain Usage Data for internal analysis purposes. + Usage Data is generally retained for a shorter period of time, except when + this data is used to strengthen the security or to improve the + functionality of Our Service, or We are legally obligated to retain this + data for longer time periods. +
++ Your information, including Personal Data, is processed at the Company's + operating offices and in any other places where the parties involved in + the processing are located. It means that this information may be + transferred to — and maintained on — computers located outside of Your + state, province, country or other governmental jurisdiction where the data + protection laws may differ than those from Your jurisdiction. +
++ Your consent to this Privacy Policy followed by Your submission of such + information represents Your agreement to that transfer. +
++ The Company will take all steps reasonably necessary to ensure that Your + data is treated securely and in accordance with this Privacy Policy and no + transfer of Your Personal Data will take place to an organization or a + country unless there are adequate controls in place including the security + of Your data and other personal information. +
++ You have the right to delete or request that We assist in deleting the + Personal Data that We have collected about You. +
++ Our Service may give You the ability to delete certain information about + You from within the Service. +
++ You may update, amend, or delete Your information at any time by signing + in to Your Account, if you have one, and visiting the account settings + section that allows you to manage Your personal information. You may also + contact Us to request access to, correct, or delete any personal + information that You have provided to Us. +
++ Please note, however, that We may need to retain certain information when + we have a legal obligation or lawful basis to do so. +
++ If the Company is involved in a merger, acquisition or asset sale, Your + Personal Data may be transferred. We will provide notice before Your + Personal Data is transferred and becomes subject to a different Privacy + Policy. +
++ Under certain circumstances, the Company may be required to disclose Your + Personal Data if required to do so by law or in response to valid requests + by public authorities (e.g. a court or a government agency). +
++ The Company may disclose Your Personal Data in the good faith belief that + such action is necessary to: +
++ The security of Your Personal Data is important to Us, but remember that + no method of transmission over the Internet, or method of electronic + storage is 100% secure. While We strive to use commercially acceptable + means to protect Your Personal Data, We cannot guarantee its absolute + security. +
++ Our Service does not address anyone under the age of 13. We do not + knowingly collect personally identifiable information from anyone under + the age of 13. If You are a parent or guardian and You are aware that Your + child has provided Us with Personal Data, please contact Us. If We become + aware that We have collected Personal Data from anyone under the age of 13 + without verification of parental consent, We take steps to remove that + information from Our servers. +
++ If We need to rely on consent as a legal basis for processing Your + information and Your country requires consent from a parent, We may + require Your parent's consent before We collect and use that information. +
++ Our Service may contain links to other websites that are not operated by + Us. If You click on a third party link, You will be directed to that third + party's site. We strongly advise You to review the Privacy Policy of every + site You visit. +
++ We have no control over and assume no responsibility for the content, + privacy policies or practices of any third party sites or services. +
++ We may update Our Privacy Policy from time to time. We will notify You of + any changes by posting the new Privacy Policy on this page. +
++ We will let You know via email and/or a prominent notice on Our Service, + prior to the change becoming effective and update the "Last + updated" date at the top of this Privacy Policy. +
++ You are advised to review this Privacy Policy periodically for any + changes. Changes to this Privacy Policy are effective when they are posted + on this page. +
++ If you have any questions about this Privacy Policy, You can contact us: +
+By email: info@harplabs.com
++ By visiting this page on our website: + NAN Student Handbook Privacy Policy +
+