/* Keep the mobile brand, navigation and search forms in document flow. */
@media screen and (max-width: 767px) {
  header { min-height: 0; padding: 12px 0 0; }
  header .header-wrap .row > .col-sm-8 {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas: "logo language" "subtitle subtitle";
    align-items: start;
    gap: 8px 14px;
    float: none;
    width: 100%;
    direction: ltr;
  }
  .lang-ar header .header-wrap .row > .col-sm-8 { direction: rtl; }
  header .header-wrap .visible-xs { grid-area: language; }
  header .header-wrap .visible-xs .lang {
    position: static;
    float: none;
    margin: 6px 0 0;
  }
  header .header-wrap .logo {
    grid-area: logo;
    float: none;
    width: 100%;
    max-width: 270px;
    margin: 0;
  }
  header .header-wrap .logo img { width: 100%; height: auto; }
  header .header-wrap .top-hed {
    display: block;
    grid-area: subtitle;
    float: none;
    width: auto;
    height: auto;
    min-height: 0;
    margin: 0;
    padding: 4px 0 10px;
    border: 0;
    font-size: 12px;
    line-height: 1.6;
    white-space: normal;
    text-align: start;
  }
  header .header-wrap .row > .col-sm-4 { display: none; }
  header .nav-wrap, header .main-nav-wrap, header .main-nav {
    position: relative;
    float: none;
    width: 100%;
    height: auto;
    min-height: 0;
  }
  header .navbar { min-height: 44px; margin: 0; }
  header .navbar-header { min-height: 44px; }
  header .navbar-toggle, header.fixed .navbar-toggle {
    position: static;
    float: right;
    margin: 0 0 8px !important;
  }
  .lang-ar header .navbar-toggle, .lang-ar header.fixed .navbar-toggle { float: left; }
  header #mobileNavigation.navbar-collapse {
    position: static;
    float: none;
    clear: both;
    width: 100%;
    padding: 0 0 12px !important;
    border: 0;
  }
  header .navbar-collapse.collapse:not(.in) { display: none !important; }
  header .navbar-collapse.collapse.in { display: block !important; }
  header .navbar-collapse .search-wrapper {
    position: static;
    display: block !important;
    float: none;
    width: 100%;
    margin: 12px 0 0;
    padding: 0;
  }
  header .navbar-collapse .search-wrapper form { margin: 0 0 10px; }
  header .navbar-collapse .search-wrapper .input-group { width: 100%; }
  header .navbar-collapse .search-wrapper .form-control {
    min-width: 0;
    padding: 0 12px;
    box-sizing: border-box;
  }
  header .logo-fixed { display: none; }
  header.fixed { padding: 6px 0 0; }
  header.fixed .logo-fixed { display: block; max-width: 140px; margin: 0; }
  header.fixed .logo-fixed img { max-width: 100%; height: auto; }
}

/* Reveal nested navigation on tap without hover emulation. */
@media (max-width: 767px) {
  .main-nav .nav > li.mobile-subnav-open > .subnav {
    display: block !important;
    position: static;
    width: 100% !important;
    min-width: 0;
    float: none;
    height: auto !important;
    overflow: visible;
  }
}

@media (max-width: 767px) {
  body.lang-ar .main-nav .subnav #servicesmenu > li > .second-level {
    width: 100% !important;
    right: auto;
    left: auto;
    float: none;
  }
}
