/* ===== 1. @font-face: none (system Georgia/Arial) ===== */
/* ===== 2. source style.css ===== */
html, body, body div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, figure, footer, header, hgroup, menu, nav, section, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

/* HTML5 display-role reset for older browsers */
article, aside, figure, footer, header, hgroup, nav, section {display: block;}

ul {list-style: none;}
blockquote, q {quotes: none;}
blockquote:before, blockquote:after, q:before, q:after {content: ''; content: none;}
a {margin: 0; padding: 0; font-size: 100%; vertical-align: baseline;}
del {text-decoration: line-through;}
abbr[title], dfn[title] {border-bottom: 1px dotted #000; cursor: help;}

body {line-height:1;}

/* tables still need cellspacing="0" in the markup */
table {border-collapse: collapse; border-spacing: 0;}
th {font-weight: bold; vertical-align: bottom;}
td {font-weight: normal; vertical-align: top;}
hr {display: block; height: 1px; border: 0; border-top: 1px solid #ccc; margin: 1em 0; padding: 0;}

/* Form Elements */
input, select {vertical-align: middle;}
input[type="radio"] {vertical-align: text-bottom;}
input[type="checkbox"] {vertical-align: bottom;}
.ie6 input {vertical-align: text-bottom;}
select, input, textarea {font: 99% sans-serif;}

a:hover, a:active {outline: none;}
small {font-size: 85%;}
strong, th {font-weight: bold;}
td, td img {vertical-align: top;} 

sub, sup {font-size: 75%; line-height: 0; position: relative;}
sup {top: -0.5em;}
sub {bottom: -0.25em;}

/* standardize any monospaced elements */
pre, code, kbd, samp {font-family: monospace, sans-serif;}

/* hand cursor on clickable elements */
.clickable, label, input[type=button], input[type=submit], button {cursor: pointer;}

/* Webkit browsers add a 2px margin outside the chrome of form elements */
button, input, select, textarea {margin: 0;}

/* make buttons play nice in IE */
button {width: auto; overflow: visible;}

a, img a, img, a img {border:0;  outline:0; text-decoration:none;}

/* FLOAT-elements */
.fltleft {float:left;}
.fltright {float:right;}

/* let's clear some floats */
.clearfix:before, .clearfix:after { content: "\0020"; display: block; height: 0; overflow: hidden; }  
.clearfix:after { clear: both; }

.clrflt {
  clear:both;
  line-height:1px;
  font-size:1px;
  overflow: hidden;
  height:1px;
  }
  
.clear {
  clear:both;
  }

body {
  background:#FFFFFF;
  font-family:Arial, Helvetica, sans-serif;
  font-size:14px;
  font-weight:normal;
  color:#333333;
  }
  
/****************Main*****************/
#main_wrap {
  padding-top:49px;
  }

/****************Header*****************/  
#header {
  background:url(/_media/2b483399-83a6-4033-8245-d9be19292e97/original.jpg) no-repeat left top;
  width:960px;
  height:249px;
  margin:0 auto;
  }
  
.header_top {
  height:208px;
  padding:0 0 0 25px;
  position:relative;
  }
  
.logo {
  background:url(/_media/89cb9475-41bc-4550-99e3-30a09156b382/original.png) no-repeat left top;
  width:321px;
  float:left;
  text-align:center;
  padding:26px 0 0 0;
  }
  
.header_pic {
  width:476px;
  height:208px;
  position:absolute;
  top:5px;
  left:354px;
  }
  

  

  

  

  
#nav {
  background:url(/_media/eca68d7a-334c-4a25-bc71-4c51bfef257c/original.png) no-repeat left top;
  height:41px;
  position:relative;
  z-index:9999;
  }
  
#nav ul {
  text-align:center;
  }
  
#nav ul li {
  display:inline;
  font-family:Georgia, "Times New Roman", Times, serif;
  line-height:41px;
  font-size:16px;
  }
  
#nav ul li a {
  color:#333333;
  padding:0 15px;
  }
  
#nav ul li:hover a, #nav ul li.selected a {
  color:#7c123f;
  }

/****************Content*****************/    
.cont_wrap {
  background:url(/_media/146d4840-30d1-43ef-8a24-8d0980c45f8c/original.jpg) repeat-y left top;
  width:960px;
  margin:0 auto;
  }
  
