/* Small, shared improvements to the existing Orchard Plaza Dental design. */
body{font-family:'Open Sans',Arial,sans-serif;font-size:16px;font-weight:400;line-height:1.7;color:#30332d;letter-spacing:0}
p,main ul,main ol{font-weight:400;line-height:1.7;letter-spacing:0}
p{margin-bottom:1.15em}
h1,h2,h3,h4,h5{font-family:Quicksand,'Open Sans',sans-serif;font-weight:700;line-height:1.25;letter-spacing:.02em;text-transform:none;color:#303b23}
h1,.innerpage-main h1{font-size:clamp(28px,3vw,38px)}
h2,.innerpage-main h2{font-size:clamp(24px,2.4vw,30px);color:#3f5720}
h3{font-size:21px}
main a{color:#466021;text-underline-offset:3px}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #526c24;outline-offset:4px}
.skip-link{position:absolute;top:0;left:16px;transform:translateY(-150%);z-index:10001;background:#fff;color:#30332d;padding:12px 18px;font-weight:600}
.skip-link:focus{transform:none}
#banner{height:auto;min-height:32px;font-size:13px;line-height:1.5;padding:4px 0}
#banner .container div{margin-top:0;font-size:13px;font-weight:600}
#banner p{margin:0;line-height:1.5}
#banner a{color:#30332d;text-decoration:underline;text-underline-offset:3px}
#masthead{display:flex;align-items:center;justify-content:space-between;gap:24px;line-height:1.4;overflow:visible;padding-top:14px;padding-bottom:14px;white-space:normal;margin-bottom:0}
#masthead #logo{position:static;width:220px;min-width:0;flex:0 0 220px;margin:0;padding:0;background:transparent;box-shadow:none;line-height:0}
#masthead #logo img{display:block;width:100%;min-width:0;height:auto}
#primary-navigation{margin-left:auto}
#masthead #mainmenu{display:flex;align-items:center;justify-content:flex-end;gap:6px;width:auto;margin:0;float:none;max-height:none;overflow:visible}
#masthead #mainmenu>li{display:flex;align-items:center;position:relative;white-space:nowrap}
#masthead #mainmenu>li::after{display:none}
#masthead #mainmenu a{font-size:15px;font-weight:600;line-height:1.5;padding:12px 8px;text-transform:none;text-decoration:none;letter-spacing:0}
#masthead #mainmenu a:hover,#masthead #mainmenu a:focus-visible,#masthead #mainmenu .current-menu-item>a{color:#3f5720;text-decoration:underline;text-underline-offset:5px}
.submenu-toggle{display:inline-flex;align-items:center;justify-content:center;width:40px;min-height:44px;padding:0;border:0;background:transparent;color:#30332d;cursor:pointer}
.submenu-toggle::after{content:'';width:6px;height:6px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);margin-top:-4px}
.submenu-toggle[aria-expanded=true]::after{transform:rotate(225deg);margin-top:4px}
#masthead #mainmenu .sub-menu{display:none;opacity:1;top:100%;left:0;width:240px;margin:0;padding:8px;background:#f3f1ed;box-shadow:0 5px 18px #0002;border-radius:6px;line-height:1.4}
#masthead #mainmenu>li:hover>.sub-menu{display:none}
#masthead #mainmenu>li.is-open>.sub-menu{display:block}
#masthead #mainmenu .sub-menu li{display:block;padding:0;background:transparent}
#masthead #mainmenu .sub-menu a{font-size:14px;white-space:normal;padding:10px 12px;line-height:1.5}
#masthead #mainmenu .sub-menu a::before{display:none}
#masthead #mainmenu .sub-menu a:hover{background:#e7e3db}
#pull{display:none;float:none;line-height:1;min-width:44px;min-height:44px;padding:10px;background:transparent;color:#30332d;border:1px solid #cacbc5;border-radius:5px;font-size:24px;cursor:pointer}
#info-section{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;overflow:visible;text-align:left}
#info-section .span4{width:auto;min-width:0!important;min-height:0;padding:28px;color:#30332d;line-height:1.7;float:none}
#info-section :is(h1,h2,h3){height:auto;color:#30332d;font-size:21px;letter-spacing:.01em;line-height:1.3;margin-bottom:24px}
#info-section :is(h1,h2,h3)::after{content:none}
#info-section .box-welcome{background:#fff;border-left:8px solid #d0c9bc}
#info-section .box-services{background:#fff;border-left:8px solid #b4d137}
#info-section .box-appointment{background:#fff;border-left:8px solid #aa9e8e}
#info-section :is(h1,h2,h3){text-align:left}
#info-section p{font-size:16px;line-height:1.7}
.grey-bg-box h2{margin-bottom:16px}
.grey-bg-box p{margin-bottom:24px}
#home-main img{border-radius:6px}
#testimonials-inner{max-width:860px;line-height:1.8}
#testimonials h2,#appointment-request h2{color:#303b23}
#appointment-request-inner{max-width:860px}
div.wpforms-container-full .wpforms-form label.wpforms-field-label,.contact-form-wrap div.wpforms-container-full .wpforms-form label.wpforms-field-label{display:block;font-size:15px;font-weight:600;letter-spacing:0;text-transform:none;color:#30332d}
div.wpforms-container-full .wpforms-form .wpforms-field-sublabel{display:block;color:#53594c;font-size:13px;text-transform:none;letter-spacing:0}
div.wpforms-container-full .wpforms-form input:not([type=checkbox]):not([type=radio]):not([type=hidden]),div.wpforms-container-full .wpforms-form select,div.wpforms-container-full .wpforms-form textarea{font-size:16px;font-family:inherit;border:1px solid #79806f;border-radius:5px;min-height:44px;color:#30332d;line-height:1.5}
div.wpforms-container-full .wpforms-form input::placeholder,div.wpforms-container-full .wpforms-form textarea::placeholder{color:#646b5c;font-size:15px;font-style:normal;text-transform:none}
div.wpforms-container-full .wpforms-form input:focus,div.wpforms-container-full .wpforms-form select:focus,div.wpforms-container-full .wpforms-form textarea:focus{outline:3px solid #526c24;outline-offset:2px}
div.wpforms-container-full .wpforms-form button[type=submit],.wp-block-button .wp-block-button__link{background:#4c6326!important;color:#fff!important;border:0!important;border-radius:5px!important;padding:12px 22px!important;font-family:'Open Sans',sans-serif;font-size:15px!important;font-weight:600;line-height:1.5;min-height:44px;letter-spacing:0;text-transform:none;cursor:pointer}
div.wpforms-container-full .wpforms-form button[type=submit]:hover,.wp-block-button .wp-block-button__link:hover{background:#394b1c!important}
.tu-recaptcha-notice{font-size:12px;line-height:1.6;color:#53594c;margin-top:16px}
#footer{margin-top:0}
#footer-inner{background:#e9e6e1;color:#30332d}
#footer-inner>.container{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:40px;max-width:1240px;padding-top:40px;padding-bottom:32px}
#footer-inner .span4{float:none;width:auto;min-width:0!important;margin:0;text-align:left;font-size:14px;line-height:1.8}
#footer-inner h3{font-size:19px;text-transform:none;letter-spacing:0;margin-bottom:20px;color:#303b23}
#footer-inner h3::after{margin-left:0;margin-right:0}
#footer-inner .quicklinks li{margin:0;line-height:2.2}
#footer-inner .quicklinks li:hover{margin-left:0}
#footer-inner .quicklinks li a{text-transform:none;color:#30332d}
#footer-inner .day{display:inline-block;width:40%;line-height:1.9;margin:0;text-transform:none}
#footer-inner .hoursopen{display:inline-block;width:58%;line-height:1.9}
#footer-inner .contactus a{overflow-wrap:anywhere}
#copyright.tu-opd-colophon{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px 24px;color:#454a3e;text-align:left;font-size:13px;line-height:1.5;padding-top:20px;padding-bottom:24px;letter-spacing:0;border-top:0;background:#fff}
.tu-opd-colophon__credit{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px}
.tu-opd-colophon__credit p{font:inherit;margin:0}
#copyright a{color:inherit}
.tu-opd-policies{display:flex;flex-wrap:wrap;gap:16px;margin-left:auto}
.wp-block-cloudcatch-light-modal-block__close{min-width:44px;min-height:44px}
@media(max-width:1150px) and (min-width:1024px){#masthead{gap:16px}#masthead #logo{width:190px;flex-basis:190px}#masthead #mainmenu a{padding-inline:5px;font-size:14px}.submenu-toggle{width:32px}}
@media(max-width:1023px){
 #masthead{flex-wrap:wrap;gap:12px;padding-top:12px;padding-bottom:12px}
 #masthead #logo{width:200px;flex-basis:200px;margin:0}
 #pull{display:inline-flex;align-items:center;justify-content:center;margin-left:auto}
 #primary-navigation{width:100%;margin:0}
 #masthead #mainmenu{display:none!important;max-height:none!important;width:100%;padding:0;transition:none}
 #masthead #mainmenu.toggled{display:flex!important;flex-direction:column;align-items:stretch;padding:10px 0;border-top:1px solid #dadcd4}
 #masthead #mainmenu>li{display:flex!important;flex-wrap:wrap;justify-content:space-between;width:100%;text-align:left!important}
 #masthead #mainmenu>li>a{flex:1;padding:12px 8px!important;font-size:16px;line-height:1.5!important;text-align:left!important;text-transform:none!important}
 #masthead #mainmenu .sub-menu{display:none!important;position:static!important;width:100%!important;box-shadow:none;margin:0;flex-basis:100%;padding:4px 12px!important;background:#f3f1ed}
 #masthead #mainmenu>li.is-open>.sub-menu{display:block!important}
 #masthead #mainmenu .sub-menu a{padding:10px 12px!important;margin-left:0;font-size:14px;text-align:left!important;line-height:1.5!important;text-transform:none!important}
 #info-section{grid-template-columns:1fr;margin-top:0;margin-bottom:28px}
 #info-section .span4{padding:26px 6%}
 #info-section :is(h1,h2,h3){margin-bottom:20px}
 #home-main{padding-top:28px;padding-bottom:28px}
 #footer-inner>.container{grid-template-columns:1fr 1fr;gap:30px}
 #footer-inner .contactus{grid-column:1/-1}
}
@media(max-width:600px){
 body{font-size:16px}
 #masthead #logo{width:175px;flex-basis:175px}
 #banner{text-align:center;font-size:12px}
 #banner .container div{font-size:12px}
 #home-main.textcenter-mobile,#home-main .textcenter-mobile{text-align:left!important}
 #home-main>.span3{display:flex;gap:12px}
 #home-main>.span3 img{width:calc(50% - 6px);height:auto;object-fit:cover;margin-bottom:0}
 #footer-inner>.container{grid-template-columns:1fr;gap:28px;padding-top:32px;padding-bottom:28px}
 #footer-inner .contactus{grid-column:auto}
 #footer-inner .day{width:42%}
 #footer-inner .hoursopen{width:56%}
 #copyright.tu-opd-colophon{padding-top:18px;padding-bottom:20px}
 .tu-opd-colophon .tu-credit{white-space:normal}
 .tu-opd-colophon .tu-credit__text{max-inline-size:none;opacity:1}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* Decorative pseudo-icons should not be announced as text. */
#footer-inner .quicklinks ul li::before{content:none}

.innerpage-main h1{color:#3f5720}

.innerpage-sidebar .widget:last-child .heading{display:block;color:#3f5720;font-family:Quicksand,Arial,sans-serif;font-size:20px;font-weight:700;line-height:1.3;letter-spacing:0;margin-bottom:16px}

.innerpage-sidebar .textwidget .booknow-btn{border-color:#526c24;border-radius:5px;color:#3f5720;text-transform:none;font-weight:600;min-height:44px}
.innerpage-sidebar .textwidget .booknow-btn:hover{background:#4c6326;color:#fff}

/* Space content lists without changing menus or form field lists. */
.innerpage-main > ul > li,.innerpage-main > ol > li,#home-main ul > li,#home-main ol > li{margin-bottom:.65em}
.innerpage-main > ul > li:last-child,.innerpage-main > ol > li:last-child,#home-main ul > li:last-child,#home-main ol > li:last-child{margin-bottom:0}

/* A compact contact tab sits inside the header, above the main navigation. */
#masthead{display:grid;grid-template-columns:220px minmax(0,1fr);column-gap:24px;row-gap:10px;padding-top:0;padding-bottom:14px}
#masthead #logo{grid-column:1;grid-row:1/3;align-self:center;margin-top:10px}
#masthead #banner{grid-column:2;grid-row:1;justify-self:end;align-self:start;width:auto;min-height:0;margin:0;padding:0 16px;background:#b4d137;border-radius:0 0 6px 6px;text-align:right;line-height:1.5}
#masthead #banner .container{width:auto;max-width:none;margin:0;padding:0}
#masthead #banner .container div{float:none;margin:0;font-size:13px}
#masthead #banner a{display:inline-flex;align-items:center;min-height:40px;margin-left:4px;white-space:nowrap}
#masthead #primary-navigation{grid-column:2;grid-row:2;justify-self:end;margin:0}
@media(max-width:1150px) and (min-width:1024px){#masthead{grid-template-columns:190px minmax(0,1fr);column-gap:16px}}
@media(max-width:1023px){
 #masthead{grid-template-columns:minmax(0,1fr) 44px;column-gap:16px;row-gap:10px;padding-top:0;padding-bottom:12px}
 #masthead #banner{grid-column:1/-1;grid-row:1;padding:0 12px}
 #masthead #banner a{min-height:44px}
 #masthead #logo{grid-column:1;grid-row:2;margin-top:0}
 #masthead #pull{grid-column:2;grid-row:2;margin:0;align-self:center}
 #masthead #primary-navigation{display:none;grid-column:1/-1;grid-row:3;width:100%;justify-self:stretch}
 #masthead:has(#mainmenu.toggled) #primary-navigation{display:block}
}

/* Keep office-hour pairs readable despite the legacy inline widget rules. */
#footer #footer-inner .day{display:inline-block!important;width:42%!important;margin:0!important;line-height:1.9!important;text-transform:none!important}
#footer #footer-inner .hoursopen{display:inline-block!important;width:56%!important;line-height:1.9!important}
#footer #footer-inner h3::after{margin-left:0!important;margin-right:0!important}
#footer #footer-inner .quicklinks li a{text-transform:none!important}

/* A faint edge and shadow distinguish the three white homepage panels. */
#info-section .span4{box-shadow:0 0 0 1px rgba(48,51,45,.04),0 3px 12px rgba(48,51,45,.055)}

#masthead #banner p,#masthead #banner a{font-weight:700}

/* Mobile gutters and alignment match the site's padded content. */
@media(max-width:1023px){
 #masthead #banner{justify-self:stretch;text-align:center}
 #info-section{width:92%;margin-left:auto;margin-right:auto}
 .tu-opd-colophon .tu-opd-policies{flex-basis:100%;margin-left:0;justify-content:flex-start;text-align:left}
}
