/* Mobile layout: desktop rules remain unchanged at 960px and above. */
@media screen and (max-width: 959px) {
  #page-wrapper, #page, #main-wrapper { min-width: 0; width: 100%; }
  #page-wrapper *, #page-wrapper *::before, #page-wrapper *::after { box-sizing: border-box; }
  #header div.section, #featured div.section, #main, #triptych, #footer-columns, #footer {
    width: 100%; max-width: 100%; margin-left: auto; margin-right: auto;
  }
  #header .top-panel, #header .top-panel > tbody, #header .top-panel > tbody > tr,
  #header .top-panel > tbody > tr > td { display: block; width: 100%; height: auto; }
  #header .top-panel { background: #fff; padding: 12px; }
  #header .top-panel > tbody > tr > td { padding: 0; }
  #header a#logo { position: static; display: block; text-align: center; margin: 4px auto 12px; }
  #header .region-header { float: none; width: 100%; margin: 0; }
  #header .facebook { position: static; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 6px; }
  #header .facebook p, #header .facebook a { float: none; margin: 0; }
  #header .header_phone { position: static; text-align: center; margin: 10px 0; }
  #header .content table { width: 100% !important; height: auto !important; }
  #secondary-menu { position: static; width: auto; }
  #block-search-form { float: none; width: auto; margin: 8px 0; }
  #search-block-form .container-inline { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; }
  #block-system-main-menu { background: #eee; margin-top: 0; }
  #block-system-main-menu ul.menu { display: flex; flex-wrap: wrap; padding: 0; }
  #block-system-main-menu ul.menu li { float: none; flex: 1 1 45%; margin: 0; background: none; border-radius: 0; }
  #block-system-main-menu ul.menu a { min-height: 44px; padding: 12px; line-height: 1.35; }
  #main { display: flex; flex-direction: column; }
  #main > #content { order: 0; }
  #main > #sidebar-first { order: 1; }
  #content.column, .one-sidebar #content, .two-sidebars #content, .no-sidebars #content,
  #sidebar-first, #sidebar-second { display: block; float: none; width: 100% !important; max-width: 100%; margin: 0; padding: 12px; }
  #main > .front_table, #main > .front_table > tbody, #main > .front_table > tbody > tr,
  #main > .front_table > tbody > tr > td { display: block; width: 100%; max-width: 100%; }
  #main > .front_table { border-spacing: 0; }
  #block-block-5 > .content > p { margin: 0; line-height: 0; }
  #block-block-5 > .content > center img { display: block; float: none !important; margin: 0 !important; width: 100% !important; }
  #block-block-5 table, #block-block-5 tbody, #block-block-5 tr, #block-block-5 td { display: block; width: 100% !important; max-width: 100%; }
  #block-block-5 td { text-align: center; padding: 12px; }
  #block-block-5 td img { display: block; float: none !important; margin: 8px auto !important; max-width: 100% !important; }
  .front #content > .section > table, .front #content > .section > table > tbody,
  .front #content > .section > table > tbody > tr, .front #content > .section > table > tbody > tr > td { display: block; width: 100% !important; }
  #content img, #highlighted img, #sidebar-first img, #sidebar-second img { max-width: 100% !important; height: auto !important; }
  #content iframe, #content video, #content embed, #content object { max-width: 100%; }
  #content .field-name-body { overflow-wrap: anywhere; }
  #content .field-name-body { font-size: 16px; line-height: 1.5; }
  #content .field-name-body table { display: block; max-width: 100%; overflow-x: auto; }
  #content table.product { float: none; width: 100%; margin-right: 0; }
  #content form, #webform-client-form-99, #webform-client-form-100 { width: 100%; max-width: 100%; }
  #content input[type="text"], #content input[type="email"], #content input[type="tel"],
  #content input[type="number"], #content input[type="password"], #content select,
  #content textarea, #content .form-textarea-wrapper { width: 100% !important; max-width: 100% !important; float: none; font-size: 16px; }
  #webform-client-form-99 label, #webform-client-form-100 label { float: none; display: block; width: auto; top: 0; text-align: left; margin: 8px 0; }
  #webform-client-form-99 input.form-submit, #webform-client-form-100 input.form-submit { left: 0; top: 0; min-height: 44px; margin-top: 12px; }
  #content fieldset { min-width: 0; max-width: 100%; }
  #content .form table, #content .form tbody, #content .form tr, #content .form td { display: block; width: 100%; }
  .popup { min-width: 0; width: calc(100% - 24px); box-sizing: border-box; }
}