.content {
  width:868px;
  margin:0 auto;
  padding:39px 0 30px 0;
  }
  
.pic_box_area {
  padding-bottom:25px;
  }
  
.pic_box {
  width:283px;
  height:284px;
  position:relative;
  float:left;
  margin-right:9px;
  }
  
.pic_box.nomrgn {
  margin-right:0px;
  }
  
.pic_box span {
  display:block;
  width:269px;
  height:48px;
  line-height:48px;
  text-align:right;
  background:url(/_media/a786239c-bd13-4447-b6e5-aab23bc11a7a/original.png) repeat;
  position:absolute;
  bottom:0px;
  left:0px;
  padding-right:14px;
  font-family:Georgia, "Times New Roman", Times, serif;
  font-size:20px;
  letter-spacing:1px;
  border-top:1px solid #e1dfde;
  }
  
.pic_box span a {
  color:#7c123f;
  }
  
.pic_box span a:hover, .pic_box span a.selected {
  color:#83a7c0;
  }
  
.boxovelay {
  background:url(/_media/6ff9ab42-937b-441d-af64-111df7258848/original.png) no-repeat left top;
  position:absolute;
  left:0px;
  top:0px;
  width:283px;
  height:284px;
  }

.welcome {
  padding:0 0 0 10px;
  color:#666;
  }
  
.welcome h2 {
  font-family:Georgia, "Times New Roman", Times, serif;
  font-size:18px;
  font-weight:normal;
  letter-spacing:1px;
  padding-bottom:15px;
  }
  
.welcome p {
  line-height:24px;
  text-align:justify;
  }


/****************Footer*****************/  
#footer {
  background:url(/_media/aa3807af-d98d-4f4f-b2fa-8b2dc5c5641a/original.jpg) no-repeat left top;
  width:960px;
  height:90px;
  margin:0 auto;
  text-align:center;
  font-family:Georgia, "Times New Roman", Times, serif;
  color:#fff;
  letter-spacing:1px;
  padding-top:14px;
  }
  
#footer a {
  color:#fff;
  }

/****************Inner 1*****************/    
.service_cont {
  width:820px;
  margin:0 auto;
  padding:25px 0 10px 0;
  }
  
.service_cont h1 {
  
  font-family:Georgia, "Times New Roman", Times, serif;
  font-size:20px;
  font-weight:normal;
  color:#891345;
  border-bottom:1px solid #dcd9d9;
  padding-bottom:5px;
  float:left;
  }
  
.service_top {
  padding-bottom:35px;
  }
  
.service_top img {
  border:1px solid #cccccc;
  margin:13px 35px 0 0;
  float:left;
  position:relative;
  -moz-box-shadow:0px 0px 10px #e4e4e4;
  -webkit-box-shadow:0px 0px 10px #e4e4e4;
  box-shadow:0px 0px 10px #e4e4e4;
  }
  
.service_top p {
  line-height:24px;
  text-align:justify;
  padding:10px 0px 10px 0px;
  }
 
.service_top h2 {
  font-family:Georgia, "Times New Roman", Times, serif;
  font-size:16px;
  font-weight:bold;
  color:#666666;
 padding:5px 0px 20px 0px;
  
  }
  
.procedures_list {
  padding-bottom:30px;
  }
  
.procedures_list h2 {
  font-family:Georgia, "Times New Roman", Times, serif;
  font-size:16px;
  font-weight:bold;
  color:#666666;
  padding-bottom:15px;
  }
  
.procedures_list h3 {
  font-family:Georgia, "Times New Roman", Times, serif;
  font-size:15px;
  font-weight:normal;
  color:#333333;
  border-top:1px solid #dcd9d9;
  padding:5px 0 10px 0;
  }
  
.procedures_list h4 {
  background:#f3f1f1;
  height:28px;
  line-height:28px;
  font-family:Georgia, "Times New Roman", Times, serif;
  font-size:15px;
  font-weight:normal;
  color:#333333;
  border-top:1px solid #dcd9d9;
  padding:0 0 0 6px;
  }
  
