Browse Source

Work: Management list — alphabetize, add Server Maintenance + User Support, drop Social Media

What? > Management: removed the 'I do not manage Social Media' line, sorted the
list alphabetically, and added 'Server Maintenance / Upgrades / Support' and
'User Support / Training'. Rebuilt app/ (gulp build + html).
windhamdavid 1 week ago
parent
commit
e22624a5c1
5 changed files with 197 additions and 85 deletions
  1. 0 0
      app/css/dw.css
  2. 188 77
      app/index.html
  3. 2 2
      app/index.min.html/index.html
  4. 0 0
      app/js/dw.js
  5. 7 6
      index.html

File diff suppressed because it is too large
+ 0 - 0
app/css/dw.css


+ 188 - 77
app/index.html

@@ -15,7 +15,7 @@
 <link rel="canonical" href="https://davidwindham.com/">
 <link rel="canonical" href="https://davidwindham.com/">
 <meta property="og:title" content="David Windham">
 <meta property="og:title" content="David Windham">
 <meta property="og:description" content="Something Else">
 <meta property="og:description" content="Something Else">
-<meta property="og:type" content="website"><meta property="og:url" content="https://davidwindham.com"><meta property="og:site_name" content="David Windham"><meta property="og:image" content="img/og_image.jpg"><meta property="fb:app_id" content="203136806559589"><meta name="twitter:site" content="@windhamdavid"><meta name="twitter:creator" content="@windhamdavid"><meta name="twitter:title" content="David Windham"><meta name="twitter:description" content="Something Else"><meta name="twitter:image" content="img/ogt_image.jpg"><meta name="twitter:card" content="summary_large_image"><link rel="apple-touch-icon" sizes="180x180" href="img/icons/apple-touch-icon.png"><link rel="icon" type="image/png" sizes="32x32" href="img/icons/favicon-32x32.png"><link rel="icon" type="image/png" sizes="16x16" href="img/icons/favicon-16x16.png"><link rel="manifest" href="img/icons/site.webmanifest"><!--<link rel="mask-icon" href="img/icons/safari-pinned-tab.svg" color="#3f3f3f">--><meta name="msapplication-TileColor" content="#000000"><meta name="theme-color" content="#ffffff">
+<meta property="og:type" content="website"><meta property="og:url" content="https://davidwindham.com"><meta property="og:site_name" content="David Windham"><meta property="og:image" content="https://davidwindham.com/og-image.jpg"><meta property="fb:app_id" content="203136806559589"><meta name="twitter:site" content="@windhamdavid"><meta name="twitter:creator" content="@windhamdavid"><meta name="twitter:title" content="David Windham"><meta name="twitter:description" content="Something Else"><meta name="twitter:image" content="img/ogt_image.jpg"><meta name="twitter:card" content="summary_large_image"><link rel="apple-touch-icon" sizes="180x180" href="img/icons/apple-touch-icon.png"><link rel="icon" type="image/png" sizes="32x32" href="img/icons/favicon-32x32.png"><link rel="icon" type="image/png" sizes="16x16" href="img/icons/favicon-16x16.png"><link rel="manifest" href="img/icons/site.webmanifest"><!--<link rel="mask-icon" href="img/icons/safari-pinned-tab.svg" color="#3f3f3f">--><meta name="msapplication-TileColor" content="#000000"><meta name="theme-color" content="#ffffff">
 <link rel="stylesheet" href="css/dw.css">
 <link rel="stylesheet" href="css/dw.css">
 <script type="application/ld+json">
 <script type="application/ld+json">
   {
   {
@@ -52,7 +52,7 @@
       "closes": "15:00"
       "closes": "15:00"
     },
     },
     "sameAs": [
     "sameAs": [
-      "https://davidawindham.com",
+      "",
       "https://twitter.com/windhamdavid",
       "https://twitter.com/windhamdavid",
       "https://linkedin.com/in/windhamdavid",
       "https://linkedin.com/in/windhamdavid",
       "https://en.wikipedia.org/wiki/User:Windhamdavid",
       "https://en.wikipedia.org/wiki/User:Windhamdavid",
@@ -67,6 +67,49 @@
 </head>
 </head>
 <body>
 <body>
 
 
+<!-- Page loader (mirrors the WordPress theme's loader.php) -->
+<style>
+#loader { position:fixed; width:100%; height:100%; top:0; left:0; z-index:200000; background-color:#222; }
+.loading-animation { width:250px; height:250px; position:absolute; inset:0; margin:auto; }
+.loading-animation svg { position:absolute; top:0; left:0; transform-origin:center center; transition:all .3s; transform:rotateY(0deg); }
+.loading-animation path { fill:none; stroke:#fff; stroke-width:2; transition:all .3s; }
+.loading-animation .l1 path { fill:rgba(242,242,242,.1); stroke-dasharray:450; stroke-dashoffset:900; animation:LOADING1 4s linear 0s infinite; }
+.loading-animation .l2 path { fill:rgba(242,242,242,.1); stroke-dasharray:340; stroke-dashoffset:340; animation:LOADING2 3s linear 0s infinite; }
+.loading-animation .l3 path { fill:none; stroke-width:1; stroke-dasharray:33; stroke-dashoffset:33; animation:LOADING3 2s linear 0s infinite; }
+@keyframes LOADING1 { 0%{stroke-dashoffset:-900;}50%{stroke-dashoffset:0;}100%{stroke-dashoffset:900;} }
+@keyframes LOADING2 { 0%{stroke-dashoffset:340;}50%{stroke-dashoffset:0;}100%{stroke-dashoffset:-340;} }
+@keyframes LOADING3 { 0%{stroke-dashoffset:-230;}50%{stroke-dashoffset:0;}100%{stroke-dashoffset:230;} }
+.svg-wrap .l1 { animation:TURN 3s linear 0s infinite; }
+.svg-wrap .l2 { animation:TURN 2s linear 0s infinite; }
+.svg-wrap .l3 { animation:TURN 4.5s linear 0s infinite; }
+@keyframes TURN { 0%{transform:rotateY(0deg);opacity:1}25%{transform:rotateY(90deg);opacity:.6}50%{transform:rotateY(180deg);opacity:1}75%{transform:rotateY(270deg);opacity:.6}100%{transform:rotateY(360deg);opacity:1} }
+</style>
+<div id="loader">
+	<div class="loading-animation">
+		<div class="svg-wrap">
+			<svg class="l1" width="250px" height="250px"><path d="M242.8,131.8c-0.4-29.9-22.1-50.1-48.1-50c-16.9,0-28.6,8.4-28.6,8.4s12.7-16.2,12.6-36.9c-0.2-24.7-23-47.9-52.4-47.9C97.6,5.4,71.8,26,72.3,55.5C72.6,76.3,85,90.2,85,90.2c0,0-13.9-8.7-29-8.2C16.5,83,6.6,115.8,7.3,132.9c1.2,33.4,15.4,53.8,52.7,54.2c34.2,0.4,54.9-32.3,61-43.5c1.5-9.5,0-13.9,0-13.9c-3.1,1.6-14.5,27.9-35.6,16.1c-6.8-3.8-8.8-16.7-5.2-26.3c6.3-16.9,18.3-18.7,36-40.3c6.8-8.3,8.2-13.6,8.2-13.6s1.2,5.2,7.8,13.2c17.4,21.2,30.1,23.6,36.7,40.4c4.1,10.4,1.8,23-6,26.9c-20.3,10.1-31.4-15.1-34.9-16.5c0,0-1.2,4,0.1,12.8c2.6,5.7,21.7,44.2,64,44.2C226.3,186.6,243.1,156.2,242.8,131.8z"/></svg>
+			<svg class="l2" width="250px" height="250px"><path d="M124.5,154.1c0,0-10.8,37.5-12.7,41.9c-4.9,11.3-26.6,38.8-26.6,38.8s25.2-2.8,40.4-2.8c15.6,0,39.2,3.2,39.2,3.2s-22.8-28.1-27.6-39.6C135.4,191.2,124.5,154.1,124.5,154.1z"/></svg>
+			<svg class="l3" width="250px" height="250px"><path d="M0.5,125a124.5,124.5 0 1,0 249,0a124.5,124.5 0 1,0 -249,0"/></svg>
+		</div>
+	</div>
+</div>
+<script>
+(function () {
+	var HOLD = 1000, FADE = 2000, FAILSAFE = 9000, done = false;
+	function hideLoader() {
+		if (done) return; done = true;
+		var el = document.getElementById('loader'); if (!el) return;
+		el.style.transition = 'opacity ' + FADE + 'ms ease';
+		el.style.opacity = '0';
+		setTimeout(function () { el.style.display = 'none'; }, FADE);
+	}
+	function schedule() { setTimeout(hideLoader, HOLD); }
+	if (document.readyState === 'complete') schedule();
+	else window.addEventListener('load', schedule);
+	setTimeout(hideLoader, FAILSAFE);
+})();
+</script>
+
 <div id="backgroundsvg"></div>
 <div id="backgroundsvg"></div>
 <div id="backgroundsvg2"></div>
 <div id="backgroundsvg2"></div>
 <div id="backgroundsvg3"></div>
 <div id="backgroundsvg3"></div>
@@ -80,7 +123,7 @@
   </div>
   </div>
 </header>
 </header>
 <header class="header-small">
 <header class="header-small">
-  <a href="#header" class="brand">
+  <a href="#header" class="brand" aria-label="Back to top">
     <img class="light" src="img/dw-light.svg" srcset="img/dw-light.svg 2x" alt="David Windham logo">
     <img class="light" src="img/dw-light.svg" srcset="img/dw-light.svg 2x" alt="David Windham logo">
     <img class="dark" src="img/dw-dark.svg" srcset="img/dw-dark.svg 2x" alt="David Windham logo">
     <img class="dark" src="img/dw-dark.svg" srcset="img/dw-dark.svg 2x" alt="David Windham logo">
   </a>
   </a>
@@ -98,6 +141,103 @@
   </div>
   </div>
 </header>
 </header>
 
 
+<!-- ** TOP NAV (main-site links, opened from the brand) ** -->
+<style>
+  /* variable Playfair (opsz pinned to 20) so the top nav matches the main site's nav */
+  @font-face { font-family: 'Playfair Var'; font-style: normal; font-weight: 300 900; font-display: swap; src: url('fonts/playfair-display-var.woff2') format('woff2'); }
+  #worknav.work-nav { height: auto; bottom: auto; min-height: 0; max-height: none; background: rgba(72,76,87,.9); backdrop-filter: blur(6px); border: 0; z-index: 990; } /* bottom:auto releases the base .offcanvas bottom:0 so it doesn't stretch full-height; z-index below .header-small (999) so the side-nav "Who" link paints on top where they overlap */
+  /* .header-small is a full-width bar at z-index 999; with the top nav now at 990, its empty center would swallow clicks meant for the top-nav links. Make the bar transparent to pointer events but keep its real links/hamburger clickable. */
+  .header-small { pointer-events: none; }
+  .header-small a, .header-small .hamburger { pointer-events: auto; }
+  #worknav .offcanvas-body { padding: 1.1rem 1rem; flex: 0 0 auto; }
+  .work-nav-links { position: relative; display: flex; justify-content: center; flex-wrap: wrap; gap: 2.2rem; margin: 0; }
+  .work-nav-links a { color: #fff; text-decoration: none; font-family: 'Playfair Var', 'Playfair Display', serif; font-weight: 700; font-size: 1.35rem; }
+  .work-nav-links a:hover { color: #25c2a0; }
+  /* floating "magic line": one shared underline that slides between the top-nav items (positioned by the script below) */
+  .work-nav-underline {
+    position: absolute; top: 0; left: 0; width: 0; height: 2px;
+    background: #25c2a0; border-radius: 1px; opacity: 0; pointer-events: none;
+    transition: left .4s cubic-bezier(0.785,0.135,0.15,0.86), width .4s cubic-bezier(0.785,0.135,0.15,0.86), top .4s cubic-bezier(0.785,0.135,0.15,0.86), opacity .3s ease;
+  }
+  /* sub nav (Who/What/When/Why/How): match the top-nav font + size, with a different
+     underline effect — a left-to-right slide-in per item (like the main site's footer) */
+  .header-small .header-small-menu a {
+    font-family: 'Playfair Var', 'Playfair Display', serif;
+    font-weight: 700;
+    font-size: 1.35rem;
+    position: relative;
+  }
+  .header-small .header-small-menu a::after {
+    content: ''; position: absolute; left: 12px; bottom: 6px; height: 2px; width: 0;
+    background: #25c2a0; transition: width .35s cubic-bezier(0.785,0.135,0.15,0.86);
+  }
+  .header-small .header-small-menu a:hover { opacity: 1; }
+  .header-small .header-small-menu a:hover::after { width: calc(100% - 41px); }
+  @media (prefers-reduced-motion: reduce) {
+    .work-nav-underline { transition: opacity .3s ease; }
+    .header-small .header-small-menu a::after { transition: none; }
+  }
+</style>
+<div class="offcanvas offcanvas-top work-nav" tabindex="-1" id="worknav" data-bs-backdrop="false" data-bs-scroll="true" aria-labelledby="worknav-label">
+  <div class="offcanvas-body">
+    <nav class="work-nav-links" aria-label="Main site navigation">
+      <a href="/about">About</a>
+      <a href="/desk">Desk</a>
+      <a href="/studio">Studio</a>
+      <a href="/work">Work</a>
+      <span class="work-nav-underline" aria-hidden="true"></span>
+    </nav>
+  </div>
+</div>
+<script>
+/* Floating "magic line" underline for the top nav (mirrors the main site): one shared
+   underline slides between items on hover and rests under the current-page item.
+   Positions read from offset* (layout geometry), unaffected by the offcanvas transform. */
+(function () {
+  function init() {
+    var nav = document.querySelector('.work-nav-links');
+    if (!nav) return;
+    var line = nav.querySelector('.work-nav-underline');
+    if (!line) return;
+    var links = Array.prototype.slice.call(nav.querySelectorAll('a'));
+    if (!links.length) return;
+    function rel(el) {
+      var left = 0, top = 0, node = el;
+      while (node && node !== nav) { left += node.offsetLeft; top += node.offsetTop; node = node.offsetParent; }
+      return { left: left, top: top, width: el.offsetWidth, height: el.offsetHeight };
+    }
+    function place(el, show) {
+      var r = rel(el);
+      line.style.left = r.left + 'px';
+      line.style.width = r.width + 'px';
+      line.style.top = (r.top + r.height) + 'px';
+      line.style.opacity = show ? '1' : '0';
+    }
+    function activeLink() {
+      var here = location.pathname.replace(/\/+$/, '') || '/';
+      var seg = '/' + (here.split('/')[1] || '');
+      var exact = null, section = null;
+      links.forEach(function (a) {
+        var p = a.pathname.replace(/\/+$/, '') || '/';
+        if (p === here) exact = a;
+        if (p === seg) section = a;
+      });
+      return exact || section;
+    }
+    var active = activeLink();
+    function rest() { if (active) place(active, true); else line.style.opacity = '0'; }
+    links.forEach(function (a) { a.addEventListener('mouseenter', function () { place(a, true); }); });
+    nav.addEventListener('mouseleave', rest);
+    window.addEventListener('resize', rest);
+    if (document.fonts && document.fonts.ready) document.fonts.ready.then(rest);
+    rest();
+  }
+  if (document.readyState !== 'loading') init();
+  else document.addEventListener('DOMContentLoaded', init);
+})();
+</script>
+<!-- ** TOP NAV ** -->
+
 
 
 
 
  <!-- ============================= ** MAIN ** ============================= -->
  <!-- ============================= ** MAIN ** ============================= -->
@@ -116,7 +256,7 @@
           <p class="lead">I'm glad you found me.
           <p class="lead">I'm glad you found me.
             I, too, have a computer on a network, so here you are.
             I, too, have a computer on a network, so here you are.
             No man is an island<sub>1</sub> even though this is mostly a one-man show<sub>2</sub>.
             No man is an island<sub>1</sub> even though this is mostly a one-man show<sub>2</sub>.
-            I published this site as single-page professional overview so I can have fun with my <a href="https://davidawindham.com/desk">personal site</a> and avoid sending potential clients navigating down the 2,000-page rabbit hole<sub>3</sub>.
+            I published this site as single-page professional overview so I can have fun with my <a href="/desk">personal site</a> and avoid sending potential clients navigating down the 2,000-page rabbit hole<sub>3</sub>.
             <br><br>
             <br><br>
             Right on,
             Right on,
           </p>
           </p>
@@ -184,7 +324,7 @@
             </svg>
             </svg>
           </a>
           </a>
           <p class="mt-3 ps-5 gaegu illustration small float-start">
           <p class="mt-3 ps-5 gaegu illustration small float-start">
-            This is the icon I use everywhere. It came from a card I designed for my business. The name came from our two dogs <a href="https://davidawindham.com/boozie/">Zeke and Woozie</a>.  ( Click to see the original )
+            This is the icon I use everywhere. It came from a card I designed for my business. The name came from our two dogs <a href="/boozie/">Zeke and Woozie</a>.  ( Click to see the original )
           </p>
           </p>
         </div>
         </div>
       </div>
       </div>
@@ -276,16 +416,17 @@
           <div class="row">
           <div class="row">
             <h5>Management</h5>
             <h5>Management</h5>
             <ul>
             <ul>
-              <li>Domain Registry / Routing / DNS</li>
-              <li>Brand Trademark / Identity Monitoring</li>
               <li>Analytics / Campaign Reporting</li>
               <li>Analytics / Campaign Reporting</li>
+              <li>Application Monitoring / Support</li>
+              <li>Backup Automation / Recovery</li>
+              <li>Brand Trademark / Identity Monitoring</li>
+              <li>Domain Registry / Routing / DNS</li>
               <li>Email Accounts / Hosting / Security</li>
               <li>Email Accounts / Hosting / Security</li>
-              <li>System / Network Security</li>
               <li>Hardware Acquisition / Management</li>
               <li>Hardware Acquisition / Management</li>
-              <li>Backup Automation / Recovery</li>
-              <li>Application Monitoring / Support</li>
+              <li>Server Maintenance / Upgrades / Support</li>
+              <li>System / Network Security</li>
               <li>Technical Support / Troubleshooting</li>
               <li>Technical Support / Troubleshooting</li>
-              <li class="mt-2">I do <b><u>not</u></b> manage Social Media</li>
+              <li>User Support / Training</li>
             </ul>
             </ul>
           </div>
           </div>
         </div>
         </div>
@@ -517,6 +658,7 @@
             <div id="audit-tab" class="tab-pane fade" role="tabpanel" aria-labelledby="audit-tab" tabindex="2">
             <div id="audit-tab" class="tab-pane fade" role="tabpanel" aria-labelledby="audit-tab" tabindex="2">
               <h4 class="how fw-bold">Careful</h4>
               <h4 class="how fw-bold">Careful</h4>
               <p>I will carefully review and critique your existing software, applications,  sites and workflow to write up an unbiased detailed report that'll give your team some actionable feedback. I'll provide references and suggestions and I'll either propose a solution or refer elsewhere for assistance.</p>
               <p>I will carefully review and critique your existing software, applications,  sites and workflow to write up an unbiased detailed report that'll give your team some actionable feedback. I'll provide references and suggestions and I'll either propose a solution or refer elsewhere for assistance.</p>
+              <p class="mt-3"><a data-bs-toggle="modal" data-bs-target="#work-rules-modal" href="#work-rules-modal" role="button">Read how I work &rarr;</a></p>
             </div>
             </div>
             <div id="manage-tab" class="tab-pane fade" role="tabpanel" aria-labelledby="manage-tab" tabindex="3">
             <div id="manage-tab" class="tab-pane fade" role="tabpanel" aria-labelledby="manage-tab" tabindex="3">
               <h4 class="how fw-bold">Reliable</h4>
               <h4 class="how fw-bold">Reliable</h4>
@@ -526,6 +668,32 @@
         </div>
         </div>
       </div>
       </div>
 
 
+      <!-- ** WORK RULES ** -->
+      <div id="work-rules-modal" class="modal fade" tabindex="-1" aria-labelledby="work-rules-modal-label" aria-hidden="true">
+        <div class="modal-dialog modal-lg modal-dialog-scrollable">
+          <div class="modal-content" style="background:#fff !important;color:#232323;border-radius:6px;">
+            <div class="modal-header">
+              <h5 class="modal-title" id="work-rules-modal-label">How I Work</h5>
+              <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
+            </div>
+            <div class="modal-body" style="background:#fff !important;padding:1.5rem 2rem !important;">
+                <p>Almost half of the work I do each year is project work for private clients while the other half is on contract for agencies and companies. As much as it sounds like fun working from home, freelancing can be a daunting work schedule because of the ups and downs involved with juggling timelines and clients. Most of my work comes from personal referrals. But when they don&#8217;t, here are some brief guidelines on how I work.</p>
+                <p>1) I prefer to work on one project at a time in order to optimize my output and creative energy. Please check the calendar on my <a href="/about">about page</a> for availability because I try to schedule work up to six months in advance.</p>
+                <p>2) Once you&#8217;ve contacted me with some minor details, I will schedule an interview to ask questions before providing you with an estimated cost and timeline for your project. If the proposal suits your budget, I&#8217;ll ask you to sign an <a href="/contract">Independent Contractor Agreement</a> for the work.</p>
+                <p>3) In order to engage high quality clients, I charge a $500 retainer fee up front and I bill $50 per hour for any work delivered. I guarantee client satisfaction on all deliverables and will not bill for any additional hours to meet that goal. However, I will bill for any time spent consulting or training via chat, phone, or email. </p>
+                <p>4) I am not a full service advertising agency as I prefer to focus on creative deliverables only. If your project goals are more suited to a full service agency I will gladly recommend one I work with. Likewise, If your project can be filled with a pre-built solution at a lower cost, I will be glad to recommend a solution for you. </p>
+                <p>6) I am not interested in partnerships, shares, or equity in your company.</p>
+                <p>7) Software and web development will require regular maintenance. I will support anything I build for the lifetime of the project at the same billable hourly rate. Additional features and major updates will be written up as separate contract work. </p>
+                <p>8) On rare occasion, I&#8217;ve had to outsource project work to other developers under tight deadlines. I try my best not to do so, but I retain a small network of associates who can assist.  </p>
+                <p>9) I retain the right to reject a project when requests outside the scope of the initial contract misalign the project goals.</p>
+                <p>10) I like to love my work and happy clients are what make it possible. If you are in anyway known as difficult to work with, please don&#8217;t contact me. </p>
+                <p>If all of these make sense to you, please me contact me and let&#8217;s get started. </p>
+            </div>
+          </div>
+        </div>
+      </div>
+      <!-- ** WORK RULES ** -->
+
       <div class="row py-5 bg-dw-bright bg-opacity-10">
       <div class="row py-5 bg-dw-bright bg-opacity-10">
         <div class="col-lg-10 offset-lg-1">
         <div class="col-lg-10 offset-lg-1">
           <div class="row">
           <div class="row">
