/* Baseline accessibility is applied to the original design, independently of the options widget. */
:root { --site-ink: #30382c; --site-heading: #243319; --site-link: #243319; --site-green: #42552a; --site-brown: #5b4932; --site-pale: #d5d9c0; }
html { font-size: 100%; scroll-behavior: auto; }
body { color: var(--site-ink); font-size: 1.125rem; line-height: 1.7; }
body #main, body .sidebar { color: var(--site-ink) !important; font-size: 1.125rem; line-height: 1.7; }
body #main :is(p,li,td,th,blockquote,.aio-icon-description), body .sidebar :is(p,li) { color: var(--site-ink) !important; font-size: 1.125rem; line-height: 1.7 !important; }
body #main :is(.blog-content,.entry-content,.uvc-sub-heading,.testimonial-desc,.post-content,.site-form-contact) { color: var(--site-ink) !important; }
body #main .text-primary, body #main .entry-meta * { color: var(--site-ink) !important; }
body #main :is(.entry-tags,.text-secondary,.entry-tags a) { color: var(--site-ink) !important; font-size: 1rem !important; line-height: 1.7 !important; }
body #main .entry-tags a { display: inline-flex; align-items: center; min-height: 44px; padding: 6px 10px; margin: 4px; border: 1px solid #65714f; border-radius: 3px; max-width: 100%; box-sizing: border-box; white-space: normal; }
body #main .fancy-categories a { display: inline-flex; align-items: center; background: #42552a !important; color: #fff !important; font-size: 1rem !important; min-height: 44px; padding: 6px 10px; margin: 4px; max-width: 100%; box-sizing: border-box; }
body #main p :is(span,strong,em) { font-size: inherit !important; }
body #main :is(span,strong,em,b,i) { color: inherit !important; }
body :is(h1,h2,h3,h4,h5,h6), body #main :is(h1,h2,h3,h4,h5,h6) { color: var(--site-heading) !important; line-height: 1.35 !important; overflow-wrap: break-word; }
body #main h1 { font-size: clamp(2rem, 4vw, 2.75rem); }
body #main h2 { font-size: clamp(1.5rem, 3vw, 2.125rem); }
body #main h3 { font-size: 1.375rem; }
body #main :is(h4,h5,h6) { font-size: 1.25rem; }
body #main .aio-icon-title { font-size: 1.25rem !important; }
body #main .site-heading-from-h3 { font-size: 1.5rem; }
body :is(p,ul,ol,blockquote) { margin-bottom: 1.25em; }
body #content :is(p,li) { overflow-wrap: anywhere; }
body #content p { max-width: 78ch; }
body.site-inner-page #main > .max-w-7xl { box-sizing: border-box; width: 100%; max-width: 80rem; margin-inline: auto; padding-inline: 2rem; }
body.site-inner-page #content p { width: 100%; max-width: none; }
body.site-inner-page #main .site-content-full-width { width: 100% !important; margin-inline: 0 !important; left: auto !important; }
.site-service-group-links { display: flex; flex-wrap: wrap; gap: 12px; margin-block: 24px 40px; }
body #main .site-service-group-links a { display: inline-flex; align-items: center; min-height: 44px; padding: 8px 16px; border: 1px solid #65714f; border-radius: 4px; background: #f5f7ef; }
.site-service-group { margin-block: 40px; }
.site-service-group h2 { scroll-margin-top: calc(var(--site-header-offset,140px) + 24px); }
.site-service-directory-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; }
.site-service-directory-card { padding: 24px; border: 1px solid #778260; border-radius: 6px; background: #fff; }
body #main .site-service-directory-card h3 { margin-top: 0; font-size: 1.375rem; }
.site-service-directory-card h3 a { display: flex; align-items: center; min-height: 44px; }
body #main .site-service-directory-card p { margin-bottom: 0; }
.site-service-next-step { margin-block: 48px 24px; padding: 32px; background: #e9eddc; border-radius: 6px; }
@media (max-width: 1000px) { .site-service-directory-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 640px) { .site-service-directory-grid { grid-template-columns: 1fr; } }
body #main a, body .sidebar a { color: var(--site-link) !important; text-decoration: underline; text-decoration-thickness: 1.5px; text-underline-offset: .18em; }
body .page-title a, body #fancy-header a { color: var(--site-link) !important; text-decoration: underline !important; text-underline-offset: .18em; }
body #main a:hover, body .sidebar a:hover { text-decoration-thickness: 3px; }
body :is(.entry-meta,.entry-meta a,.entry-meta span,.text-primary) { color: #48543e !important; font-size: 1rem !important; line-height: 1.6 !important; }
body .entry-meta a { display: inline-block; min-height: 24px; padding-block: 3px; }
body :is(.masthead,.dt-mobile-header,.mobile-header-bar,.phantom-sticky .masthead) .menu-text { color: var(--site-heading) !important; }
body .masthead .header-bar { min-width: 0; }
body .masthead .main-nav { flex-wrap: nowrap !important; }
body .masthead .main-nav > li { margin: 0 !important; }
body #primary-menu > li { flex: 0 0 auto !important; width: auto !important; min-width: max-content; }
body #primary-menu > li > a { white-space: nowrap; overflow-wrap: normal; }
body .masthead .mini-contacts.phone { white-space: nowrap; font-size: 1.25rem !important; }
body .masthead .branding img { max-width: 160px; height: auto; }
body .masthead .main-nav > li > a { min-height: 44px; }
body .main-nav .sub-nav { background: #fff !important; border: 1px solid #65714f; }
body .main-nav .sub-nav .menu-text { color: #354820 !important; }
body :is(.top-bar,.top-bar-bg,#footer,#bottom-bar) { background-color: var(--site-brown) !important; }
body :is(.top-bar,#footer,#bottom-bar), body :is(.top-bar,#footer,#bottom-bar) :is(p,span,strong,h2,h3,h4,h5,h6,a,figcaption) { color: #fff !important; }
body #footer :is(p,li,a,figcaption), body #bottom-bar { font-size: 1rem !important; line-height: 1.7 !important; }
body #footer h2 { font: 700 1.125rem/1.5 'Open Sans', sans-serif !important; }
body :is(#footer,#bottom-bar) a { text-decoration: underline; text-underline-offset: .18em; }
body :is(.top-bar,#bottom-bar) a { display: inline-block; min-height: 24px; padding-block: 3px; }
body :is(.dt-btn,.vc_btn3,.microwidget-btn,.wp-block-button__link,.button,.details,.paginator a), body input[type="submit"] {
  box-sizing: border-box; display: inline-flex; align-items: center; justify-content: center; min-height: 44px; min-width: 44px; padding: 10px 18px !important;
  background: var(--site-green) !important; background-image: none !important; color: #fff !important; border: 2px solid var(--site-green) !important;
  border-radius: 3px; font-size: 1rem !important; font-weight: 700; line-height: 1.5 !important; text-decoration: none !important; white-space: normal; text-align: center;
}
body #main :is(.dt-btn,.vc_btn3,.button,.details,.paginator a), body :is(.dt-btn,.vc_btn3,.microwidget-btn,.button,.details) :is(span,strong) { color: #fff !important; }
body :is(.dt-btn,.vc_btn3,.microwidget-btn,.button,.details,.paginator a):hover { background: #303f1e !important; border-color: #303f1e !important; text-decoration: underline !important; }
body :is(.microwidget-btn,.dt-btn)::before { background: var(--site-green) !important; background-image: none !important; }
body .paginator .current { min-height: 44px; min-width: 44px; padding: 10px; color: var(--site-heading) !important; font-weight: 700; }
body :is(input:not([type="hidden"]),textarea,select) { box-sizing: border-box; max-width: 100%; min-height: 44px; border: 2px solid #66705d; background: #fff; color: #30382c; font: inherit; }
body :is(input,textarea)::placeholder { color: #59624f; opacity: 1; }
body label { color: #30382c; font-size: 1rem; font-weight: 600; }
body input[type="checkbox"], body input[type="radio"] { min-height: 24px; width: 24px; height: 24px; }
body .site-form-contact { margin-block: 16px !important; padding: 16px; background: #fff; color: #30382c !important; border: 1px solid #66705d; font-size: 1rem !important; }
body #main img { max-width: 100%; height: auto; }
body #main img[src*="clock-regular.svg"] { width: 150px !important; height: 150px !important; }
body :is(.page-title,#fancy-header) { visibility: visible !important; }
body .animate-element { opacity: 1 !important; }
body #main iframe, body #footer iframe { max-width: 100%; }
body .callrail-form { min-width: 0; width: 100%; }
body #main :is(.wpb_wrapper,.vc_column-inner,.content), body .wf-container-main { min-width: 0; }
body #main table { width: 100%; }
body #main td, body #main th { padding: 10px; overflow-wrap: anywhere; }
body :is(.site-skip-link,.site-visually-hidden) { font-family: 'Open Sans', sans-serif; }
.site-visually-hidden { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip-path: inset(50%) !important; white-space: nowrap !important; border: 0 !important; }
body .site-skip-link { min-height: 44px; box-sizing: border-box; color: #173c45 !important; background: #fff !important; }
body .scroll-top { width: 44px; height: 44px; background: #354820 !important; color: #fff !important; opacity: 1; }
body .scroll-top.off { visibility: hidden !important; }
body #footer a:has(img[src*="/2024/08/"]) { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; }
body .site-hero { position: relative; box-sizing: border-box; min-height: 760px; padding: 290px max(6vw,24px) 60px; display: flex; align-items: center; }
body .site-hero > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 40%; }
body .site-hero-copy { position: relative; width: min(540px,48%); padding: 32px; background: #e9eddc; border-radius: 4px; }
body .site-hero h1 { margin: 0 0 20px; color: #354820 !important; font: 600 clamp(2rem,4.2vw,3.75rem)/1.15 'Open Sans',sans-serif !important; }
body .site-hero p { margin: 0; color: #30382c !important; font-size: 1.125rem; line-height: 1.7; }
body .site-hero-copy a { color: #354820; }
body #main .vc_col-has-fill > .vc_column-inner { height: auto !important; min-height: 0 !important; }
body .site-comfort-row .vc_inner { display: grid !important; grid-template-columns: 140px minmax(0,1fr); align-items: center; gap: 24px; margin: 0 !important; }
body .site-comfort-row .vc_inner > .wpb_column { width: auto !important; min-width: 0; }
body .site-comfort-row .vc_inner > .wpb_column:has(.image_1), body .site-comfort-row .vc_inner > .wpb_column:has(.image_2) { order: 0; display: block !important; }
body .site-comfort-row .vc_inner > .wpb_column:has(.left_image_text), body .site-comfort-row .vc_inner > .wpb_column:has(.right_image_text) { order: 1; }
body .site-comfort-row .vc_column-inner { padding-inline: 0 !important; }
body .site-comfort-row :is(.image_1,.image_2) { position: static !important; transform: none !important; width: 140px !important; margin: 0 !important; }
body .site-comfort-row :is(.image_1,.image_2) img { width: 140px !important; height: 140px !important; object-fit: cover; border-radius: 50%; }
body .site-comfort-row :is(.left_image_text,.right_image_text) { position: static !important; width: auto !important; min-height: 0 !important; margin: 0 !important; padding: 24px !important; background: #fff; border: 2px solid #65714f; }
body .site-comfort-row p { margin-bottom: 0; }
body .site-service-card { overflow: hidden; border: 1px solid #778260; border-radius: 8px; background: #fff; height: 100%; }
body .site-service-card > img { display: block; width: 100%; height: 230px !important; object-fit: cover; }
body .site-service-card > div { padding: 24px; }
body #main .site-service-card h2 { font: 600 1.5rem/1.4 'Open Sans',sans-serif !important; }
body #main .site-service-card p { font-size: 1.0625rem; }
html { scroll-padding-top: calc(var(--site-header-offset,140px) + 24px); }
body :focus-visible { scroll-margin-top: calc(var(--site-header-offset,140px) + 24px); scroll-margin-bottom: 100px; }
.site-mobile-navigation-open { overflow: hidden; }
@media (max-width: 1200px) {
  body :is(.page-title,#fancy-header) { padding-top: calc(var(--site-header-offset,90px) + 24px) !important; }
  body:not(:has(.page-title,#fancy-header,.site-hero)) #main { padding-top: calc(var(--site-header-offset,90px) + 24px) !important; }
}
/* Disclosure menus use ordinary links, lists, and separate named buttons. */
body .site-menu li { position: relative; }
body .site-menu li > ul.sub-nav { display: none !important; visibility: hidden !important; opacity: 0 !important; }
body .site-menu li.site-submenu-open > ul.sub-nav { display: block !important; visibility: visible !important; opacity: 1 !important; }
body .site-menu .site-submenu-toggle { min-width: 44px; min-height: 44px; padding: 8px; border: 1px solid #65714f; border-radius: 3px; color: #354820; background: #f5f7ef; cursor: pointer; vertical-align: middle; }
body .main-nav.site-menu > li { display: flex; align-items: center; }
body .main-nav.site-menu > li > a { padding-inline: 10px; }
body .main-nav.site-menu > li > ul { top: 100%; }
body .main-nav.site-menu ul > li { display: flex; flex-wrap: wrap; }
body .main-nav.site-menu ul > li > a { flex: 1; min-width: 0; min-height: 44px; }
body .main-nav.site-menu ul > li > .site-submenu-toggle { flex: 0 0 44px; }
body .main-nav.site-menu ul ul { left: 100%; top: 0; }
body .site-menu a { overflow-wrap: anywhere; }
body .site-menu a:hover { text-decoration: underline !important; }
body .dt-mobile-header[hidden] { display: none !important; }
body .dt-mobile-menu-icon { min-width: 44px; min-height: 44px; }
#site-mobile-navigation { box-sizing: border-box; width: min(440px,calc(100vw - 24px)); max-height: calc(100dvh - 24px); padding: 24px; border: 2px solid #65714f; border-radius: 6px; background: #fff; color: #30382c; font: 1.125rem/1.6 'Open Sans',sans-serif; }
#site-mobile-navigation::backdrop { background: #0008; }
#site-mobile-navigation h2 { margin: 0 48px 16px 0; font-size: 1.5rem; color: #354820 !important; }
#site-mobile-navigation .site-mobile-close { position: absolute; right: 12px; top: 12px; width: 44px; height: 44px; border: 1px solid #65714f; border-radius: 3px; background: #f5f7ef; color: #354820; font-size: 1.5rem; }
#site-mobile-navigation ul { list-style: none; margin: 0; padding: 0; }
#site-mobile-navigation li { display: flex; flex-wrap: wrap; align-items: center; border-top: 1px solid #c3c9b6; }
#site-mobile-navigation li > a { flex: 1; min-width: 0; padding: 12px 4px; color: #354820 !important; font-size: 1.0625rem; line-height: 1.5; text-decoration: underline; }
#site-mobile-navigation li > ul { flex-basis: 100%; padding-left: 16px; }
#site-mobile-navigation .site-submenu-toggle { width: 44px; height: 44px; background: #f5f7ef; border: 1px solid #65714f; border-radius: 3px; color: #354820; }
#site-mobile-navigation li > ul[hidden] { display: none; }
#site-mobile-navigation .menu-text { color: inherit !important; }
#site-mobile-navigation .site-menu li.site-submenu-open > ul { position: static; width: auto; box-shadow: none; }
html.site-keyboard-focus :focus { outline: 3px solid #005fcc !important; outline-offset: 4px !important; box-shadow: 0 0 0 6px #fff !important; }
@media (max-width: 1200px) { body .main-nav.site-menu > li > a { padding-inline: 6px; font-size: 1rem; } }
@media (min-width: 1051px) and (max-width: 1350px) {
  body .masthead .branding img { max-width: 130px; }
  body #primary-menu > li > a { padding-inline: 6px; }
  body #primary-menu .menu-text { font-size: 1rem !important; }
  body .masthead .mini-contacts.phone { font-size: 1rem !important; }
}
@media (min-width: 1201px) { body .masthead .mobile-header-bar { display: none !important; } }
@media (max-width: 767px) {
  body .mobile-header-bar { display: flex !important; flex-wrap: nowrap !important; align-items: center; justify-content: space-between; gap: 8px; height: auto !important; min-height: 90px; box-sizing: border-box; padding-inline: 12px !important; }
  body .mobile-header-bar .mobile-branding { flex: 0 0 64px; max-width: 64px; min-width: 0; }
  body .mobile-header-bar .mobile-branding img { max-width: 64px !important; height: auto !important; }
  body .mobile-header-bar .mobile-mini-widgets { flex: 1 1 auto; min-width: 0; }
  body .mobile-header-bar .mobile-navigation { flex: 0 0 44px; }
  body .mobile-header-bar .mini-contacts.phone { white-space: normal !important; overflow-wrap: anywhere; font-size: 1rem !important; line-height: 1.3 !important; max-width: calc(100vw - 140px); }
  body #main { padding-block: 32px; }
  body .wf-wrap { padding-inline: 20px !important; }
  body #main .vc_column-inner { padding-inline: 15px !important; }
  body #main :is(img.alignright,img.alignleft) { float: none !important; display: block; margin: 16px auto !important; }
  body #main h1 { font-size: 2rem; }
  body #main h2 { font-size: 1.5rem; }
  body #main :is(.vc_empty_space) { max-height: 32px; }
  body .site-hero { display: block; min-height: 0; padding: 0; }
  body .site-hero > img { position: relative; display: block; height: 280px; object-position: center 35%; }
  body .site-hero-copy { box-sizing: border-box; width: 100%; padding: 24px; border-radius: 0; }
  body .site-hero h1 { font-size: 2rem !important; }
  body #footer .wf-container { display: flex; flex-wrap: wrap; }
  body #footer .wf-cell { width: 100%; box-sizing: border-box; }
  body .page-title h1 { font-size: 2.25rem !important; }
  body #bottom-bar { padding-bottom: 88px; }
  body .site-comfort-row .vc_inner { grid-template-columns: 1fr; }
  body .site-comfort-row :is(.image_1,.image_2) { margin-inline: auto !important; }
}
@media (prefers-reduced-motion: reduce) { body .animate-element, body #page { opacity: 1 !important; transform: none !important; } }
.a11y-high-contrast { --site-ink: #fff; --site-heading: #fff; --site-link: #ffef75; --site-green: #000; --site-brown: #000; }
@media (forced-colors: active) { a,button,input,textarea,select { forced-color-adjust: auto; } :focus-visible { outline: 3px solid Highlight !important; } }