.procedures_list h4 a {
  background:url(/_media/3e6b8a28-d0f8-459a-bf27-10c3acaf6936/original.jpg) no-repeat center left;
  display:block;
  color:#333333;
  padding:0 0 0 16px;
  }
  
.procedures_list h4 a:hover, .procedures_list h4.active a {
  background:url(/_media/4fcb30c1-24c7-4618-8e59-d2650ecc812f/original.jpg) no-repeat center left;
  }
  
.collapse_txt {
  padding:15px 0 30px 22px;
  }
  
.collapse_txt h5 {
  color:#333;
  font-weight:bold;
  padding:15px 0 10px 0;
  }
  
.collapse_txt p {
  line-height:22px;
  text-align:justify;
  padding-bottom:12px;
  }
.collapse_text ul{
  list-style:square;
  padding:10px 0px 10px 0px;
}

.collapse_txt li, .service_top li{
  line-height:22px;
}


/* ===== 3. classes replacing former inline styles ===== */
/* was style="font-style: normal; font-size: 12px; font-family: Arial, Helvetica, 'sans serif'; " (Dentists, empty spans) */
.k-arial-12{font-style:normal;font-size:12px;font-family:Arial,Helvetica,sans-serif}
/* was style="" (no-op, dropped) */

/* ===== 4. Keel helpers: chrome ===== */
:root{--ink:#333333;--muted:#666666;--brand:#7c123f;--brand-2:#891345;--accent:#83a7c0;--rule:#dcd9d9;--acc-bg:#f3f1f1}
.logo a{display:inline-block}
.logo img{display:inline-block;vertical-align:baseline}
.header_pic img{display:block;width:476px;height:208px}
#nav ul{margin:0;padding:0}
#nav ul li a{display:inline}
.keel-block{margin:0}
/* ===== 5. native parts ===== */
.service_cont h1.keel-block--heading{float:left}
.service_top figure.keel-block--image{float:left;margin:13px 35px 0 0;position:relative}
.service_top figure.keel-block--image picture,.service_top figure.keel-block--image img{display:block;margin:0}
.service_top figure.keel-block--image img{border:1px solid #cccccc;box-shadow:0 0 10px #e4e4e4;max-width:none}
.service_top img[width="2270"],.service_top img[width="2352"]{width:471px;height:315px}
.service_top img[width="196"]{width:196px;height:178px}
.collapse_txt img{border:1px solid #cccccc;margin:13px 35px 0 0;float:left;box-shadow:0 0 10px #e4e4e4;width:173px;height:256px}
.rich-text>*:first-child{margin-top:0}
.service_top .rich-text p,.welcome .rich-text p{margin:0}
.service_top .rich-text ul{list-style:none;padding:0;margin:0}
.service_top .rich-text ol{padding:0;margin:0}
.service_top h2.keel-block--heading{font-family:Georgia,"Times New Roman",Times,serif;font-size:16px;font-weight:bold;color:#666;padding:5px 0 20px 0}
.procedures_list h2.keel-block--heading{padding:5px 0 15px 0}
.procedures_list:not(:has(*)){display:none}
.procedures_list h2.keel-block--heading:not(:first-child){margin-top:30px}
/* home picture boxes = cards part */
.pic_box_area .keel-cards{display:flex;gap:0;flex-wrap:wrap}
.pic_box_area .keel-cards__card{width:283px;height:284px;position:relative;margin:0 9px 0 0;padding:0;overflow:hidden}
.pic_box_area .keel-cards__card:last-child{margin-right:0}
.pic_box_area .keel-cards__picture{display:block;width:283px;height:284px;margin:0;object-fit:cover}
.pic_box_area .keel-cards__card::before{content:"";background:url(/_media/6ff9ab42-937b-441d-af64-111df7258848/original.png) no-repeat left top;position:absolute;left:0;top:0;width:283px;height:284px;z-index:1;pointer-events:none}
.pic_box_area .keel-cards__title{display:block;width:269px;height:48px;line-height:48px;text-align:right;background:url(/_media/a786239c-bd13-4447-b6e5-aab23bc11a7a/original.png) repeat;position:absolute;bottom:0;left:0;padding:0 14px 0 0;margin:0;font-family:Georgia,"Times New Roman",Times,serif;font-size:20px;font-weight:normal;letter-spacing:1px;border-top:1px solid #e1dfde;z-index:2}
.pic_box_area .keel-cards__title a{color:#7c123f}
.pic_box_area .keel-cards__title a:hover,.pic_box_area .keel-cards__card:first-child .keel-cards__title a{color:#83a7c0}
.welcome .keel-block--heading{font-family:Georgia,"Times New Roman",Times,serif;font-size:18px;font-weight:normal;letter-spacing:1px;padding-bottom:15px;line-height:1}
/* accordion: native <details name> (one open at a time, first open), replaces the jQuery acc_trigger script */
details.acc{margin:0}
details.acc>summary{list-style:none;cursor:pointer;background:#f3f1f1;height:28px;line-height:28px;font-family:Georgia,"Times New Roman",Times,serif;font-size:15px;font-weight:normal;color:#333;border-top:1px solid #dcd9d9;padding:0 0 0 6px}
details.acc>summary::-webkit-details-marker{display:none}
details.acc>summary>span{display:block;background:url(/_media/3e6b8a28-d0f8-459a-bf27-10c3acaf6936/original.jpg) no-repeat center left;padding:0 0 0 16px}
details.acc>summary:hover>span,details.acc[open]>summary>span{background-image:url(/_media/4fcb30c1-24c7-4618-8e59-d2650ecc812f/original.jpg)}
/* map + address (Office hours / Directions) */
.service_top .keel-block--embed{float:right;margin:0 0 0 20px;width:352px}
.service_top .keel-block--embed iframe{width:352px;height:273px;border:0}
/* was <p>&nbsp;</p> spacer before the map (richText drops empty paragraphs) */
.service_top .rich-text + .keel-block--embed{margin-top:44px}
/* was <div class="clear"></div><br /><br /> before the Directions list */
.service_top > .procedures_list{clear:both;margin-top:28px}
.service_top > .service_cont > .clrflt:has(+ .service_top > figure:first-child){display:none}
/* 404 */
.service_top .rich-text a[href^="/"]{color:#7c123f}

/* ===== 6. responsive (source is fixed 960px; below that keep the look, reflow) ===== */
@media (max-width:959px){
 #main_wrap{padding-top:12px}
 #header,.cont_wrap,#footer{width:auto;margin:0 8px}
 #header{height:auto;background:#fff;border:1px solid #d0d0d0;border-bottom:0;border-radius:6px 6px 0 0}
 .header_top{height:auto;padding:12px;text-align:center}
 .logo{float:none;background:none;width:auto;padding:0}
 .header_pic{position:static;width:auto;height:auto;margin:8px auto 0;max-width:476px}
 .header_pic img{width:100%;height:auto}
 #nav{background:linear-gradient(#e6e6e6,#c4c4c4);height:auto;padding:6px 0}
 #nav ul li{display:inline-block;line-height:30px}
 #nav ul li a{padding:0 9px}
 .cont_wrap{background:#fff;border-left:1px solid #d0d0d0;border-right:1px solid #d0d0d0}
 .content,.service_cont{width:auto;padding:20px 14px}
 .service_top .service_cont{padding:0}
 .pic_box_area .keel-cards{justify-content:center;gap:9px}
 .pic_box_area .keel-cards__card,.pic_box_area .keel-cards__card:last-child{margin:0}
 .welcome{padding:0}
 .service_top figure.keel-block--image{float:none;margin:13px 0 0}
 .service_top img[width="2270"],.service_top img[width="2352"]{width:100%;height:auto;max-width:471px}
 .collapse_txt{padding-left:6px}
 .collapse_txt ol{padding-left:20px}
 .collapse_txt img{float:none;display:block;margin:13px auto 10px}
 .service_top .keel-block--embed{float:none;margin:0 0 12px;width:100%}
 .service_top .keel-block--embed iframe{width:100%}
 .service_top p,.welcome p,.collapse_txt p{text-align:left}
 #footer{height:auto;padding:14px 10px 18px;background:#a9a9a9;border-radius:0 0 6px 6px;font-size:13px;line-height:20px}
}
:where(:root){--color-accent:#83a7c0;--color-brand:#7c123f;--color-ink:#333333;}