@@ -601,46 +769,11 @@
 
 
  <!-- ============================= ** MAIN ** ============================= -->
  <!-- ============================= ** MAIN ** ============================= -->
 </main>
 </main>
- <!-- ============================= ** FOOTER ** ============================= -->
-<footer id="dw-footer" class="dw-footer">
+ <!-- ============================= ** REFERENCES ** ============================= -->
+<section id="references" class="references">
   <div class="container">
   <div class="container">
     <div class="row">
     <div class="row">
-      <div class="col-lg-6 col-md-4">
-        <div class="br-widget">
-          <h5>David Windham</h5>
-          <address class="mt-3">
-            <a href="https://www.google.com/maps/place/102+Glenridge+Cir,+Greenwood,+SC+29646">102 Glenridge Circle</a><br>
-            <a href="https://www.google.com/maps/place/102+Glenridge+Cir,+Greenwood,+SC+29646">Greenwood, South Carolina USA</a>
-            <br>
-            <a target="_blank" href="mailto:&#100;&#097;&#118;&#105;&#100;&#064;&#100;&#097;&#118;&#105;&#100;&#119;&#105;&#110;&#100;&#104;&#097;&#109;&#046;&#099;&#111;&#109;">&#100;&#097;&#118;&#105;&#100;&#064;&#100;&#097;&#118;&#105;&#100;&#119;&#105;&#110;&#100;&#104;&#097;&#109;&#046;&#099;&#111;&#109;</a><br>
-            <a href="tel:8037123283">+1-803-712-3283</a>
-          </address>
-        </div>
-      </div>
-
-      <div class="col-lg-2 col-xxs-4 offset-lg-2 mt-5">
-        <div class="br-widget">
-          <ul class="footer-links">
-            <li><a href="https://davidawindham.com/desk/" rel="me"><i class="bi bi-pencil"></i>&nbsp; Desk / Archive</a></li>
-            <li><a href="https://davidawindham.com/til/" rel="me"><i class="bi bi-journal-bookmark"></i>&nbsp; Today I Learned</a></li>
-            <li><a href="https://davidawindham.com/about/bio" rel="me"><i class="bi bi-person-lines-fill"></i>&nbsp; Biography</a></li>
-          </ul>
-        </div>
-      </div>
-
-      <div class="col-lg-2 col-xxs-4 mt-5">
-        <div class="br-widget">
-          <ul class="footer-links text-lg-end">
-            <li><a href="https://davidawindham.com/contract/" rel="me">Contract &nbsp;<i class="bi bi-pencil-square"></i></a></li>
-            <li><a href="https://code.davidawindham.com/david/dw" rel="me">Code &nbsp;<i class="bi bi-file-code"></i></a></li>
-            <li><a href="https://davidwindham.com/davidwindham.asc" rel="me">Key &nbsp;<i class="bi bi-file-earmark-lock"></i></a></li>
-          </ul>
-        </div>
-      </div>
-    </div>
-
-    <div class="row">
-      <div class="col-lg-4 offset-lg-8 mt-5 fw-light small">
+      <div class="col-lg-4 offset-lg-8 my-5 fw-light small">
         References:
         References:
         <ol>
         <ol>
           <li><a target="_blank" href="https://en.wikipedia.org/wiki/Devotions_upon_Emergent_Occasions">Donne, John. 1624. <i>Devotions upon Emergent Occasions</i></a></li>
           <li><a target="_blank" href="https://en.wikipedia.org/wiki/Devotions_upon_Emergent_Occasions">Donne, John. 1624. <i>Devotions upon Emergent Occasions</i></a></li>
