PageSourceSearch

https://jeffkelly.com/home/services/

html jeffkelly.com collected 2026-10-05 05:48:15 UTC 83,644 bytes, 562 lines download raw bytes

1<!doctype html>
2<html lang="en-CA" prefix="og: https://ogp.me/ns#">
3<head>
4	<meta charset="UTF-8" />
5	<meta name="viewport" content="width=device-width, initial-scale=1" />
6	<link rel="profile" href="https://gmpg.org/xfn/11" />
7	
8<!-- Search Engine Optimization by Rank Math - https://rankmath.com/ -->
9<title>My services - Jeff C. Kelly</title>
10<meta name="description" content="My SharePoint and digital workspace/AI consulting services in Canada. Team lead/solution architect, consultant, trainer, technical writer, developer. Intranets/digital workspaces, Power Platform, Copilot, automations and more."/>
11<meta name="robots" content="follow, index, max-snippet:-1, max-video-preview:-1, max-image-preview:large"/>
12<link rel="canonical" href="https://jeffkelly.com/home/services/" />
13<meta property="og:locale" content="en_US" />
14<meta property="og:type" content="article" />
15<meta property="og:title" content="My services - Jeff C. Kelly" />
16<meta property="og:description" content="My SharePoint and digital workspace/AI consulting services in Canada. Team lead/solution architect, consultant, trainer, technical writer, developer. Intranets/digital workspaces, Power Platform, Copilot, automations and more." />
17<meta property="og:url" content="https://jeffkelly.com/home/services/" />
18<meta property="og:site_name" content="Jeff C. Kelly" />
19<meta property="og:updated_time" content="2026-03-20T18:14:32+00:00" />
20<meta property="article:published_time" content="2025-03-06T14:08:38+00:00" />
21<meta property="article:modified_time" content="2026-03-20T18:14:32+00:00" />
22<meta name="twitter:card" content="summary_large_image" />
23<meta name="twitter:title" content="My services - Jeff C. Kelly" />
24<meta name="twitter:description" content="My SharePoint and digital workspace/AI consulting services in Canada. Team lead/solution architect, consultant, trainer, technical writer, developer. Intranets/digital workspaces, Power Platform, Copilot, automations and more." />
25<meta name="twitter:label1" content="Time to read" />
26<meta name="twitter:data1" content="Less than a minute" />
27<script type="application/ld+json" class="rank-math-schema">{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://jeffkelly.com/#organization","name":"Jeff C. Kelly","url":"https://jeffkelly.com","logo":{"@type":"ImageObject","@id":"https://jeffkelly.com/#logo","url":"https://jeffkelly.com/wp-content/uploads/2025/05/Jeff-Kelly-Logo-2.png","contentUrl":"https://jeffkelly.com/wp-content/uploads/2025/05/Jeff-Kelly-Logo-2.png","caption":"Jeff C. Kelly","inLanguage":"en-CA","width":"266","height":"68"}},{"@type":"WebSite","@id":"https://jeffkelly.com/#website","url":"https://jeffkelly.com","name":"Jeff C. Kelly","alternateName":"Jeffkelly","publisher":{"@id":"https://jeffkelly.com/#organization"},"inLanguage":"en-CA"},{"@type":"ImageObject","@id":"https://jeffkelly.com/wp-content/uploads/2025/06/sharepoint-services-1.png","url":"https://jeffkelly.com/wp-content/uploads/2025/06/sharepoint-services-1.png","width":"200","height":"200","inLanguage":"en-CA"},{"@type":"BreadcrumbList","@id":"https://jeffkelly.com/home/services/#breadcrumb","itemListElement":[{"@type":"ListItem","position":"1","item":{"@id":"https://jeffkelly.com","name":"Home"}},{"@type":"ListItem","position":"2","item":{"@id":"https://jeffkelly.com/","name":"Home"}},{"@type":"ListItem","position":"3","item":{"@id":"https://jeffkelly.com/home/services/","name":"My services"}}]},{"@type":"WebPage","@id":"https://jeffkelly.com/home/services/#webpage","url":"https://jeffkelly.com/home/services/","name":"My services - Jeff C. Kelly","datePublished":"2025-03-06T14:08:38+00:00","dateModified":"2026-03-20T18:14:32+00:00","isPartOf":{"@id":"https://jeffkelly.com/#website"},"primaryImageOfPage":{"@id":"https://jeffkelly.com/wp-content/uploads/2025/06/sharepoint-services-1.png"},"inLanguage":"en-CA","breadcrumb":{"@id":"https://jeffkelly.com/home/services/#breadcrumb"}},{"@type":"Person","@id":"https://jeffkelly.com/author/jeffckelly/","name":"jeffckelly","url":"https://jeffkelly.com/author/jeffckelly/","image":{"@type":"ImageObject","@id":"https://secure.gravatar.com/avatar/96a01efc9b5882ea5b88dd5375a12287e78324104b37c69558c3dc2910ca3708?s=96&amp;d=mm&amp;r=g","url":"https://secure.gravatar.com/avatar/96a01efc9b5882ea5b88dd5375a12287e78324104b37c69558c3dc2910ca3708?s=96&amp;d=mm&amp;r=g","caption":"jeffckelly","inLanguage":"en-CA"},"sameAs":["https://jeffkelly.com"],"worksFor":{"@id":"https://jeffkelly.com/#organization"}},{"@type":"Article","headline":"My services - Jeff C. Kelly","keywords":"SharePoint and digital workspace/AI consulting services in Canada","datePublished":"2025-03-06T14:08:38+00:00","dateModified":"2026-03-20T18:14:32+00:00","author":{"@id":"https://jeffkelly.com/author/jeffckelly/","name":"jeffckelly"},"publisher":{"@id":"https://jeffkelly.com/#organization"},"description":"My SharePoint and digital workspace/AI consulting services in Canada. Team lead/solution architect, consultant, trainer, technical writer, developer. Intranets/digital workspaces, Power Platform, Copilot, automations and more.","name":"My services - Jeff C. Kelly","@id":"https://jeffkelly.com/home/services/#richSnippet","isPartOf":{"@id":"https://jeffkelly.com/home/services/#webpage"},"image":{"@id":"https://jeffkelly.com/wp-content/uploads/2025/06/sharepoint-services-1.png"},"inLanguage":"en-CA","mainEntityOfPage":{"@id":"https://jeffkelly.com/home/services/#webpage"}}]}</script>
27
28<!-- /Rank Math WordPress SEO plugin -->
29
30<link rel='dns-prefetch' href='//fonts.googleapis.com' />
31<link href='https://fonts.gstatic.com' crossorigin='1' rel='preconnect' />
32<link rel="alternate" type="application/rss+xml" title="Jeff C. Kelly &raquo; Feed" href="https://jeffkelly.com/feed/" />
33<link rel="alternate" type="application/rss+xml" title="Jeff C. Kelly &raquo; Comments Feed" href="https://jeffkelly.com/comments/feed/" />
34<link rel="alternate" title="oEmbed (JSON)" type="application/json+oembed" href="https://jeffkelly.com/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fjeffkelly.com%2Fhome%2Fservices%2F" />
35<link rel="alternate" title="oEmbed (XML)" type="text/xml+oembed" href="https://jeffkelly.com/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fjeffkelly.com%2Fhome%2Fservices%2F&#038;format=xml" />
36<style id="wp-img-auto-sizes-contain-inline-css">
37img:is([sizes=auto i],[sizes^="auto," i]){contain-intrinsic-size:3000px 1500px}
38/*# sourceURL=wp-img-auto-sizes-contain-inline-css */
39</style>
40<style id="wp-emoji-styles-inline-css">
41
42	img.wp-smiley, img.emoji {
43		display: inline !important;
44		border: none !important;
45		box-shadow: none !important;
46		height: 1em !important;
47		width: 1em !important;
48		margin: 0 0.07em !important;
49		vertical-align: -0.1em !important;
50		background: none !important;
51		padding: 0 !important;
52	}
53/*# sourceURL=wp-emoji-styles-inline-css */
54</style>
55<style id="wp-block-library-inline-css">
56:root{--wp-block-synced-color:#7a00df;--wp-block-synced-color--rgb:122,0,223;--wp-bound-block-color:var(--wp-block-synced-color);--wp-editor-canvas-background:#ddd;--wp-admin-theme-color:#007cba;--wp-admin-theme-color--rgb:0,124,186;--wp-admin-theme-color-darker-10:#006ba1;--wp-admin-theme-color-darker-10--rgb:0,107,160.5;--wp-admin-theme-color-darker-20:#005a87;--wp-admin-theme-color-darker-20--rgb:0,90,135;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}.wp-element-button{cursor:pointer}:root .has-very-light-gray-background-color{background-color:#eee}:root .has-very-dark-gray-background-color{background-color:#313131}:root .has-very-light-gray-color{color:#eee}:root .has-very-dark-gray-color{color:#313131}:root .has-vivid-green-cyan-to-vivid-cyan-blue-gradient-background{background:linear-gradient(135deg,#00d084,#0693e3)}:root .has-purple-crush-gradient-background{background:linear-gradient(135deg,#34e2e4,#4721fb 50%,#ab1dfe)}:root .has-hazy-dawn-gradient-background{background:linear-gradient(135deg,#faaca8,#dad0ec)}:root .has-subdued-olive-gradient-background{background:linear-gradient(135deg,#fafae1,#67a671)}:root .has-atomic-cream-gradient-background{background:linear-gradient(135deg,#fdd79a,#004a59)}:root .has-nightshade-gradient-background{background:linear-gradient(135deg,#330968,#31cdcf)}:root .has-midnight-gradient-background{background:linear-gradient(135deg,#020381,#2874fc)}:root{--wp--preset--font-size--normal:16px;
56--wp--preset--font-size--huge:42px}.has-regular-font-size{font-size:1em}.has-larger-font-size{font-size:2.625em}.has-normal-font-size{font-size:var(--wp--preset--font-size--normal)}.has-huge-font-size{font-size:var(--wp--preset--font-size--huge)}:root .has-text-align-center{text-align:center}:root .has-text-align-left{text-align:left}:root .has-text-align-right{text-align:right}.has-fit-text{white-space:nowrap!important}#end-resizable-editor-section{display:none}.aligncenter{clear:both}.items-justified-left{justify-content:flex-start}.items-justified-center{justify-content:center}.items-justified-right{justify-content:flex-end}.items-justified-space-between{justify-content:space-between}.screen-reader-text{word-wrap:normal!important;border:0;clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-break:normal!important}.screen-reader-text:focus{background-color:#ddd;clip-path:none;color:#444;display:block;font-size:1em;height:auto;left:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000}html :where(.has-border-color){border-style:solid}html :where([style^=border-color],[style*=";border-color"],[style*="; border-color"]){border-style:solid}html :where([style^=border-top-color],[style*=";border-top-color"],[style*="; border-top-color"]){border-top-style:solid}html :where([style^=border-right-color],[style*=";border-right-color"],[style*="; border-right-color"]){border-right-style:solid}html :where([style^=border-bottom-color],[style*=";border-bottom-color"],[style*="; border-bottom-color"]){border-bottom-style:solid}html :where([style^=border-left-color],[style*=";border-left-color"],[style*="; border-left-color"]){border-left-style:solid}html :where([style^=border-width],[style*=";border-width"],[style*="; border-width"]){border-style:solid}html :where([style^=border-top-width],[style*=";border-top-width"],[style*="; border-top-width"]){border-top-style:solid}html :where([style^=border-right-width],[style*=";border-right-width"],[style*="; border-right-width"]){border-right-style:solid}html :where([style^=border-bottom-width],[style*=";border-bottom-width"],[style*="; border-bottom-width"]){border-bottom-style:solid}html :where([style^=border-left-width],[style*=";border-left-width"],[style*="; border-left-width"]){border-left-style:solid}html :where(img[class*=wp-image-]){height:auto;max-width:100%}:where(figure){margin:0 0 1em}html :where(.is-position-sticky){--wp-admin--admin-bar--position-offset:var(--wp-admin--admin-bar--height,0px)}@media screen and (max-width:600px){html :where(.is-position-sticky){--wp-admin--admin-bar--position-offset:0px}}
57
58/*# sourceURL=/wp-includes/css/dist/block-library/common.min.css */
59</style>
60<style id="wp-block-heading-inline-css">
61h1:where(.wp-block-heading).has-background,h2:where(.wp-block-heading).has-background,h3:where(.wp-block-heading).has-background,h4:where(.wp-block-heading).has-background,h5:where(.wp-block-heading).has-background,h6:where(.wp-block-heading).has-background{padding:1.25em 2.375em}h1.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h1.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h2.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h2.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h3.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h3.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h4.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h4.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h5.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h5.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h6.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h6.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]){rotate:180deg}
62/*# sourceURL=https://jeffkelly.com/wp-includes/blocks/heading/style.min.css */
63</style>
64<style id="wp-block-image-inline-css">
65.wp-block-image>a,.wp-block-image>figure>a{display:inline-block}.wp-block-image img{box-sizing:border-box;height:auto;max-width:100%;vertical-align:bottom}@media not (prefers-reduced-motion){.wp-block-image img.hide{visibility:hidden}.wp-block-image img.show{animation:show-content-image .4s}}.wp-block-image[style*=border-radius] img,.wp-block-image[style*=border-radius]>a{border-radius:inherit}.wp-block-image.has-custom-border img{box-sizing:border-box}.wp-block-image.aligncenter{text-align:center}.wp-block-image.alignfull>a,.wp-block-image.alignwide>a{width:100%}.wp-block-image.alignfull img,.wp-block-image.alignwide img{height:auto;width:100%}.wp-block-image .aligncenter,.wp-block-image .alignleft,.wp-block-image .alignright,.wp-block-image.aligncenter,.wp-block-image.alignleft,.wp-block-image.alignright{display:table}.wp-block-image .aligncenter>figcaption,.wp-block-image .alignleft>figcaption,.wp-block-image .alignright>figcaption,.wp-block-image.aligncenter>figcaption,.wp-block-image.alignleft>figcaption,.wp-block-image.alignright>figcaption{caption-side:bottom;display:table-caption}.wp-block-image .alignleft{float:left;margin:.5em 1em .5em 0}.wp-block-image .alignright{float:right;margin:.5em 0 .5em 1em}.wp-block-image .aligncenter{margin-left:auto;margin-right:auto}.wp-block-image :where(figcaption){margin-bottom:1em;margin-top:.5em}.wp-block-image.is-style-circle-mask img{border-radius:9999px}@supports ((-webkit-mask-image:none) or (mask-image:none)) or (-webkit-mask-image:none){.wp-block-image.is-style-circle-mask img{border-radius:0;-webkit-mask-image:url('data:image/svg+xml;utf8,<svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg"><circle cx="50" cy="50" r="50"/></svg>');mask-image:url('data:image/svg+xml;utf8,<svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg"><circle cx="50" cy="50" r="50"/></svg>');mask-mode:alpha;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}}:root :where(.wp-block-image.is-style-rounded img,.wp-block-image .is-style-rounded img){border-radius:9999px}.wp-block-image figure{margin:0}.wp-lightbox-container{display:flex;flex-direction:column;position:relative}.wp-lightbox-container img{cursor:zoom-in}.wp-lightbox-container img:hover+button{opacity:1}.wp-lightbox-container button{align-items:center;backdrop-filter:blur(16px) saturate(180%);background-color:rgba(90,90,90,.25);border:none;border-radius:4px;cursor:zoom-in;display:flex;height:20px;justify-content:center;opacity:0;padding:0;position:absolute;right:16px;text-align:center;top:16px;width:20px;z-index:100}@media not (prefers-reduced-motion){.wp-lightbox-container button{transition:opacity .2s ease}}.wp-lightbox-container button:focus-visible{outline:3px auto rgba(90,90,90,.25);outline:3px auto -webkit-focus-ring-color;outline-offset:3px}.wp-lightbox-container button:hover{cursor:pointer;opacity:1}.wp-lightbox-container button:focus{opacity:1}.wp-lightbox-container button:focus,.wp-lightbox-container button:hover,.wp-lightbox-container button:not(:hover):not(:active):not(.has-background){background-color:rgba(90,90,90,.25);border:none}.wp-lightbox-overlay{box-sizing:border-box;
65cursor:zoom-out;height:100vh;left:0;overflow:hidden;position:fixed;top:0;visibility:hidden;width:100%;z-index:100000}.wp-lightbox-overlay .wp-lightbox-close-button{align-items:center;cursor:pointer;display:flex;font-family:inherit;gap:8px;justify-content:center;line-height:1;min-height:40px;min-width:40px;padding:0 4px;position:absolute;right:calc(env(safe-area-inset-right) + 16px);top:calc(env(safe-area-inset-top) + 16px);z-index:5000000}.wp-lightbox-overlay .wp-lightbox-close-button:focus,.wp-lightbox-overlay .wp-lightbox-close-button:hover,.wp-lightbox-overlay .wp-lightbox-close-button:not(:hover):not(:active):not(.has-background){background:none;border:none}.wp-lightbox-overlay .wp-lightbox-close-button:has(.wp-lightbox-close-text:not([hidden])) .wp-lightbox-close-icon svg{height:1em;width:1em}.wp-lightbox-overlay .wp-lightbox-close-icon svg{display:block}.wp-lightbox-overlay .wp-lightbox-navigation-button-next,.wp-lightbox-overlay .wp-lightbox-navigation-button-prev{align-items:center;bottom:16px;cursor:pointer;display:flex;font-family:inherit;gap:4px;justify-content:center;line-height:1;min-height:40px;min-width:40px;padding:0 8px;position:absolute;z-index:2000002}.wp-lightbox-overlay .wp-lightbox-navigation-button-next[hidden],.wp-lightbox-overlay .wp-lightbox-navigation-button-prev[hidden]{display:none}@media (min-width:960px){.wp-lightbox-overlay .wp-lightbox-navigation-button-next,.wp-lightbox-overlay .wp-lightbox-navigation-button-prev{bottom:50%;transform:translateY(-50%)}}.wp-lightbox-overlay .wp-lightbox-navigation-button-next:focus,.wp-lightbox-overlay .wp-lightbox-navigation-button-next:hover,.wp-lightbox-overlay .wp-lightbox-navigation-button-next:not(:hover):not(:active):not(.has-background),.wp-lightbox-overlay .wp-lightbox-navigation-button-prev:focus,.wp-lightbox-overlay .wp-lightbox-navigation-button-prev:hover,.wp-lightbox-overlay .wp-lightbox-navigation-button-prev:not(:hover):not(:active):not(.has-background){background:none;border:none;padding:0 8px}.wp-lightbox-overlay .wp-lightbox-navigation-button-next:has(.wp-lightbox-navigation-text:not([hidden])) .wp-lightbox-navigation-icon svg,.wp-lightbox-overlay .wp-lightbox-navigation-button-prev:has(.wp-lightbox-navigation-text:not([hidden])) .wp-lightbox-navigation-icon svg{display:block;height:1.5em;width:1.5em}.wp-lightbox-overlay .wp-lightbox-navigation-button-prev{left:calc(env(safe-area-inset-left) + 16px)}.wp-lightbox-overlay .wp-lightbox-navigation-button-next{right:calc(env(safe-area-inset-right) + 16px)}.wp-lightbox-overlay .wp-lightbox-navigation-icon svg{vertical-align:middle}.wp-lightbox-overlay .lightbox-image-container{height:var(--wp--lightbox-container-height);left:50%;overflow:hidden;position:absolute;top:50%;transform:translate(-50%,-50%);transform-origin:top left;width:var(--wp--lightbox-container-width);z-index:2000001}.wp-lightbox-overlay .wp-block-image{align-items:center;box-sizing:border-box;display:flex;height:100%;justify-content:center;margin:0;position:relative;transform-origin:0 0;width:100%;z-index:3000000}.wp-lightbox-overlay .wp-block-image img{height:var(--wp--lightbox-image-height);min-height:var(--wp--lightbox-image-height);min-width:var(--wp--lightbox-image-width);width:var(--wp--lightbox-image-width)}.wp-lightbox-overlay .wp-block-image figcaption{display:none}.wp-lightbox-overlay button{background:none;border:none}.wp-lightbox-overlay .scrim{background-color:#fff;height:100%;opacity:.9;position:absolute;width:100%;z-index:2000000}.wp-lightbox-overlay.active{visibility:visible}@media not (prefers-reduced-motion){.wp-lightbox-overlay.active{animation:turn-on-visibility .25s both}.wp-lightbox-overlay.active img{animation:turn-on-visibility .35s both}.wp-lightbox-overlay.show-closing-animation:not(.active){animation:turn-off-visibility .35s both}.wp-lightbox-overlay.show-closing-animation:not(.active) img{animation:turn-off-visibility .25s both}.wp-lightbox-overlay.zoom.active{animation:none;opacity:1;visibility:visible}.wp-lightbox-overlay.zoom.active .lightbox-image-container{animation:lightbox-zoom-in .4s}.wp-lightbox-overlay.zoom.active .lightbox-image-container img{animation:none}.wp-lightbox-overlay.zoom.active .scrim{animation:turn-on-visibility .4s forwards}.wp-lightbox-overlay.zoom.show-closing-animation:not(.active){animation:none}.wp-lightbox-overlay.zoom.show-closing-animation:not(.active) .lightbox-image-container{animation:lightbox-zoom-out .4s}.wp-lightbox-overlay.zoom.show-closing-animation:not(.active) .lightbox-image-container img{animation:none}.wp-lightbox-overlay.zoom.show-closing-animation:not(.active) .scrim{animation:turn-off-visibility .4s forwards}}
65@keyframes show-content-image{0%{visibility:hidden}99%{visibility:hidden}to{visibility:visible}}@keyframes turn-on-visibility{0%{opacity:0}to{opacity:1}}@keyframes turn-off-visibility{0%{opacity:1;visibility:visible}99%{opacity:0;visibility:visible}to{opacity:0;visibility:hidden}}@keyframes lightbox-zoom-in{0%{transform:translate(calc((-100vw + var(--wp--lightbox-scrollbar-width))/2 + var(--wp--lightbox-initial-left-position)),calc(-50vh + var(--wp--lightbox-initial-top-position))) scale(var(--wp--lightbox-scale))}to{transform:translate(-50%,-50%) scale(1)}}@keyframes lightbox-zoom-out{0%{transform:translate(-50%,-50%) scale(1);visibility:visible}99%{visibility:visible}to{transform:translate(calc((-100vw + var(--wp--lightbox-scrollbar-width))/2 + var(--wp--lightbox-initial-left-position)),calc(-50vh + var(--wp--lightbox-initial-top-position))) scale(var(--wp--lightbox-scale));visibility:hidden}}
66/*# sourceURL=https://jeffkelly.com/wp-includes/blocks/image/style.min.css */
67</style>
68<style id="wp-block-paragraph-inline-css">
69.is-small-text{font-size:.875em}.is-regular-text{font-size:1em}.is-large-text{font-size:2.25em}.is-larger-text{font-size:3em}.has-drop-cap:not(:focus):first-letter{float:left;font-size:8.4em;font-style:normal;font-weight:100;line-height:.68;margin:.05em .1em 0 0;text-transform:uppercase}body.rtl .has-drop-cap:not(:focus):first-letter{float:none;margin-left:.1em}p.has-drop-cap.has-background{overflow:hidden}:root :where(p.has-background){padding:1.25em 2.375em}:where(p.has-text-color:not(.has-link-color)) a{color:inherit}p.has-text-align-left[style*="writing-mode:vertical-lr"],p.has-text-align-right[style*="writing-mode:vertical-rl"]{rotate:180deg}
70/*# sourceURL=https://jeffkelly.com/wp-includes/blocks/paragraph/style.min.css */
71</style>
72<style id="wp-block-group-inline-css">
73.wp-block-group{box-sizing:border-box}:where(.wp-block-group.wp-block-group-is-layout-constrained){position:relative}
74/*# sourceURL=https://jeffkelly.com/wp-includes/blocks/group/style.min.css */
75</style>
76
77<style id="classic-theme-styles-inline-css">
78/*! This file is auto-generated */
79.wp-block-button__link{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;text-decoration:none;padding:calc(.667em + 2px) calc(1.333em + 2px);font-size:1.125em}.wp-block-file__button{background:#32373c;color:#fff;text-decoration:none}
80/*# sourceURL=/wp-includes/css/classic-themes.min.css */
81</style>
82
83<link rel='stylesheet' id='coblocks-frontend-css' href='https://jeffkelly.com/wp-content/plugins/coblocks/dist/style-coblocks-1.css?ver=3.1.17' media='all' />
84
85<link rel='stylesheet' id='coblocks-extensions-css' href='https://jeffkelly.com/wp-content/plugins/coblocks/dist/style-coblocks-extensions.css?ver=3.1.17' media='all' />
86<link rel='stylesheet' id='coblocks-animation-css' href='https://jeffkelly.com/wp-content/plugins/coblocks/dist/style-coblocks-animation.css?ver=2677611078ee87eb3b1c' media='all' />
87<style id="site-designer-shared-pattern-classes-inline-css">
88/* Dark cover/section overlay + on-dark text. */
89body .wp-site-blocks .is-style-overlay-dark .wp-block-cover__background { background-color: var(--wp--preset--color--base-3); color: var(--wp--preset--color--contrast-3); }
90.wp-block-cover.is-style-overlay-dark .wp-block-cover__background.has-background-dim { opacity: 0.50 !important; }
91:is(.wp-block-designsetgo-section, .wp-block-designsetgo-scroll-slides).is-style-overlay-dark { --dsgo-overlay-color: var(--wp--preset--color--base-3); --dsgo-overlay-opacity: 0.50; color: var(--wp--preset--color--contrast-3); }
92.dsgo-image-accordion-item.is-style-overlay-dark { --dsgo-overlay-color: var(--wp--preset--color--base-3); }
93.wp-block-group.has-background.is-style-overlay-dark { box-shadow: inset 0 0 0 9999px color-mix(in srgb, var(--wp--preset--color--base-3) 50%, transparent); }
94body .wp-site-blocks .is-style-overlay-dark, body .wp-site-blocks .is-style-on-dark { --dsgo-text-color: var(--wp--preset--color--contrast-3); color: var(--wp--preset--color--contrast-3) !important; }
95body .wp-site-blocks .is-style-overlay-dark :is(h1,h2,h3,h4,h5,h6,p,li,blockquote,cite), body .wp-site-blocks .is-style-on-dark :is(h1,h2,h3,h4,h5,h6,p,li,blockquote,cite) { color: var(--wp--preset--color--contrast-3) !important; }
96
97/* Solid dark section background + light text. */
98.is-style-bg-dark { background-color: var(--wp--preset--color--contrast); color: var(--wp--preset--color--base); }
99.is-style-bg-dark a { color: var(--wp--preset--color--base); }
100/*# sourceURL=site-designer-shared-pattern-classes-inline-css */
101</style>
102<style id="global-styles-inline-css">
103:root{--wp--preset--aspect-ratio--square: 1;--wp--preset--aspect-ratio--4-3: 4/3;--wp--preset--aspect-ratio--3-4: 3/4;--wp--preset--aspect-ratio--3-2: 3/2;--wp--preset--aspect-ratio--2-3: 2/3;--wp--preset--aspect-ratio--16-9: 16/9;--wp--preset--aspect-ratio--9-16: 9/16;--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--color--primary: rgb(4,59,77);--wp--preset--color--secondary: rgb(8,128,155);--wp--preset--color--tertiary: rgb(240,200,8);--wp--preset--color--quaternary: #ffffff;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgb(6,147,227) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgb(252,185,0) 0%,rgb(255,105,0) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgb(255,105,0) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);
103--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--gradient--primary-to-secondary: linear-gradient(135deg, rgb(4,59,77) 0%, rgb(8,128,155) 100%);--wp--preset--gradient--primary-to-tertiary: linear-gradient(135deg, rgb(4,59,77) 0%, rgb(240,200,8) 100%);--wp--preset--gradient--primary-to-background: linear-gradient(135deg, rgb(4,59,77) 0%, rgb(255,255,255) 100%);--wp--preset--gradient--secondary-to-tertiary: linear-gradient(135deg, rgb(8,128,155) 0%, rgb(255,255,255) 100%);--wp--preset--font-size--small: 17px;--wp--preset--font-size--medium: 21px;--wp--preset--font-size--large: 24px;--wp--preset--font-size--x-large: 42px;--wp--preset--font-size--huge: 30px;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgb(255, 255, 255), 6px 6px rgb(0, 0, 0);--wp--preset--shadow--crisp: 6px 6px 0px rgb(0, 0, 0);}.wp-block-button{--wp--preset--dimension--25: 25%;--wp--preset--dimension--50: 50%;--wp--preset--dimension--75: 75%;--wp--preset--dimension--100: 100%;}:where(body) { margin: 0; }:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}body .is-layout-flex{display: flex;}.is-layout-flex{flex-wrap: wrap;align-items: center;}.is-layout-flex > :is(*, div){margin: 0;}body .is-layout-grid{display: grid;}.is-layout-grid > :is(*, div){margin: 0;}body{padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;}:root :where(.wp-element-button, .wp-block-button__link){background-color: #32373c;border-width: 0;color: #fff;font-family: inherit;font-size: inherit;font-style: inherit;font-weight: inherit;letter-spacing: inherit;line-height: inherit;padding-top: calc(0.667em + 2px);padding-right: calc(1.333em + 2px);padding-bottom: calc(0.667em + 2px);padding-left: calc(1.333em + 2px);text-decoration: none;text-transform: inherit;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-primary-color{color: var(--wp--preset--color--primary) !important;}.has-secondary-color{color: var(--wp--preset--color--secondary) !important;}.has-tertiary-color{color: var(--wp--preset--color--tertiary) !important;}.has-quaternary-color{color: var(--wp--preset--color--quaternary) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-primary-background-color{background-color: var(--wp--preset--color--primary) !important;}.has-secondary-background-color{background-color: var(--wp--preset--color--secondary) !important;}.has-tertiary-background-color{background-color: var(--wp--preset--color--tertiary) !important;}.has-quaternary-background-color{background-color: var(--wp--preset--color--quaternary) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-primary-border-color{border-color: var(--wp--preset--color--primary) !important;}.has-secondary-border-color{border-color: var(--wp--preset--color--secondary) !important;}.has-tertiary-border-color{border-color: var(--wp--preset--color--tertiary) !important;}.has-quaternary-border-color{border-color: var(--wp--preset--color--quaternary) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}
103.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-primary-to-secondary-gradient-background{background: var(--wp--preset--gradient--primary-to-secondary) !important;}.has-primary-to-tertiary-gradient-background{background: var(--wp--preset--gradient--primary-to-tertiary) !important;}.has-primary-to-background-gradient-background{background: var(--wp--preset--gradient--primary-to-background) !important;}.has-secondary-to-tertiary-gradient-background{background: var(--wp--preset--gradient--secondary-to-tertiary) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;}.has-huge-font-size{font-size: var(--wp--preset--font-size--huge) !important;}
104/*# sourceURL=global-styles-inline-css */
105</style>
106
107<link rel='stylesheet' id='wp-theme-css' href='https://jeffkelly.com/wp-includes/css/dist/theme/design-tokens.min.css?ver=7.1.2' media='all' />
108<link rel='stylesheet' id='wp-components-css' href='https://jeffkelly.com/wp-includes/css/dist/components/style.min.css?ver=7.1.2' media='all' />
109<link rel='stylesheet' id='godaddy-styles-css' href='https://jeffkelly.com/wp-content/mu-plugins/vendor/wpex/godaddy-launch/includes/Dependencies/GoDaddy/Styles/build/latest.css?ver=2.0.2' media='all' />
110<link rel='preload' as='style' href='https://fonts.googleapis.com/css?family=Work%20Sans%3A300%2C700%7CKarla%3A400%2C400i%2C700&#038;subset=latin%2Clatin-ext&#038;display=swap&#038;ver=1.8.18' />
111<link rel='stylesheet' id='go-fonts-css' href='https://fonts.googleapis.com/css?family=Work%20Sans%3A300%2C700%7CKarla%3A400%2C400i%2C700&#038;subset=latin%2Clatin-ext&#038;display=swap&#038;ver=1.8.18' media="print" onload="this.media='all'" />
112
113<noscript><link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Work%20Sans%3A300%2C700%7CKarla%3A400%2C400i%2C700&#038;subset=latin%2Clatin-ext&#038;display=swap&#038;ver=1.8.18" /></noscript><link rel='stylesheet' id='go-style-css' href='https://jeffkelly.com/wp-content/themes/go/dist/css/style-shared.min.css?ver=1.8.18' media='all' />
114<link rel='stylesheet' id='go-design-style-welcoming-css' href='https://jeffkelly.com/wp-content/themes/go/dist/css/design-styles/style-welcoming.min.css?ver=1.8.18' media='all' />
115<link rel="https://api.w.org/" href="https://jeffkelly.com/wp-json/" /><link rel="alternate" title="JSON" type="application/json" href="https://jeffkelly.com/wp-json/wp/v2/pages/51" /><link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://jeffkelly.com/xmlrpc.php?rsd" />
116<link rel='shortlink' href='https://jeffkelly.com/?p=51' />
117<meta name="description" content="My SharePoint and digital workspace/AI consulting services in Canada. Team lead/solution architect, consultant, trainer, technical writer, developer. Intranets/digital workspaces, Power Platform, Copilot, automations and more.">
118		<style>
119			:root {
120				--go--color--white: hsl(0, 0%, 100%);
121									--go--color--primary: hsl(195, 90%, 16%);
122				
123									--go--color--secondary: hsl(191, 90%, 32%);
124				
125									--go--color--tertiary: hsl(50, 94%, 49%);
126				
127									--go--color--background: hsl(0, 0%, 100%);
128				
129									--go-header--color--background: hsl(195, 90%, 16%);
130				
131									--go-site-title--color--text: hsl(0, 100%, 99%);
132					--go-site-description--color--text: hsl(0, 100%, 99%);
133					--go-navigation--color--text: hsl(0, 100%, 99%);
134					--go-search-toggle--color--text: hsl(0, 100%, 99%);
135					--go-search-button--color--background: hsl(0, 100%, 99%);
136				
137									--go-footer--color--background: hsl(50, 94%, 49%);
138				
139				
140				
141				
142									--go-logo--max-width: 200px;
143				
144									--go-logo-mobile--max-width: 100px;
145				
146									--go--viewport-basis: 1524;
147				
148				
149				
150				
151				
152							}
153
154			.has-primary-to-secondary-gradient-background {
155				background: -webkit-linear-gradient(135deg, var(--go--color--primary) 0%, var(--go--color--secondary) 100%);
156				background: -o-linear-gradient(135deg, var(--go--color--primary) 0%, var(--go--color--secondary) 100%);
157				background: linear-gradient(135deg, var(--go--color--primary) 0%, var(--go--color--secondary) 100%);
158			}
159
160			.has-primary-to-tertiary-gradient-background {
161				background: -webkit-linear-gradient(135deg, var(--go--color--primary) 0%, var(--go--color--tertiary) 100%);
162				background: -o-linear-gradient(135deg, var(--go--color--primary) 0%, var(--go--color--tertiary) 100%);
163				background: linear-gradient(135deg, var(--go--color--primary) 0%, var(--go--color--tertiary) 100%);
164			}
165
166			.has-primary-to-background-gradient-background {
167				background: -webkit-linear-gradient(135deg, var(--go--color--primary) 0%, var(--go--color--background) 100%);
168				background: -o-linear-gradient(135deg, var(--go--color--primary) 0%, var(--go--color--background) 100%);
169				background: linear-gradient(135deg, var(--go--color--primary) 0%, var(--go--color--background) 100%);
170			}
171
172			.has-secondary-to-tertiary-gradient-background {
173				background: -webkit-linear-gradient(135deg, var(--go--color--secondary) 0%, var(--go--color--tertiary) 100%);
174				background: -o-linear-gradient(135deg, var(--go--color--secondary) 0%, var(--go--color--tertiary) 100%);
175				background: linear-gradient(135deg, var(--go--color--secondary) 0%, var(--go--color--tertiary) 100%);
176			}
177		</style>
178	<style id="custom-background-css">
179body.custom-background { background-color: #ffffff; }
180</style>
181<script>var EhAPI = EhAPI || {}; EhAPI.after_load = function(){
182EhAPI.set_account('pniviogrl3m0hf3rsu4urlsdd0', 'jeffkelly');
183EhAPI.execute('rules');};(function(d,s,f) {
184var sc=document.createElement(s);sc.type='text/javascript';
185sc.async=true;sc.src=f;var m=document.getElementsByTagName(s)[0];
186m.parentNode.insertBefore(sc,m);
187})(document, 'script', '//d2p078bqz5urf7.cloudfront.net/jsapi/ehform.js?v' + new Date().getHours());
188</script>
188<link rel="icon" href="https://jeffkelly.com/wp-content/uploads/2025/03/cropped-bluecastle-32x32.png" sizes="32x32" />
189<link rel="icon" href="https://jeffkelly.com/wp-content/uploads/2025/03/cropped-bluecastle-192x192.png" sizes="192x192" />
190<link rel="apple-touch-icon" href="https://jeffkelly.com/wp-content/uploads/2025/03/cropped-bluecastle-180x180.png" />
191<meta name="msapplication-TileImage" content="https://jeffkelly.com/wp-content/uploads/2025/03/cropped-bluecastle-270x270.png" />
192<style id="wp-site-designer-contrast-fallback"> .wp-block-group:not([data-dsgo-inline-bg]),.wp-block-column:not([data-dsgo-inline-bg]),.wp-block-columns:not([data-dsgo-inline-bg]){--dsgo-text-color:initial;} :is(.wp-block-designsetgo-section,.wp-block-group,.wp-block-column).has-background:not([class*="-background-color"]):not(.has-text-color):not(.is-style-footer-section):not(.is-style-header-section),.wp-block-cover:not(.has-text-color){color:var(--wp--preset--color--contrast-3) !important;--dsgo-text-color:var(--wp--preset--color--contrast-3);} body .wp-site-blocks :is(:is(.wp-block-designsetgo-section,.wp-block-group,.wp-block-column).has-background:not([class*="-background-color"]):not(.has-text-color):not(.is-style-footer-section):not(.is-style-header-section),.wp-block-cover) h1:not(.has-text-color):where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(:is(.wp-block-designsetgo-section,.wp-block-group,.wp-block-column).has-background:not([class*="-background-color"]):not(.has-text-color):not(.is-style-footer-section):not(.is-style-header-section),.wp-block-cover) h2:not(.has-text-color):where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(:is(.wp-block-designsetgo-section,.wp-block-group,.wp-block-column).has-background:not([class*="-background-color"]):not(.has-text-color):not(.is-style-footer-section):not(.is-style-header-section),.wp-block-cover) h3:not(.has-text-color):where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(:is(.wp-block-designsetgo-section,.wp-block-group,.wp-block-column).has-background:not([class*="-background-color"]):not(.has-text-color):not(.is-style-footer-section):not(.is-style-header-section),.wp-block-cover) h4:not(.has-text-color):where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(:is(.wp-block-designsetgo-section,.wp-block-group,.wp-block-column).has-background:not([class*="-background-color"]):not(.has-text-color):not(.is-style-footer-section):not(.is-style-header-section),.wp-block-cover) h5:not(.has-text-color):where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(:is(.wp-block-designsetgo-section,.wp-block-group,.wp-block-column).has-background:not([class*="-background-color"]):not(.has-text-color):not(.is-style-footer-section):not(.is-style-header-section),.wp-block-cover) h6:not(.has-text-color):where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(:is(.wp-block-designsetgo-section,.wp-block-group,.wp-block-column).has-background:not([class*="-background-color"]):not(.has-text-color):not(.is-style-footer-section):not(.is-style-header-section),.wp-block-cover) p:not(.has-text-color):where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(:is(.wp-block-designsetgo-section,.wp-block-group,.wp-block-column).has-background:not([class*="-background-color"]):not(.has-text-color):not(.is-style-footer-section):not(.is-style-header-section),.wp-block-cover) a:where(:not(.wp-element-button):not(.wp-block-social-link-anchor)):not(.has-text-color):where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(:is(.wp-block-designsetgo-section,.wp-block-group,.wp-block-column).has-background:not([class*="-background-color"]):not(.has-text-color):not(.is-style-footer-section):not(.is-style-header-section),.wp-block-cover) .wp-element-caption:not(.has-text-color):where(:not(.elementor *):not([data-elementor-type] *)){color:var(--dsgo-text-color,inherit) !important;} body .wp-site-blocks :is(.wp-block-designsetgo-section,.wp-block-group,.wp-block-column)[data-dsgo-inline-bg] .wp-block-button:is([class*="is-style-outline"],[class*="is-style-secondary"]) .wp-element-button{color:var(--dsgo-text-color,inherit) !important;border-color:currentColor !important;}body .wp-site-blocks :is(.wp-block-designsetgo-section,.wp-block-group,.wp-block-column)[data-dsgo-inline-bg] .wp-block-button:is([class*="is-style-outline"],[class*="is-style-secondary"]) .wp-element-button:hover{opacity:0.75;} body .wp-site-blocks [data-dsgo-inline-bg] h1:not(.has-text-color):where(:not
192(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks [data-dsgo-inline-bg] h2:not(.has-text-color):where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks [data-dsgo-inline-bg] h3:not(.has-text-color):where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks [data-dsgo-inline-bg] h4:not(.has-text-color):where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks [data-dsgo-inline-bg] h5:not(.has-text-color):where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks [data-dsgo-inline-bg] h6:not(.has-text-color):where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks [data-dsgo-inline-bg] p:not(.has-text-color):where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks [data-dsgo-inline-bg] a:where(:not(.wp-element-button):not(.wp-block-social-link-anchor)):not(.has-text-color):where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks [data-dsgo-inline-bg] .wp-element-caption:not(.has-text-color):where(:not(.elementor *):not([data-elementor-type] *)){color:var(--dsgo-text-color,inherit) !important;} .wp-block-designsetgo-section.has-background:not([data-dsgo-inline-bg]):not(.has-text-color){color:var(--wp--preset--color--contrast);--dsgo-text-color:var(--wp--preset--color--contrast);} :is(.wp-block-group,.wp-block-column).is-style-section-1:not(:is(.has-white-background-color,.has-black-background-color)),.has-background:is(.wp-block-group,.wp-block-column).is-style-section-1:not(:is(.has-white-background-color,.has-black-background-color)),.has-text-color:is(.wp-block-group,.wp-block-column).is-style-section-1:not(:is(.has-white-background-color,.has-black-background-color)){background-color:var(--wp--preset--color--accent-5);color:var(--wp--preset--color--contrast);} body .wp-site-blocks :is(.wp-block-group,.wp-block-column).is-style-section-1:not(:is(.has-white-background-color,.has-black-background-color)) h1:where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(.wp-block-group,.wp-block-column).is-style-section-1:not(:is(.has-white-background-color,.has-black-background-color)) h2:where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(.wp-block-group,.wp-block-column).is-style-section-1:not(:is(.has-white-background-color,.has-black-background-color)) h3:where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(.wp-block-group,.wp-block-column).is-style-section-1:not(:is(.has-white-background-color,.has-black-background-color)) h4:where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(.wp-block-group,.wp-block-column).is-style-section-1:not(:is(.has-white-background-color,.has-black-background-color)) h5:where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(.wp-block-group,.wp-block-column).is-style-section-1:not(:is(.has-white-background-color,.has-black-background-color)) h6:where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(.wp-block-group,.wp-block-column).is-style-section-1:not(:is(.has-white-background-color,.has-black-background-color)) p:where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(.wp-block-group,.wp-block-column).is-style-section-1:not(:is(.has-white-background-color,.has-black-background-color)) a:where(:not(.wp-element-button):not(.wp-block-social-link-anchor)):where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(.wp-block-group,.wp-block-column).is-style-section-1:not(:is(.has-white-background-color,.has-black-background-color)) .wp-element-caption:where(:not(.elementor *):not([data-elementor-type] *)){color:var(--wp--preset--color--contrast);} :is(.wp-block-group,.wp-block-column).is-style-section-2:not(:is(.has-white-background-color,.has-black-background-color)),.has-background:is(.wp-block-group,.wp-block-column).is-style-section-2:not(:is(.has-white-background-color,.has-black-background-color)),.has-text-color:is(.wp-block-group,.wp-block-column).is-style-section-2:not(:is(.has-white-background-color,.has-black-background-color)){background-color:var(--wp--preset--color--accent-2);color:var(--wp--preset--color--contrast);} body .wp-site-blocks :is(.wp-block-group,.wp-block-column).is-style-section-2:not(:is(.has-white-background-color,.has-black-background-color)) h1:where(:not
192(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(.wp-block-group,.wp-block-column).is-style-section-2:not(:is(.has-white-background-color,.has-black-background-color)) h2:where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(.wp-block-group,.wp-block-column).is-style-section-2:not(:is(.has-white-background-color,.has-black-background-color)) h3:where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(.wp-block-group,.wp-block-column).is-style-section-2:not(:is(.has-white-background-color,.has-black-background-color)) h4:where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(.wp-block-group,.wp-block-column).is-style-section-2:not(:is(.has-white-background-color,.has-black-background-color)) h5:where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(.wp-block-group,.wp-block-column).is-style-section-2:not(:is(.has-white-background-color,.has-black-background-color)) h6:where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(.wp-block-group,.wp-block-column).is-style-section-2:not(:is(.has-white-background-color,.has-black-background-color)) p:where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(.wp-block-group,.wp-block-column).is-style-section-2:not(:is(.has-white-background-color,.has-black-background-color)) a:where(:not(.wp-element-button):not(.wp-block-social-link-anchor)):where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(.wp-block-group,.wp-block-column).is-style-section-2:not(:is(.has-white-background-color,.has-black-background-color)) .wp-element-caption:where(:not(.elementor *):not([data-elementor-type] *)){color:var(--wp--preset--color--contrast);} :is(.wp-block-group,.wp-block-column).is-style-section-3:not(:is(.has-white-background-color,.has-black-background-color)),.has-background:is(.wp-block-group,.wp-block-column).is-style-section-3:not(:is(.has-white-background-color,.has-black-background-color)),.has-text-color:is(.wp-block-group,.wp-block-column).is-style-section-3:not(:is(.has-white-background-color,.has-black-background-color)){background-color:var(--wp--preset--color--accent-1);color:var(--wp--preset--color--contrast);} body .wp-site-blocks :is(.wp-block-group,.wp-block-column).is-style-section-3:not(:is(.has-white-background-color,.has-black-background-color)) h1:where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(.wp-block-group,.wp-block-column).is-style-section-3:not(:is(.has-white-background-color,.has-black-background-color)) h2:where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(.wp-block-group,.wp-block-column).is-style-section-3:not(:is(.has-white-background-color,.has-black-background-color)) h3:where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(.wp-block-group,.wp-block-column).is-style-section-3:not(:is(.has-white-background-color,.has-black-background-color)) h4:where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(.wp-block-group,.wp-block-column).is-style-section-3:not(:is(.has-white-background-color,.has-black-background-color)) h5:where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(.wp-block-group,.wp-block-column).is-style-section-3:not(:is(.has-white-background-color,.has-black-background-color)) h6:where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(.wp-block-group,.wp-block-column).is-style-section-3:not(:is(.has-white-background-color,.has-black-background-color)) p:where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(.wp-block-group,.wp-block-column).is-style-section-3:not(:is(.has-white-background-color,.has-black-background-color)) a:where(:not(.wp-element-button):not(.wp-block-social-link-anchor)):where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(.wp-block-group,.wp-block-column).is-style-section-3:not(:is(.has-white-background-color,.has-black-background-color)) .wp-element-caption:where(:not
192(.elementor *):not([data-elementor-type] *)){color:var(--wp--preset--color--contrast);} :is(.wp-block-group,.wp-block-column).is-style-section-4:not(:is(.has-white-background-color,.has-black-background-color)),.has-background:is(.wp-block-group,.wp-block-column).is-style-section-4:not(:is(.has-white-background-color,.has-black-background-color)),.has-text-color:is(.wp-block-group,.wp-block-column).is-style-section-4:not(:is(.has-white-background-color,.has-black-background-color)){background-color:var(--wp--preset--color--accent-3);color:var(--wp--preset--color--accent-2);} body .wp-site-blocks :is(.wp-block-group,.wp-block-column).is-style-section-4:not(:is(.has-white-background-color,.has-black-background-color)) h1:where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(.wp-block-group,.wp-block-column).is-style-section-4:not(:is(.has-white-background-color,.has-black-background-color)) h2:where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(.wp-block-group,.wp-block-column).is-style-section-4:not(:is(.has-white-background-color,.has-black-background-color)) h3:where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(.wp-block-group,.wp-block-column).is-style-section-4:not(:is(.has-white-background-color,.has-black-background-color)) h4:where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(.wp-block-group,.wp-block-column).is-style-section-4:not(:is(.has-white-background-color,.has-black-background-color)) h5:where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(.wp-block-group,.wp-block-column).is-style-section-4:not(:is(.has-white-background-color,.has-black-background-color)) h6:where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(.wp-block-group,.wp-block-column).is-style-section-4:not(:is(.has-white-background-color,.has-black-background-color)) p:where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(.wp-block-group,.wp-block-column).is-style-section-4:not(:is(.has-white-background-color,.has-black-background-color)) a:where(:not(.wp-element-button):not(.wp-block-social-link-anchor)):where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(.wp-block-group,.wp-block-column).is-style-section-4:not(:is(.has-white-background-color,.has-black-background-color)) .wp-element-caption:where(:not(.elementor *):not([data-elementor-type] *)){color:var(--wp--preset--color--accent-2);} :is(.wp-block-group,.wp-block-column).is-style-section-5:not(:is(.has-white-background-color,.has-black-background-color)),.has-background:is(.wp-block-group,.wp-block-column).is-style-section-5:not(:is(.has-white-background-color,.has-black-background-color)),.has-text-color:is(.wp-block-group,.wp-block-column).is-style-section-5:not(:is(.has-white-background-color,.has-black-background-color)){background-color:var(--wp--preset--color--contrast);color:var(--wp--preset--color--base);} body .wp-site-blocks :is(.wp-block-group,.wp-block-column).is-style-section-5:not(:is(.has-white-background-color,.has-black-background-color)) h1:where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(.wp-block-group,.wp-block-column).is-style-section-5:not(:is(.has-white-background-color,.has-black-background-color)) h2:where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(.wp-block-group,.wp-block-column).is-style-section-5:not(:is(.has-white-background-color,.has-black-background-color)) h3:where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(.wp-block-group,.wp-block-column).is-style-section-5:not(:is(.has-white-background-color,.has-black-background-color)) h4:where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(.wp-block-group,.wp-block-column).is-style-section-5:not(:is(.has-white-background-color,.has-black-background-color)) h5:where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(.wp-block-group,.wp-block-column).is-style-section-5:not(:is(.has-white-background-color,.has-black-background-color)) h6:where(:not
192(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(.wp-block-group,.wp-block-column).is-style-section-5:not(:is(.has-white-background-color,.has-black-background-color)) p:where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(.wp-block-group,.wp-block-column).is-style-section-5:not(:is(.has-white-background-color,.has-black-background-color)) a:where(:not(.wp-element-button):not(.wp-block-social-link-anchor)):where(:not(.elementor *):not([data-elementor-type] *)),body .wp-site-blocks :is(.wp-block-group,.wp-block-column).is-style-section-5:not(:is(.has-white-background-color,.has-black-background-color)) .wp-element-caption:where(:not(.elementor *):not([data-elementor-type] *)){color:var(--wp--preset--color--base);}   body .wp-site-blocks input:not([type="submit"]):not([type="button"]):not([type="reset"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="image"]):not([type="hidden"]),body .wp-site-blocks textarea,body .wp-site-blocks select{background-color:var(--wp--preset--color--base);color:var(--wp--preset--color--contrast);border:1px solid color-mix(in srgb, var(--wp--preset--color--contrast) 30%, transparent);} .wp-site-blocks input[type="submit"]:not(.wp-element-button),.wp-site-blocks button[type="submit"]:not(.wp-element-button){background-color:var(--wp--preset--color--accent-2);color:var(--wp--preset--color--base);border-width:0;padding:12px 30px;font-family:inherit;font-size:var(--wp--preset--font-size--medium, 1rem);line-height:inherit;cursor:pointer;}</style>
193<style id="wp-custom-css">
194@media (max-width: 768px) {
195	.jeffkelly-mainheader {
196		text-align: center;
197		padding-top:20px;
198		font-weight: bold;
199	}
200}
201
202
203
204
205
206
207
208.jeffkelly-setmorebutton {
209	padding:2px 8px 2px 8px;
210	border-radius:6px;
211	box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.2);
212	background-color:#f0c808;
213}
214
215.jeffkelly-setmorebutton A {
216	color:#086788;
217	
218}
219
220.jeffkelly-setmorebuttonF {
221	padding:2px 8px 2px 8px;
222	border-radius:6px;
223	box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.2);
224	background-color:#086788;
225}
226
227.jeffkelly-setmorebuttonF A {
228	color:#F0C808;
229	
230}
231
232.jeffkelly-roundedcorners img,
233.jeffkelly-servicebox {
234	border-radius: 20px;
235	box-shadow: 3px 5px 9px #201335
236	
237}
238
239.jeffkelly-servicebox {
240	background-color: #fff}
241
242.jeffkelly-servicesicon {
243	padding-bottom: 20px;
244}
245
246</style>
247		<style id="site-designer-logo-constraints">
248			.wp-block-site-logo.is-default-size img {
249				width: auto;
250				height: auto;
251				max-width: 180px;
252				max-height: 80px;
253			}
254			.wp-block-site-logo img {
255				height: auto;
256			}
257		</style>
258		<style id="core-block-supports-inline-css">
259.wp-elements-1 a:where(:not(.wp-element-button)){color:var(--wp--preset--color--primary);}.wp-elements-2 a:where(:not(.wp-element-button)){color:var(--wp--preset--color--primary);}.wp-elements-3 a:where(:not(.wp-element-button)){color:var(--wp--preset--color--primary);}.wp-elements-4 a:where(:not(.wp-element-button)){color:var(--wp--preset--color--primary);}.wp-container-core-group-is-layout-d05cb3ef{flex-wrap:nowrap;justify-content:center;}.wp-elements-5 a:where(:not(.wp-element-button)){color:var(--wp--preset--color--primary);}.wp-elements-6 a:where(:not(.wp-element-button)){color:var(--wp--preset--color--primary);}.wp-elements-7 a:where(:not(.wp-element-button)){color:var(--wp--preset--color--primary);}.wp-elements-8 a:where(:not(.wp-element-button)){color:var(--wp--preset--color--primary);}
260/*# sourceURL=core-block-supports-inline-css */
261</style>
262
263</head>
264
265<body
266		class="wp-singular page-template-default page page-id-51 page-parent page-child parent-pageid-242 custom-background wp-custom-logo wp-embed-responsive wp-theme-go is-style-welcoming has-header-1 has-footer-2 has-sticky-header has-header-background has-footer-background has-page-titles singular"
267>
268
269	
270	<div id="page" class="site">
271
272		<a class="skip-link screen-reader-text" href="#site-content">Skip to content</a>
273
274		<header id="site-header" class="site-header header relative has-background header-1" role="banner" itemscope itemtype="http://schema.org/WPHeader">
275
276			<div class="header__inner flex items-center justify-between h-inherit w-full relative">
277
278				<div class="header__extras">
279										
280	<button
281		id="header__search-toggle"
282		class="header__search-toggle"
283		data-toggle-target=".search-modal"
284		data-set-focus=".search-modal .search-form__input"
285		type="button"
286		aria-controls="js-site-search"
287			>
288		<div class="search-toggle-icon">
289			<svg role="img" viewbox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="m18.0553691 9.08577774c0-4.92630404-4.02005-8.94635404-8.94635408-8.94635404-4.92630404 0-8.96959132 4.02005-8.96959132 8.94635404 0 4.92630406 4.02005 8.94635406 8.94635404 8.94635406 2.13783006 0 4.08976186-.7435931 5.64665986-1.9984064l3.8109144 3.8109145 1.3245252-1.3245252-3.8341518-3.7876771c1.2548133-1.5336607 2.0216437-3.5088298 2.0216437-5.64665986zm-8.96959136 7.11060866c-3.90386358 0-7.08737138-3.1835078-7.08737138-7.08737138s3.1835078-7.08737138 7.08737138-7.08737138c3.90386356 0 7.08737136 3.1835078 7.08737136 7.08737138s-3.1602705 7.08737138-7.08737136 7.08737138z" /></svg>		</div>
290		<span class="screen-reader-text">Search Toggle</span>
291	</button>
292
293										</div>
294
295				<div class="header__title-nav flex items-center flex-nowrap">
296
297					<div class="header__titles lg:flex items-center" itemscope itemtype="http://schema.org/Organization"><h1 class="custom-logo"><a href="https://jeffkelly.com/" class="custom-logo-link" rel="home"><img width="266" height="68" src="https://jeffkelly.com/wp-content/uploads/2025/05/Jeff-Kelly-Logo-2.png" class="custom-logo" alt="Logo for Jeff C. Kelly" decoding="async" /></a></h1><span class="site-description display-none sm:display-block relative text-sm">digital workspace consultant</span></div>
298					
299						<nav id="header__navigation" class="header__navigation" aria-label="Horizontal" role="navigation" itemscope itemtype="http://schema.org/SiteNavigationElement">
300
301							<div class="header__navigation-inner">
302								<div class="menu-primary-menu-container"><ul id="menu-primary-menu" class="primary-menu list-reset"><li id="menu-item-55" class="menu-item menu-item-type-post_type menu-item-object-page current-menu-item page_item page-item-51 current_page_item menu-item-55"><a href="https://jeffkelly.com/home/services/" aria-current="page">What I do</a></li>
303<li id="menu-item-44" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-44"><a href="https://jeffkelly.com/home/blog/">What I think</a></li>
304<li id="menu-item-257" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-257"><a href="https://jeffkelly.com/home/contact-me/">Contact me</a></li>
305<li id="menu-item-479" class="jeffkelly-setmorebutton menu-item menu-item-type-custom menu-item-object-custom menu-item-479"><a target="_blank" href="https://jeffkelly.setmore.com">Book a free call</a></li>
306</ul></div>							</div>
307
308						</nav>
309
310					
311				</div>
312
313				
314	<div class="header__nav-toggle">
315		<button
316			id="nav-toggle"
317			class="nav-toggle"
318			type="button"
319			aria-controls="header__navigation"
320					>
321			<div class="nav-toggle-icon">
322				<svg role="img" viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
322<path d="m3.23076923 15.4615385c-1.78430492 0-3.23076923-1.4464647-3.23076923-3.2307693 0-1.7843045 1.44646431-3.2307692 3.23076923-3.2307692s3.23076923 1.4464647 3.23076923 3.2307692c0 1.7843046-1.44646431 3.2307693-3.23076923 3.2307693zm8.76923077 0c-1.7843049 0-3.23076923-1.4464647-3.23076923-3.2307693 0-1.7843045 1.44646433-3.2307692 3.23076923-3.2307692s3.2307692 1.4464647 3.2307692 3.2307692c0 1.7843046-1.4464643 3.2307693-3.2307692 3.2307693zm8.7692308 0c-1.784305 0-3.2307693-1.4464647-3.2307693-3.2307693 0-1.7843045 1.4464643-3.2307692 3.2307693-3.2307692 1.7843049 0 3.2307692 1.4464647 3.2307692 3.2307692 0 1.7843046-1.4464643 3.2307693-3.2307692 3.2307693z" /></svg>
323			</div>
324			<div class="nav-toggle-icon nav-toggle-icon--close">
325				<svg role="img" viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="m21.2325621 4.63841899c.526819-.52681908.5246494-1.38313114-.0035241-1.9113046l.0438476.04384757c-.5287653-.52876531-1.3869798-.52784878-1.9113046-.00352402l-7.065629 7.06562899c-.1634497.16344977-.4265682.16533585-.591904 0l-7.06562901-7.06562899c-.52681908-.52681907-1.38313114-.52464944-1.9113046.00352402l.04384757-.04384757c-.52876531.52876532-.52784878 1.38697983-.00352402 1.9113046l7.06562899 7.06562901c.16344977.1634497.16533585.4265682 0 .591904l-7.06562899 7.065629c-.52681907.5268191-.52464944 1.3831311.00352402 1.9113046l-.04384757-.0438476c.52876532.5287654 1.38697983.5278488 1.9113046.0035241l7.06562901-7.065629c.1634497-.1634498.4265682-.1653359.591904 0l7.065629 7.065629c.5268191.526819 1.3831311.5246494 1.9113046-.0035241l-.0438476.0438476c.5287654-.5287653.5278488-1.3869798.0035241-1.9113046l-7.065629-7.065629c-.1634498-.1634497-.1653359-.4265682 0-.591904z" fill-rule="evenodd" /></svg>
326			</div>
327			<span class="screen-reader-text">Menu</span>
328		</button>
329	</div>
330
331	
332			</div>
333
334			
335<div
336	class="search-modal"
337	data-modal-target-string=".search-modal"
338	aria-expanded="false"
339	>
340
341	<div class="search-modal-inner">
342
343		<div
344id="js-site-search"
345class="site-search"
346itemscope
347itemtype="http://schema.org/WebSite"
348>
349	<form role="search" id="searchform" class="search-form" method="get" action="https://jeffkelly.com/">
350		<meta itemprop="target" content="https://jeffkelly.com//?s={s}" />
351		<label for="search-field">
352			<span class="screen-reader-text">Search for:</span>
353		</label>
354		<input itemprop="query-input" type="search" id="search-field" class="input input--search search-form__input" autocomplete="off" placeholder="Search &hellip;" value="" name="s" />
355		<button type="submit" class="search-input__button">
356			<span class="search-input__label">Submit</span>
357			<svg role="img" class="search-input__arrow-icon" width="30" height="28" viewBox="0 0 30 28" fill="inherit" xmlns="http://www.w3.org/2000/svg">
358				<g clip-path="url(#clip0)">
359					<path d="M16.1279 0L29.9121 13.7842L16.1279 27.5684L14.8095 26.25L26.3378 14.7217H-6.10352e-05V12.8467H26.3378L14.8095 1.31844L16.1279 0Z" fill="inherit"/>
360				</g>
361				<defs>
362					<clipPath id="clip0">
363						<rect width="29.9121" height="27.5684" fill="white"/>
364					</clipPath>
365				</defs>
366			</svg>
367		</button>
368	</form>
369</div>
370
371	</div><!-- .search-modal-inner -->
372
373</div><!-- .search-modal -->
374
375		</header>
376
377		<main id="site-content" class="site-content" role="main">
378
379
380<article class="post-51 page type-page status-publish hentry" id="post-51">
381
382	<header class="page-header entry-header m-auto px "><h1 class="post__title m-0 text-center">My services</h1></header>
383	<div class="content-area__wrapper">
384		<div class="content-area entry-content">
385			
386<p class="has-text-align-center wp-block-paragraph">My SharePoint and digital workspace/AI consulting services in Canada.<br>Team lead/solution architect, consultant, trainer, technical writer, developer. <br>I slot into fusion teams and hit the ground running overnight. </p>
387
388
389
390<div class="wp-block-group alignfull has-secondary-background-color has-background is-content-justification-center is-nowrap is-layout-flex wp-container-core-group-is-layout-d05cb3ef wp-block-group-is-layout-flex">
391<div class="wp-block-coblocks-features alignfull coblocks-features-416174110194"><div class="wp-block-coblocks-features__inner has-columns has-2-columns has-responsive-columns has-center-content has-large-gutter">
392<div class="wp-block-coblocks-feature has-center-content coblocks-feature-416174110747 jeffkelly-servicebox"><div class="wp-block-coblocks-feature__inner has-text-color has-quaternary-color has-padding has-medium-padding"><div class="wp-block-image jeffkelly-servicesicon">
393<figure class="aligncenter size-full is-resized"><a href="https://jeffkelly.com/home/services/sharepoint-services-2/"><img decoding="async" width="150" height="150" src="https://jeffkelly.com/wp-content/uploads/2025/06/sharepoint-services-1.png" alt="SharePoint migrations and upgrades, rollouts 365" class="wp-image-791" style="object-fit:contain;width:100px;height:100px"/></a></figure>
394</div>
395
396
397<h4 class="wp-block-heading has-primary-color has-text-color has-link-color has-medium-font-size wp-elements-1">SharePoint Migrations and Upgrades</h4>
398
399
400
401<p class="is-style-default has-primary-color has-text-color has-link-color wp-elements-2 wp-block-paragraph"></p>
402</div></div>
403
404
405
406<div class="wp-block-coblocks-feature coblocks-feature-416174453957 jeffkelly-servicebox"><div class="wp-block-coblocks-feature__inner has-padding has-medium-padding"><div class="wp-block-image jeffkelly-servicesicon">
407<figure class="aligncenter size-full is-resized has-lightbox"><a href="https://www.omniaintranet.com" target="_blank" rel=" noreferrer noopener"><img decoding="async" width="195" height="162" src="https://jeffkelly.com/wp-content/uploads/2025/06/omnia-services.png" alt="Omnia Intranet services" class="wp-image-744" style="object-fit:contain;width:100px;height:100px"/></a></figure>
408</div>
409
410
411<h4 class="wp-block-heading has-primary-color has-text-color has-link-color has-medium-font-size wp-elements-3"><a href="https://www.omniaintranet.com" target="_blank" rel="noopener">Omnia Intranet</a> implementations</h4>
412
413
414
415<p class="is-style-default has-primary-color has-text-color has-link-color wp-elements-4 wp-block-paragraph"></p>
416</div></div>
417</div></div>
418</div>
419
420
421
422<div class="wp-block-group alignfull has-secondary-background-color has-background is-content-justification-center is-nowrap is-layout-flex wp-container-core-group-is-layout-d05cb3ef wp-block-group-is-layout-flex">
423<div class="wp-block-coblocks-features alignfull coblocks-features-416174110194"><div class="wp-block-coblocks-features__inner has-columns has-2-columns has-responsive-columns has-center-content has-large-gutter">
424<div class="wp-block-coblocks-feature has-center-content coblocks-feature-416174110747 jeffkelly-servicebox"><div class="wp-block-coblocks-feature__inner has-text-color has-quaternary-color has-padding has-medium-padding"><div class="wp-block-image jeffkelly-servicesicon">
425<figure class="aligncenter size-full is-resized"><img decoding="async" width="150" height="150" src="https://jeffkelly.com/wp-content/uploads/2025/06/copilot-services-1.png" alt="Microsoft Copilot logo" class="wp-image-784" style="object-fit:contain;width:100px;height:100px"/></figure>
426</div>
427
428
429<h4 class="wp-block-heading has-primary-color has-text-color has-link-color has-medium-font-size wp-elements-5">AI readiness, strategy and training</h4>
430
431
432
433<p class="is-style-default has-primary-color has-text-color has-link-color wp-elements-6 wp-block-paragraph"></p>
434</div></div>
435
436
437
438<div class="wp-block-coblocks-feature coblocks-feature-416174453957 jeffkelly-servicebox"><div class="wp-block-coblocks-feature__inner has-padding has-medium-padding"><div class="wp-block-image jeffkelly-servicesicon">
439<figure class="aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="150" height="150" src="https://jeffkelly.com/wp-content/uploads/2025/06/power-platform-services-1.png" alt="" class="wp-image-785" style="object-fit:contain;width:100px;height:100px"/></figure>
440</div>
441
442
443<h4 class="wp-block-heading has-primary-color has-text-color has-link-color has-medium-font-size wp-elements-7">Power Platform strategy, solutions and training</h4>
444
445
446
447<p class="is-style-default has-primary-color has-text-color has-link-color wp-elements-8 wp-block-paragraph"></p>
448</div></div>
449</div></div>
450</div>
451					</div>
452	</div>
453
454</article>
455
456	</main>
457
458	
459<footer id="colophon" class="site-footer site-footer--2 has-background">
460
461	<div class="site-footer__inner flex flex-column lg:flex-row lg:flex-wrap items-center align-center max-w-wide m-auto px">
462
463					<nav class="footer-navigation text-sm" aria-label="Footer Menu">
464				<div class="menu-footer-menu-container"><ul id="menu-footer-menu" class="footer-menu footer-menu--1 list-reset"><li id="menu-item-54" class="menu-item menu-item-type-post_type menu-item-object-page current-menu-item page_item page-item-51 current_page_item menu-item-54"><a href="https://jeffkelly.com/home/services/" aria-current="page">What I do</a></li>
465<li id="menu-item-47" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-47"><a href="https://jeffkelly.com/home/blog/">What I think</a></li>
466<li id="menu-item-256" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-256"><a href="https://jeffkelly.com/home/contact-me/">Contact me</a></li>
467<li id="menu-item-562" class="jeffkelly-setmorebuttonF menu-item menu-item-type-custom menu-item-object-custom menu-item-562"><a target="_blank" href="https://jeffkelly.setmore.com">Book a free call</a></li>
468</ul></div>			</nav>
469		
470			<ul class="social-icons list-reset">
471		
472			
473					
474			
475					
476			
477					
478			
479							<li class="display-inline-block social-icon-linkedin">
480					<a class="social-icons__icon" href="https://www.linkedin.com/in/jeffckelly" aria-label="Open LinkedIn in a new tab" rel="noopener noreferrer" target="_blank">
481						<svg role="img" aria-hidden="true" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M19.7,3H4.3C3.582,3,3,3.582,3,4.3v15.4C3,20.418,3.582,21,4.3,21h15.4c0.718,0,1.3-0.582,1.3-1.3V4.3 C21,3.582,20.418,3,19.7,3z M8.339,18.338H5.667v-8.59h2.672V18.338z M7.004,8.574c-0.857,0-1.549-0.694-1.549-1.548 c0-0.855,0.691-1.548,1.549-1.548c0.854,0,1.547,0.694,1.547,1.548C8.551,7.881,7.858,8.574,7.004,8.574z M18.339,18.338h-2.669 v-4.177c0-0.996-0.017-2.278-1.387-2.278c-1.389,0-1.601,
4811.086-1.601,2.206v4.249h-2.667v-8.59h2.559v1.174h0.037 c0.356-0.675,1.227-1.387,2.526-1.387c2.703,0,3.203,1.779,3.203,4.092V18.338z"></path></svg>
482						<span class="screen-reader-text">
483							Open LinkedIn in a new tab						</span>
484					</a>
485				</li>
486					
487			
488					
489			
490					
491			
492					
493			
494					
495			
496					
497			
498					
499			
500					
501			
502						</ul>
503	
504		
505	<div class="site-info text-xs mb-0 lg:w-full">
506
507		&copy; 2026&nbsp;			<span class="copyright">
508				Jeff C. Kelly			</span>
509		
510		
511	</div>
512
513	
514	</div>
515
516</footer>
517
518	</div>
519
520	
520<script type="speculationrules">
521{"prefetch":[{"source":"document","where":{"and":[{"href_matches":"/*"},{"not":{"href_matches":["/wp-*.php","/wp-admin/*","/wp-content/uploads/*","/wp-content/*","/wp-content/plugins/*","/wp-content/themes/go/*","/*\\?(.+)"]}},{"not":{"selector_matches":"a[rel~=\"nofollow\"]"}},{"not":{"selector_matches":".no-prefetch, .no-prefetch a"}}]},"eagerness":"conservative"}]}
522</script>
522
523	
523<script>
524	/(trident|msie)/i.test(navigator.userAgent)&&document.getElementById&&window.addEventListener&&window.addEventListener("hashchange",function(){var t,e=location.hash.substring(1);/^[A-z0-9_-]+$/.test(e)&&(t=document.getElementById(e))&&(/^(?:a|select|input|button|textarea)$/i.test(t.tagName)||(t.tabIndex=-1),t.focus())},!1);
525	</script>
525
526	
526<script id="coblocks-animation-js" src="https://jeffkelly.com/wp-content/plugins/coblocks/dist/js/coblocks-animation.js?ver=3.1.17"></script>
vendor: 1 bytes, line 526
526
527<script id="go-frontend-js-extra">
528var goFrontend = {"openMenuOnHover":"1","isMobile":""};
529//# sourceURL=go-frontend-js-extra
530</script>
vendor: 1 bytes, line 530
530
531<script id="go-frontend-js" src="https://jeffkelly.com/wp-content/themes/go/dist/js/frontend.min.js?ver=1.8.18"></script>
vendor: 1 bytes, line 531
531
532<script id="wp-emoji-settings" type="application/json">
533{"baseUrl":"https://s.w.org/images/core/emoji/17.0.2/72x72/","ext":".png","svgUrl":"https://s.w.org/images/core/emoji/17.0.2/svg/","svgExt":".svg","source":{"concatemoji":"https://jeffkelly.com/wp-includes/js/wp-emoji-release.min.js?ver=7.1.2"}}
534</script>
vendor: 1 bytes, line 534
534
535<script type="module">
536/*! This file is auto-generated */
537var e="script#wp-emoji-settings",t=document.querySelector(e);if(!(t instanceof HTMLScriptElement))throw new Error("Element missing: "+e);const r=JSON.parse(t.text),s=(window._wpemojiSettings=r,"wpEmojiSettingsSupports"),o=["flag","emoji"];function i(e){try{var t={supportTests:e,timestamp:(new Date).valueOf()};sessionStorage.setItem(s,JSON.stringify(t))}catch(e){}}function c(e,t,n){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);t=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data);e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(n,0,0);const r=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data);return t.every((e,t)=>e===r[t])}function p(e,t){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);var n=e.getImageData(16,16,1,1);for(let e=0;e<n.data.length;e++)if(0!==n.data[e])return!1;return!0}function u(e,t,n,r){switch(t){case"flag":return n(e,"\ud83c\udff3\ufe0f\u200d\u26a7\ufe0f","\ud83c\udff3\ufe0f\u200b\u26a7\ufe0f")?!1:!n(e,"\ud83c\udde8\ud83c\uddf6","\ud83c\udde8\u200b\ud83c\uddf6")&&!n(e,"\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc65\udb40\udc6e\udb40\udc67\udb40\udc7f","\ud83c\udff4\u200b\udb40\udc67\u200b\udb40\udc62\u200b\udb40\udc65\u200b\udb40\udc6e\u200b\udb40\udc67\u200b\udb40\udc7f");case"emoji":return!r(e,"\ud83e\u1fac8")}return!1}function f(e,t,n,r){let a;const s=(a="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?new OffscreenCanvas(300,150):document.createElement("canvas")).getContext("2d",{willReadFrequently:!0}),o=(s.textBaseline="top",s.font="600 32px Arial",{});return e.forEach(e=>{o[e]=t(s,e,n,r)}),o}function a(e){var t=document.createElement("script");t.src=e,t.defer=!0,document.head.appendChild(t)}r.supports={everything:!0,everythingExceptFlag:!0},new Promise(t=>{let n=function(){try{var e=JSON.parse(sessionStorage.getItem(s));if("object"==typeof e&&"number"==typeof e.timestamp&&(new Date).valueOf()<e.timestamp+604800&&"object"==typeof e.supportTests)return e.supportTests}catch(e){}return null}();if(!n){if("undefined"!=typeof Worker&&"undefined"!=typeof OffscreenCanvas&&"undefined"!=typeof URL&&URL.createObjectURL&&"undefined"!=typeof Blob)try{var e="postMessage("+f.toString()+"("+[JSON.stringify(o),u.toString(),c.toString(),p.toString()].join(",")+"));",r=new Blob([e],{type:"text/javascript"});const a=new Worker(URL.createObjectURL(r),{name:"wpTestEmojiSupports"});return void(a.onmessage=e=>{i(n=e.data),a.terminate(),t(n)})}catch(e){}i(n=f(o,u,c,p))}t(n)}).then(e=>{for(const n in e)r.supports[n]=e[n],r.supports.everything=r.supports.everything&&r.supports[n],"flag"!==n&&(r.supports.everythingExceptFlag=r.supports.everythingExceptFlag&&r.supports[n]);var t;r.supports.everythingExceptFlag=r.supports.everythingExceptFlag&&!r.supports.flag,r.supports.everything||((t=r.source||{}).concatemoji?a(t.concatemoji):t.wpemoji&&t.twemoji&&(a(t.twemoji),a(t.wpemoji)))});
538//# sourceURL=https://jeffkelly.com/wp-includes/js/wp-emoji-loader.min.js
539</script>
539
540		
540<script>'undefined'=== typeof _trfq || (window._trfq = []);'undefined'=== typeof _trfd && (window._trfd=[]),
541                _trfd.push({'tccl.baseHost':'secureserver.net'}),
542                _trfd.push({'ap':'wpaas_v2'},
543                    {'server':'9862da823d4e'},
544                    {'pod':'c17-prod-p3-us-west-2'},
545                                        {'xid':'45482799'},
546                    {'wp':'7.1.2'},
547                    {'php':'8.2.33'},
548                    {'loggedin':'0'},
549                    {'cdn':'1'},
550                    {'builder':'wp-block-editor'},
551                    {'theme':'go'},
552                    {'wds':'0'},
553                    {'wp_alloptions_count':'290'},
554                    {'wp_alloptions_bytes':'84567'},
555                    {'gdl_coming_soon_page':'0'}
556                    , {'appid':'536690'}                 );
557            var trafficScript = document.createElement('script'); trafficScript.src = 'https://img1.wsimg.com/signals/js/clients/scc-c2/scc-c2.min.js'; window.document.head.appendChild(trafficScript);</script>
557
558		
558<script>window.addEventListener('click', function (elem) { var _elem$target, _elem$target$dataset, _window, _window$_trfq; return (elem === null || elem === void 0 ? void 0 : (_elem$target = elem.target) === null || _elem$target === void 0 ? void 0 : (_elem$target$dataset = _elem$target.dataset) === null || _elem$target$dataset === void 0 ? void 0 : _elem$target$dataset.eid) && ((_window = window) === null || _window === void 0 ? void 0 : (_window$_trfq = _window._trfq) === null || _window$_trfq === void 0 ? void 0 : _window$_trfq.push(["cmdLogEvent", "click", elem.target.dataset.eid]));});</script>
558
559		
559<script src='https://img1.wsimg.com/traffic-assets/js/tccl-tti.min.js' onload="window.tti.calculateTTI()"></script>
559
560		
561	</body>
562</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.