/* Production-only mobile adaptations. The original desktop theme remains intact. */
.archive-mobile-disclosure > summary { display:none; }
@media (min-width:961px) {
  .footer_widget .archive-mobile-disclosure > summary { display:block; list-style:none; pointer-events:none; }
  .footer_widget .archive-mobile-disclosure > summary::-webkit-details-marker { display:none; }
}
@media (max-width:960px) {
  html { -webkit-text-size-adjust:100%; text-size-adjust:100%; }
  body { font-size:16px; line-height:1.6; overflow-wrap:anywhere; }
  .container_24 { width:calc(100% - 24px); max-width:720px; overflow:visible; }
  .container_24 [class*="grid_"] { display:block; box-sizing:border-box; float:none; width:100%; margin-left:0; margin-right:0; min-width:0; }
  .container_24 .body_wrapper { box-sizing:border-box; border:0; padding:16px; margin:12px 0; overflow:visible; }
  .main-container, .page-content, .content-bar, .fullwidth, .contact-page { width:auto; max-width:100%; padding:0; margin:0; }
  p, .contact-page, .post_content, .fullwidth, .sidebar p, .footer-wrapper .footer p { font-size:16px; line-height:1.6; }
  p { margin-bottom:16px; }
  .archive-empty-paragraph, .archive-mobile-duplicate, .archive-mobile-spacing-break { display:none; }
  h1, h2, h3, h4 { overflow-wrap:break-word; }
  h1, .page-heading h1 { font-size:26px; line-height:1.25; }
  h2, .fullwidth h2, .feature_infobox h2 { font-size:23px; line-height:1.35; }
  h3 { font-size:20px; line-height:1.4; }
  img, video { max-width:100%; }
  .header { display:block; box-sizing:border-box; background:none !important; border:0; padding:0 0 12px; overflow:visible; }
  .header .logo { max-width:300px; margin:0 auto 8px; }
  .header .logo a, .header .logo picture, .header .logo img { display:block; width:100%; }
  .header .logo img { height:auto; }
  .header .call { display:flex; justify-content:space-between; align-items:center; gap:8px; margin:0; padding:0; }
  .header .call > br, .header .call .call-us > br, .call-us p { display:none; }
  .social_logo { width:auto; margin:0; overflow:visible; text-align:left; }
  ul.social_links { display:flex; gap:0; margin:0; padding:0; }
  .social_logo ul li { display:block; margin:0; }
  .social_logo ul li a { display:flex; width:44px; height:44px; margin:0; }
  .social_logo img { width:30px; height:30px; }
  .header .call-us { margin:0; text-align:right; }
  .header .call-us a.btn { background:#0874a3; color:white; font:600 16px/1.2 Arial,sans-serif; width:auto; height:auto; min-height:44px; padding:10px 12px; margin:0; visibility:visible; text-indent:0; cursor:pointer; border-radius:4px; text-shadow:none; }
  .header .call-us a.btn span { display:none; }
  .header .call-us a.btn::after { content:'Tap to Call'; }
  .menu_container, .menu_bar { box-sizing:border-box; height:auto; padding:0; width:100%; }
  #MainNav { text-align:left; }
  .mobile_nav { display:flex; align-items:center; width:100%; min-height:48px; padding:10px 16px 10px 38px; margin:0; font-size:14px; line-height:1.4; text-shadow:none; }
  .mobile_nav > span { left:14px; top:19px; }
  #menu { display:none; }
  #menu.archive-menu-open { display:block !important; }
  #menu.archive-menu-open .ddsmoothmenu { display:block !important; }
  #menu .ddsmoothmenu, #menu .ddsmoothmenu ul { float:none; width:100%; margin:0 !important; padding:0; text-align:left; }
  #menu .ddsmoothmenu li, #menu .ddsmoothmenu .sub-menu li { float:none !important; position:static; width:100%; margin:0 !important; padding:0; }
  #menu .ddsmoothmenu ul { position:static; display:block; visibility:visible; }
  #menu .ddsmoothmenu a { width:auto; min-height:48px; margin:0; padding:10px 16px; font-size:16px; line-height:1.5; }
  #menu .ddsmoothmenu ul a { padding-left:32px; }
  #menu .ddsmoothmenu li li a { display:flex; box-sizing:border-box; width:100%; margin:0; padding:10px 32px; min-height:48px; line-height:1.5; }
  .signup { display:flex; flex-direction:column; box-sizing:border-box; width:100%; padding:20px 16px; background:#087ca5; }
  .signup .frontpage_leadcapture { order:0; }
  .signup > .grid_10 { order:1; }
  .signup .frontpage_leadcapture .signupleft { margin:0; }
  .signup .frontpage_leadcapture .signupleft .signup-text { margin:12px 0 0; }
  .signup .frontpage_leadcapture .signupleft .signupinfo h1 { font-size:28px; line-height:1.2; margin:0; }
  .signup .frontpage_leadcapture .signupleft .signup-text p { font-size:16px; line-height:1.6; margin:0 0 16px; text-shadow:none; }
  .signup-text .button1 { margin:0; padding:10px 20px; height:auto; min-height:48px; background:#ffd151; border-radius:4px; font:600 18px/1.4 Arial,sans-serif; color:#151515; text-shadow:none; }
  .signup-text .button1 span { display:none; }
  .signup .signupright { margin:20px 0 0; }
  .signupright .signupimgbox { width:100%; max-width:360px; height:auto; max-height:none; margin:0 auto; padding:0; background:none; }
  .flexslider { display:block; box-sizing:border-box; width:100%; margin:0; padding:6px; }
  .flexslider .slides { aspect-ratio:363 / 285; }
  .flexslider .slides img { display:block; width:100%; height:auto; }
  .signup-bottom { display:none; }
  .feature_content { background:none !important; margin:24px 0; overflow:visible; }
  .feature_contentbox, .feature_contentbox.box2, .feature_contentbox.box3 { box-sizing:border-box; width:100%; max-width:none; margin:0 0 20px; padding:0 0 16px; }
  .feature_contentbox h2 { margin:0 0 12px; padding:10px 12px; background:#0874a3; color:#fff; font-size:23px; line-height:1.35; text-shadow:none; }
  .feature_contentbox a.readmore { margin-top:0; font-size:16px; }
  .feature_info { width:100%; margin:24px 0; overflow:visible; }
  .feature_infobox { margin:0; }
  .feature_infobox p { font-size:16px; line-height:1.6; text-align:left; margin:0 0 16px; }
  .feature_info .feature_videobox { width:100%; margin:0; padding:0; }
  .archive-video { width:100%; max-width:640px; height:auto; aspect-ratio:16 / 9; margin:0 auto; }
  .page-heading { margin:20px 0; }
  .contact-page h1 { margin:0 0 20px; }
  .contact-page p { margin-bottom:20px; }
  .fullwidth { margin-bottom:24px; }
  .content-bar .post, .content-bar .post.single { margin:0 0 24px; padding:0 0 24px; }
  .content-bar .post .post_content { font-size:16px; line-height:1.6; margin:0; }
  .content-bar .post .post_content img { max-width:100%; height:auto; }
  .content-bar .post .post_meta { display:flex; flex-wrap:wrap; gap:4px 12px; width:auto; height:auto; margin:12px 0; padding:0; }
  .content-bar .post .post_meta li { float:none; margin:0; padding:0; background:none; width:auto; }
  .content-bar .post .post_meta a, .content-bar .post .tag a { display:inline-flex; align-items:center; min-height:44px; font-size:15px; }
  .content-bar .post .post_content .read_more, #nav-single a, a.readmore { display:inline-flex; align-items:center; min-height:44px; padding:4px 0; font-size:16px; }
  #nav-single { display:flex; gap:16px; margin:16px 0; }
  #nav-single > span { float:none; width:50%; }
  #commentsbox, #respond, #reply-title, #commentsbox h3, #respond h3 { box-sizing:border-box; max-width:100%; width:auto; margin-left:0; margin-right:0; padding-left:0; padding-right:0; }
  a[href^="tel:"], a[href^="mailto:"] { display:inline-flex; align-items:center; min-height:44px; overflow-wrap:anywhere; }
  .searchform, .side-search .searchform { width:100%; max-width:none; height:auto; max-height:none; margin:0; }
  .searchform > div { display:flex; width:100%; }
  .searchform input[type="text"], .side-search .searchform input[type="text"] { position:static; float:none; flex:1; min-width:0; width:0; height:48px; margin:0; padding:10px; font-size:16px; line-height:1.4; color:#333; }
  .searchform input[type="submit"] { position:static; float:none; width:48px; height:48px; margin:0; padding:0; background-position:center; }
  .sidebar { margin:0; padding:16px 0 0; }
  .sidebar h3 { margin:16px 0 8px; }
  .sidebar p { margin-bottom:8px; }
  .sidebar ul li { padding:0; }
  .sidebar ul li a { display:flex; align-items:center; min-height:44px; padding:4px 0; font-size:16px; line-height:1.5; }
  .sidebar img { display:block; width:auto; max-width:220px; margin:16px auto; }
  .archive-mobile-disclosure { margin:20px 0; }
  .archive-mobile-disclosure > summary { display:list-item; box-sizing:border-box; min-height:48px; padding:10px 12px; cursor:pointer; color:#064a72; background:#eef7fb; font-size:16px; line-height:1.6; }
  .archive-mobile-disclosure > summary:focus-visible { outline:2px solid #106ca8; outline-offset:3px; }
  .archive-mobile-disclosure > summary h4 { display:inline; font:inherit; background:none; border:0; padding:0; margin:0; }
  .footer-wrapper { box-sizing:border-box; margin-top:24px; }
  .footer-wrapper .footer_widget, .footer-wrapper .footer_widget.last { padding:16px; margin:0; line-height:1.6; }
  .footer-wrapper .footer h4 { font-size:20px; margin:0 0 12px; padding:0 0 8px; }
  .footer-wrapper .footer p { margin-bottom:0; }
  .footer-wrapper .archive-mobile-disclosure { margin:0; }
  .footer-wrapper .archive-mobile-disclosure > summary { color:#fff; background:#454141; }
  .footer-wrapper .footer ul { margin:0; }
  .footer-wrapper .footer ul a { display:flex; align-items:center; min-height:44px; padding:6px 0; font-size:16px; line-height:1.5; }
  .footer-wrapper .footer ul.children { padding-left:16px; }
  .copyright_left p, .copyright .copyrightinfo { margin:0; padding:0 0 12px; text-align:center; }
  .copyright_left a { display:inline-flex; align-items:center; min-height:44px; }
  .copyright p { font-size:14px; line-height:1.5; }
}
@media (min-width:600px) and (max-width:960px) {
  .header { display:grid; grid-template-columns:minmax(0, 1fr) 160px; gap:16px; align-items:center; }
  .header .logo { margin:0; max-width:340px; }
  .header .call { flex-direction:column; gap:4px; }
  .signup { display:grid; grid-template-columns:minmax(0, 1.3fr) minmax(0, 1fr); align-items:center; gap:20px; }
  .signup .signupright { margin:0; }
  .signup > .grid_10 { grid-column:2; grid-row:1; }
  .signup .frontpage_leadcapture { grid-column:1; grid-row:1; }
}
@media (max-width:480px) {
  .alignleft, .alignright, a img.alignleft, a img.alignright { float:none; display:block; margin:12px auto; }
}