@@ -650,32 +783,9 @@
       </div>
       </div>
     </div>
     </div>
   </div>
   </div>
-  <div class="footer-end">
-    <div class="container">
-      <div class="row">
-        <div class="col-md-6 text-md-left">
-          &copy; 2004-2026<br>
-          <small>Updated: 06/11/26</small>
-        </div>
-        <div class="col-md-6 text-end">
-          <p class="gaegu mb-n1">I'm not really active on some of these:</p>
-          <ul class="footer-links footer-social list-inline">
-            <li class="list-inline-item"><i class="bi bi-arrow-90deg-up"></i>  </li>
-            <li class="list-inline-item"><a href="https://en.wikipedia.org/wiki/User:Windhamdavid" class="wikipedia" rel="me"><i class="bi-wikipedia"></i></a></li>
-            <li class="list-inline-item"><a href="https://github.com/windhamdavid" class="github" rel="me"><i class="bi bi-github"></i></a></li>
-            <li class="list-inline-item"><a href="https://mastodon.social/@windhamdavid" rel="me"><i class="bi bi-mastodon"></i></a></li>
-            <li class="list-inline-item"><a href="https://stackexchange.com/users/521983/david-windham" class="stackoverflow"><i class="bi bi-stack-overflow"></i></a></li>
-            <li class="list-inline-item"><a href="https://www.facebook.com/windhamdavid" class="facebook"><i class="bi bi-facebook"></i></a></li>
-            <li class="list-inline-item"><a href="https://bsky.app/profile/davidwindham.com" class="twitter" rel="me"><i class="bi bi-twitter"></i></a></li>
-            <li class="list-inline-item"><a href="https://www.reddit.com/windhamdavid" class="reddit"><i class="bi bi-reddit"></i></a></li>
-            <li class="list-inline-item"><a href="https://open.spotify.com/user/windhamdavid" class="spotify" rel="me"><i class="bi bi-spotify"></i></a></li>
-            <li class="list-inline-item"><a href="https://www.linkedin.com/in/windhamdavid" class="linkedin" rel="me"><i class="bi bi-linkedin"></i></a></li>
-          </ul>
-        </div>
-      </div>
-    </div>
-  </div>
-</footer>
+</section>
+ <!-- ============================= ** FOOTER ** ============================= -->
+<daw-footer></daw-footer>
 
 
 <script src="js/dw.js"></script>
 <script src="js/dw.js"></script>
 <!--
 <!--
