

<style>
  /* Wrapper: positioning + width ONLY. No font, no color — nothing inherits out. */
  .dobx{
    --dobx-accent:#6366f1; --dobx-accent-hover:#4f46e5; --dobx-accent-soft:#eef2ff;
    --dobx-text:#1e293b; --dobx-muted:#94a3b8; --dobx-border:#e2e8f0;
    --dobx-border-focus:#c7d2fe; --dobx-bg:#ffffff; --dobx-danger:#ef4444;
    position:relative; display:inline-block; width:320px; max-width:100%; vertical-align:middle;
  }
 
  /* The readonly input — only when it sits directly inside .dobx */
  .dobx > input.cf7-modern-date{
    width:100% !important; 
    box-sizing:border-box !important; font-size:15px !important; line-height:normal !important;
    color:var(--dobx-text) !important; background:var(--dobx-bg) !important;
    border:1.5px solid var(--dobx-border) !important; border-radius:14px !important;
    cursor:pointer !important; box-shadow:none !important;
    font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif !important;
    transition:border-color .15s, box-shadow .15s;
  }
  .dobx > input.cf7-modern-date::placeholder{color:var(--dobx-muted) !important; opacity:1;}
  .dobx > input.cf7-modern-date:hover{border-color:var(--dobx-border-focus) !important;}
  .dobx.is-open > input.cf7-modern-date{border-color:var(--dobx-accent) !important; box-shadow:0 0 0 4px var(--dobx-accent-soft) !important;}
  .dobx > input.cf7-modern-date.wpcf7-not-valid{border-color:var(--dobx-danger) !important; box-shadow:0 0 0 4px rgba(239,68,68,0.12) !important;}
 
  .dobx__icon{position:absolute; right:14px; top:50%; transform:translateY(-50%); color:var(--dobx-accent); pointer-events:none; display:flex;}
 
  /* Popup — self-contained, sets its own font so nothing inherits from page */
  .dobx__pop{
    position:absolute; top:calc(100% + 10px); left:0; z-index:9999;
    width:320px; max-width:320px; min-width:320px; box-sizing:border-box;
    padding:16px; margin:0; background:var(--dobx-bg);
    border:1px solid var(--dobx-border); border-radius:18px;
    box-shadow:0 10px 40px -10px rgba(15,23,42,0.25);
    font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
    opacity:0; transform:translateY(-6px) scale(.98); pointer-events:none;
    transition:opacity .18s ease, transform .18s ease;
  }
  .dobx.is-open .dobx__pop{opacity:1; transform:none; pointer-events:auto;}
  .dobx__pop, .dobx__pop *{box-sizing:border-box;}
 
  .dobx__head{display:flex; align-items:center; gap:8px; margin:0 0 14px;}
  .dobx__selects{display:flex; gap:6px; flex:1 1 auto; min-width:0;}
 
  .dobx__sel{
    appearance:none !important; -webkit-appearance:none !important; -moz-appearance:none !important;
    font-family:inherit !important; font-size:14px !important; font-weight:600 !important;
    color:var(--dobx-text) !important; height:38px !important; line-height:normal !important;
    padding:0 26px 0 12px !important; margin:0 !important;
    border:1.5px solid var(--dobx-border) !important; border-radius:10px !important;
    background-color:var(--dobx-bg) !important; cursor:pointer !important; box-shadow:none !important;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") !important;
    background-repeat:no-repeat !important; background-position:right 8px center !important;
    transition:border-color .15s;
  }
  .dobx__sel:hover{border-color:var(--dobx-border-focus) !important;}
  .dobx__sel:focus{outline:none !important; border-color:var(--dobx-accent) !important; box-shadow:0 0 0 3px var(--dobx-accent-soft) !important;}
  .dobx__sel--m{flex:1 1 auto !important; min-width:0 !important; width:auto !important;}
  .dobx__sel--y{flex:0 0 auto !important; width:84px !important;}
 
  .dobx__nav{display:flex; gap:4px; flex:0 0 auto;}
  .dobx__nav button{
    width:34px !important; height:34px !important; min-width:0 !important; flex:0 0 auto !important;
    display:flex !important; align-items:center !important; justify-content:center !important;
    border:1.5px solid var(--dobx-border) !important; border-radius:10px !important;
    background:var(--dobx-bg) !important; color:#64748b !important; cursor:pointer !important;
    padding:0 !important; margin:0 !important; box-shadow:none !important; transition:all .15s;
  }
  .dobx__nav button:hover{background:var(--dobx-accent-soft) !important; border-color:var(--dobx-border-focus) !important; color:var(--dobx-accent) !important;}
 
  .dobx__dow{display:grid; grid-template-columns:repeat(7,1fr); margin:0 0 4px; gap:0;}
  .dobx__dow > span{text-align:center; font-size:11px; font-weight:600; color:var(--dobx-muted); padding:6px 0; letter-spacing:0.03em;}
 
  .dobx__grid{display:grid; grid-template-columns:repeat(7,1fr); gap:2px;}
  .dobx__day{
    aspect-ratio:1; width:auto !important; height:auto !important; min-width:0 !important;
    display:flex !important; align-items:center !important; justify-content:center !important;
    font-family:inherit !important; font-size:14px !important; font-weight:400 !important; color:var(--dobx-text) !important;
    border:none !important; border-radius:10px !important; background:none !important;
    cursor:pointer !important; padding:0 !important; margin:0 !important; box-shadow:none !important;
    transition:background .12s, color .12s;
  }
  .dobx__day:hover{background:var(--dobx-accent-soft) !important;}
  .dobx__day.muted{color:#cbd5e1 !important; pointer-events:none !important; background:none !important;}
  .dobx__day.disabled{color:#e2e8f0 !important; pointer-events:none !important; background:none !important;}
  .dobx__day.today{box-shadow:inset 0 0 0 1.5px var(--dobx-accent) !important; font-weight:600 !important;}
  .dobx__day.sel{background:var(--dobx-accent) !important; color:#fff !important; font-weight:600 !important;}
  .dobx__day.sel:hover{background:var(--dobx-accent-hover) !important;}
</style>
 
<script>
document.addEventListener('DOMContentLoaded',function(){
  var MONTHS=["January","February","March","April","May","June","July","August","September","October","November","December"];
  var DOW=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"];
  var MIN_YEAR=1920;
  var DEFAULT_VIEW_YEAR=2000;
  var today=new Date(); today.setHours(0,0,0,0);
  function sameDay(a,b){ return a&&b&&a.getFullYear()===b.getFullYear()&&a.getMonth()===b.getMonth()&&a.getDate()===b.getDate(); }
 
  document.querySelectorAll('input.cf7-modern-date').forEach(function(input){
    if(input.dataset.dobxReady) return;
    input.dataset.dobxReady='1';
    input.setAttribute('readonly','readonly');
 
    var wrap=document.createElement('span');
    wrap.className='dobx';
    input.parentNode.insertBefore(wrap,input);
    wrap.appendChild(input);
 
    var icon=document.createElement('span');
    icon.className='dobx__icon';
    icon.innerHTML='<svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="4" width="18" height="18" rx="2"/><line x1="16" y1="2" x2="16" y2="6"/><line x1="8" y1="2" x2="8" y2="6"/><line x1="3" y1="10" x2="21" y2="10"/></svg>';
    wrap.appendChild(icon);
 
    var pop=document.createElement('span');
    pop.className='dobx__pop';
    pop.setAttribute('role','dialog');
    var monthOpts='', yearOpts='';
    MONTHS.forEach(function(m,i){ monthOpts+='<option value="'+i+'">'+m+'</option>'; });
    for(var y=today.getFullYear(); y>=MIN_YEAR; y--) yearOpts+='<option value="'+y+'">'+y+'</option>';
    var dowHtml=''; DOW.forEach(function(d){ dowHtml+='<span>'+d+'</span>'; });
    pop.innerHTML=
      '<span class="dobx__head">'+
        '<span class="dobx__selects">'+
          '<select class="dobx__sel dobx__sel--m" aria-label="Month">'+monthOpts+'</select>'+
          '<select class="dobx__sel dobx__sel--y" aria-label="Year">'+yearOpts+'</select>'+
        '</span>'+
        '<span class="dobx__nav">'+
          '<button type="button" class="dobx__prev" aria-label="Previous month"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"><polyline points="15 18 9 12 15 6"/></svg></button>'+
          '<button type="button" class="dobx__next" aria-label="Next month"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"><polyline points="9 18 15 12 9 6"/></svg></button>'+
        '</span>'+
      '</span>'+
      '<span class="dobx__dow">'+dowHtml+'</span>'+
      '<span class="dobx__grid"></span>';
    wrap.appendChild(pop);
 
    var monthSel=pop.querySelector('.dobx__sel--m');
    var yearSel=pop.querySelector('.dobx__sel--y');
    var grid=pop.querySelector('.dobx__grid');
    var view=new Date(DEFAULT_VIEW_YEAR,0,1);
    var selected=null;
 
    function render(){
      monthSel.value=view.getMonth();
      yearSel.value=view.getFullYear();
      grid.innerHTML='';
      var yy=view.getFullYear(), mm=view.getMonth();
      var startDay=new Date(yy,mm,1).getDay();
      var daysInMonth=new Date(yy,mm+1,0).getDate();
      var prevDays=new Date(yy,mm,0).getDate();
      for(var i=startDay-1;i>=0;i--) addCell(prevDays-i,'muted');
      for(var d=1;d<=daysInMonth;d++){
        var date=new Date(yy,mm,d);
        var cls='';
        if(date>today){ cls='disabled'; }
        else{
          if(sameDay(date,today)) cls+=' today';
          if(sameDay(date,selected)) cls+=' sel';
        }
        addCell(d,cls.replace(/^\s+/,''), date<=today?date:null);
      }
      var trailing=(7-((startDay+daysInMonth)%7))%7;
      for(var t=1;t<=trailing;t++) addCell(t,'muted');
    }
    function addCell(num,extra,date){
      var b=document.createElement('button');
      b.type='button'; b.className='dobx__day'+(extra?' '+extra:''); b.textContent=num;
      if(date){ b.addEventListener('click',function(){ selected=date; commit(); }); }
      grid.appendChild(b);
    }
    function commit(){
      var dd=String(selected.getDate()).padStart(2,'0');
      var mo=String(selected.getMonth()+1).padStart(2,'0');
      input.value=dd+'/'+mo+'/'+selected.getFullYear();
      input.classList.remove('wpcf7-not-valid');
      input.dispatchEvent(new Event('change',{bubbles:true}));
      var tip=wrap.parentNode && wrap.parentNode.querySelector('.wpcf7-not-valid-tip'); if(tip) tip.remove();
      close();
    }
    function open(){ render(); wrap.classList.add('is-open'); }
    function close(){ wrap.classList.remove('is-open'); }
    function toggle(){ wrap.classList.contains('is-open')?close():open(); }
 
    input.addEventListener('click',toggle);
    input.addEventListener('focus',open);
    input.addEventListener('keydown',function(e){ if(e.key==='Enter'||e.key===' '){ e.preventDefault(); toggle(); } });
    monthSel.addEventListener('change',function(){ view.setMonth(+monthSel.value); render(); });
    yearSel.addEventListener('change',function(){ view.setFullYear(+yearSel.value); render(); });
    pop.querySelector('.dobx__prev').addEventListener('click',function(){ view.setMonth(view.getMonth()-1); render(); });
    pop.querySelector('.dobx__next').addEventListener('click',function(){ view.setMonth(view.getMonth()+1); render(); });
    document.addEventListener('click',function(e){ if(!wrap.contains(e.target)) close(); });
    document.addEventListener('keydown',function(e){ if(e.key==='Escape') close(); });
  });
});
</script><?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet type="text/xsl" href="//www.keeleshepparddentistry.com/main-sitemap.xsl"?>
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
	<sitemap>
		<loc>https://www.keeleshepparddentistry.com/post-sitemap.xml</loc>
		<lastmod>2026-05-19T06:33:04+00:00</lastmod>
	</sitemap>
	<sitemap>
		<loc>https://www.keeleshepparddentistry.com/page-sitemap.xml</loc>
		<lastmod>2026-05-21T10:40:06+00:00</lastmod>
	</sitemap>
</sitemapindex>
<!-- XML Sitemap generated by Rank Math SEO Plugin (c) Rank Math - rankmath.com -->