@@ -686,14 +796,15 @@
   _paq.push(['trackPageView']);
   _paq.push(['trackPageView']);
   _paq.push(['enableLinkTracking']);
   _paq.push(['enableLinkTracking']);
   (function() {
   (function() {
-    var u="https://davidawindham.com/wik/";
+    var u="/wik/";
     _paq.push(['setTrackerUrl', u+'matomo.php']);
     _paq.push(['setTrackerUrl', u+'matomo.php']);
     _paq.push(['setSiteId', '5']);
     _paq.push(['setSiteId', '5']);
     var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
     var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
     g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
     g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
   })();
   })();
 </script>
 </script>
-<noscript><p><img src="https://davidawindham.com/wik/matomo.php?idsite=5&amp;rec=1" style="border:0;" alt="" /></p></noscript>
+<noscript><p><img src="/wik/matomo.php?idsite=5&amp;rec=1" style="border:0;" alt="" /></p></noscript>
 -->
 -->
+<script src="/embed/chrome.js"></script>
 </body>
 </body>
 </html>
 </html>

File diff suppressed because it is too large
+ 2 - 2
app/index.min.html/index.html


File diff suppressed because it is too large
+ 0 - 0
app/js/dw.js


+ 7 - 6
index.html

@@ -420,16 +420,17 @@
           <div class="row">
           <div class="row">
             <h5>Management</h5>
             <h5>Management</h5>
             <ul>
             <ul>
-              <li>Domain Registry / Routing / DNS</li>
-              <li>Brand Trademark / Identity Monitoring</li>
               <li>Analytics / Campaign Reporting</li>
               <li>Analytics / Campaign Reporting</li>
+              <li>Application Monitoring / Support</li>
+              <li>Backup Automation / Recovery</li>
+              <li>Brand Trademark / Identity Monitoring</li>
+              <li>Domain Registry / Routing / DNS</li>
               <li>Email Accounts / Hosting / Security</li>
               <li>Email Accounts / Hosting / Security</li>
-              <li>System / Network Security</li>
               <li>Hardware Acquisition / Management</li>
               <li>Hardware Acquisition / Management</li>
-              <li>Backup Automation / Recovery</li>
-              <li>Application Monitoring / Support</li>
+              <li>Server Maintenance / Upgrades / Support</li>
+              <li>System / Network Security</li>
               <li>Technical Support / Troubleshooting</li>
               <li>Technical Support / Troubleshooting</li>
-              <li class="mt-2">I do <b><u>not</u></b> manage Social Media</li>
+              <li>User Support / Training</li>
             </ul>
             </ul>
           </div>
           </div>
         </div>
         </div>

Some files were not shown because too many files changed in this diff