/* =====================================================================
   Horsham Bearings - shared site styles (hb-site.css)
   Used by every updated page: header, menu, banner, phone layout and footer.
   ===================================================================== */

#header {
  height: auto !important;
  min-height: 0 !important;
  overflow: visible !important;
  background: none !important;
  padding-bottom: 15px !important;
}
#topNavigation {
  margin-top: 0 !important;
  clear: both !important;
}
#Banner {
  margin-top: 10px !important;
  clear: both !important;
}

/* ===== Bigger mobile navigation buttons ===== */
@media screen and (max-width: 900px) {

  #topNavigation {
    height: auto !important;
    padding: 6px 4px !important;
    text-align: center !important;
  }

  ul#cssmw {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    width: 100% !important;
    float: none !important;
  }

  ul#cssmw > li {
    float: none !important;
    flex: 1 1 46% !important;
    max-width: 48% !important;
    margin: 4px 1% !important;
    background-image: none !important;
  }

  ul#cssmw > li > span {
    background-image: none !important;
  }

  ul#cssmw > li > span > a,
ul#cssmw > li > span > a:link,
ul#cssmw > li > span > a:visited {
  font-family: "Arial Black", Arial, Helvetica, sans-serif !important;
  font-size: 21px !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  letter-spacing: 0 !important;
  line-height: 1.15 !important;
  text-shadow: 0 2px 3px rgba(0,0,0,.8) !important;
  height: auto !important;
  min-height: 72px !important;
  padding: 14px 6px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background-image: none !important;
  background-color: #333 !important;
  color: #fff !important;
  border-bottom: 5px solid #ff6600 !important;
  border-radius: 4px !important;
  box-sizing: border-box !important;
  text-align: center !important;
  overflow-wrap: break-word !important;
}

  ul#cssmw > li > span > a:hover {
    background-color: #444 !important;
    color: #ff6600 !important;
  }

  #topNavigation > a.link {
    display: block !important;
    width: calc(100% - 8px) !important;
    margin: 8px 4px 4px !important;
    font-size: 16px !important;
    padding: 14px 10px !important;
    min-height: 48px !important;
    text-align: center !important;
    background-color: #333 !important;
    border-radius: 4px !important;
    box-sizing: border-box !important;
  }
}
/* ===== Desktop: full-width bold navigation bar ===== */
@media screen and (min-width: 901px) {

  #topNavigation {
    width: auto !important;
    margin: 0 8px !important;
    padding: 0 !important;
    height: auto !important;
    background: #111 !important;
    background-image: none !important;
    border-top: 4px solid #ff6600 !important;
    border-bottom: 4px solid #ff6600 !important;
    box-shadow: 0 4px 8px rgba(0,0,0,.4) !important;
    box-sizing: border-box !important;
  }

  ul#cssmw {
    display: flex !important;
    flex-wrap: nowrap !important;
    width: 100% !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  ul#cssmw > li {
    float: none !important;
    flex: 1 1 auto !important;
    margin: 0 !important;
    background-image: none !important;
    border-right: 1px solid #555 !important;
  }

  ul#cssmw > li:last-child {
    border-right: none !important;
  }

  ul#cssmw > li > span {
    display: block !important;
    height: 100% !important;
    background-image: none !important;
  }

  ul#cssmw > li > span > a,
  ul#cssmw > li > span > a:link,
  ul#cssmw > li > span > a:visited {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 100% !important;
    min-height: 60px !important;
    padding: 0 4px !important;
    font-size: 17px !important;
    font-weight: 800 !important;
    font-family: Arial, Helvetica, sans-serif !important;
    letter-spacing: .2px !important;
    text-transform: uppercase !important;
    text-align: center !important;
    text-decoration: none !important;
    color: #fff !important;
    background: transparent !important;
    background-image: none !important;
    box-sizing: border-box !important;
    transition: background .15s !important;
  }

  ul#cssmw > li > span > a:hover,
  ul#cssmw > li > span > a:focus {
    background: #ff6600 !important;
    color: #fff !important;
  }

  /* Online Store: logo red so it stands out */
  ul#cssmw > li > span > a[href*="industrialsuppliesaustralia"] {
    background: #c40000 !important;
    color: #fff !important;
  }

  ul#cssmw > li > span > a[href*="industrialsuppliesaustralia"]:hover {
    background: #ff6600 !important;
  }
}
/* ===== Desktop: header sized to the banner, and the same menu order as phones ===== */
@media screen and (min-width: 901px) {
  /* header logo: same width as the scrolling banner below it,
     trimmed along the bottom so the page fits on one screen (the lettering is kept whole) */
  html body #outerWrapper #header img {
    width: 100% !important;
    max-width: 1150px !important;
    height: auto !important;
    max-height: none !important;
    aspect-ratio: 1150 / 270 !important;
    object-fit: cover !important;
    object-position: center top !important;
    margin: 0 auto 8px auto !important;
  }
  html body #outerWrapper #header {
    padding: 0 !important;
  }
  html body #outerWrapper #Banner {
    margin-top: 0 !important;
  }
  /* reads: Home, Online Store, Catalogue, Trailer Servicing, Sheds, Tanks, About Us, Contact Us */
  #topNavigation ul#cssmw > li:nth-child(1) { order: 1 !important; }
  #topNavigation ul#cssmw > li:nth-child(2) { order: 2 !important; }
  #topNavigation ul#cssmw > li:nth-child(5) { order: 3 !important; }
  #topNavigation ul#cssmw > li:nth-child(6) { order: 4 !important; }
  #topNavigation ul#cssmw > li:nth-child(3) { order: 5 !important; }
  #topNavigation ul#cssmw > li:nth-child(4) { order: 6 !important; }
  #topNavigation ul#cssmw > li:nth-child(8) { order: 7 !important; }
  #topNavigation ul#cssmw > li:nth-child(7) { order: 8 !important; }
  /* the last button in the row no longer has a divider after it */
  #topNavigation ul#cssmw > li { border-right: 1px solid #555 !important; }
  #topNavigation ul#cssmw > li:nth-child(7) { border-right: none !important; }
}
/* ===== Footer: same width as the page, page fonts, bigger text ===== */
#footerWrapper {
  width: 100% !important;
  box-sizing: border-box !important;
  clear: both !important;
  background-color: #282a27 !important;
  font-family: Arial, Helvetica, sans-serif !important;
  color: #fff !important;
}

#footerWrapper #footer,
#footerWrapper #addressWrapper,
#footerWrapper #footerBottom {
  width: auto !important;
  max-width: 1130px !important;
  height: auto !important;
  margin: 0 auto !important;
  padding: 14px 12px !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}

#footerWrapper #footer {
  text-align: center !important;
}

#footerWrapper #footer a,
#footerWrapper #footer a:link,
#footerWrapper #footer a:visited {
  display: inline-block !important;
  padding: 8px 16px !important;
  border-left: 1px solid #777 !important;
  color: #fff !important;
  font-family: "Arial Black", Arial, Helvetica, sans-serif !important;
  font-size: 17px !important;
  font-weight: 900 !important;
  line-height: 1.3 !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
}

#footerWrapper #footer a.first {
  border-left: 0 !important;
}

#footerWrapper #footer a:hover,
#footerWrapper #footer a:focus {
  color: #ff6600 !important;
}

#footerWrapper #addressWrapper .address,
#footerWrapper #addressWrapper .phone {
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 20px !important;
  line-height: 1.6 !important;
  color: #fff !important;
}

#footerWrapper #footerBottom,
#footerWrapper #footerBottom a {
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 15px !important;
  line-height: 1.6 !important;
  color: #ccc !important;
}

/* Phones: match the page width (1150px) and size text like the rest of the page */
@media screen and (max-width: 700px) {
  #footerWrapper {
    width: 1150px !important;
  }

  #footerWrapper #footer,
  #footerWrapper #addressWrapper,
  #footerWrapper #footerBottom {
    max-width: 1150px !important;
    padding: 24px 30px !important;
  }

  #footerWrapper #footer a,
  #footerWrapper #footer a:link,
  #footerWrapper #footer a:visited {
    font-size: 28px !important;
    padding: 14px 22px !important;
  }

  #footerWrapper #addressWrapper .address,
  #footerWrapper #addressWrapper .phone {
    font-size: 30px !important;
    line-height: 1.6 !important;
  }

  #footerWrapper #footerBottom,
  #footerWrapper #footerBottom a {
    font-size: 26px !important;
  }
}
/* ===== Phones & tablets: fit the page to the screen (no zooming) ===== */
@media screen and (max-width: 900px) {
  html, body {
    overflow-x: hidden !important;
  }
  #outerWrapper {
    width: 100% !important;
    max-width: 1150px !important;
    box-sizing: border-box !important;
  }
  #outerWrapper #header {
    padding: 0 !important;
  }
  #outerWrapper #header img {
    margin-bottom: 4px !important;
  }
  /* scrolling banner: kept at its designed size and scaled down by the script below the banner */
  html body #outerWrapper #Banner {
    margin-top: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
  }
  #outerWrapper #contentWrapper {
    background-image: none !important;
    background-color: #d3dce6 !important;
    overflow: visible !important;
    padding: 0 8px !important;
  }
  #outerWrapper #contentWrapper #leftColumn1 {
    display: none !important;
  }
  #outerWrapper #contentWrapper #content {
    margin: 6px 0 !important;
    padding: 6px !important;
    width: auto !important;
    box-sizing: border-box !important;
  }
  #content img {
    max-width: 100% !important;
    height: auto !important;
  }
  #content table,
  #content tbody,
  #content tr,
  #content td {
    display: block !important;
    width: auto !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  /* long web addresses and very large text in the page content */
  #content a {
    overflow-wrap: anywhere !important;
  }
  #content [style*="font-size:48px"],
  #content [style*="font-size:48px"] *,
  #content [style*="font-size: 48px"],
  #content [style*="font-size: 48px"] * {
    font-size: 22px !important;
    line-height: 1.3 !important;
  }

  /* menu: two columns of buttons sized for a phone */
  html body #topNavigation {
    padding: 3px 4px !important;
    /* solid backing hides the old menu-bar stripes in the page background image */
    background: #282a27 !important;
    background-image: none !important;
  }
  /* "#topNavigation" makes these win over the menu's own stylesheet (menu.css) */
  #topNavigation ul#cssmw > li {
    margin: 2px 1% !important;
  }
  #topNavigation ul#cssmw > li > span > a,
  #topNavigation ul#cssmw > li > span > a:link,
  #topNavigation ul#cssmw > li > span > a:visited {
    font-size: 13px !important;
    line-height: 1.2 !important;
    min-height: 30px !important;
    padding: 3px 4px !important;
    border-bottom-width: 3px !important;
    text-decoration: none !important;
  }
  ul#cssmw, ul#cssmw > li {
    list-style: none !important;
  }
  /* phone button order (fills left, right, left, right...):
     left column  = Home, Online Store, Catalogue, Trailer Servicing
     right column = Sheds, Tanks, About Us, Contact Us
     menu.php order: 1 Home, 2 Online Store, 3 Sheds, 4 Tanks, 5 Catalogue, 6 Trailer Servicing, 7 Contact Us, 8 About Us */
  #topNavigation ul#cssmw > li:nth-child(1) { order: 1 !important; }
  #topNavigation ul#cssmw > li:nth-child(3) { order: 2 !important; }
  #topNavigation ul#cssmw > li:nth-child(2) { order: 3 !important; }
  #topNavigation ul#cssmw > li:nth-child(4) { order: 4 !important; }
  #topNavigation ul#cssmw > li:nth-child(5) { order: 5 !important; }
  #topNavigation ul#cssmw > li:nth-child(8) { order: 6 !important; }
  #topNavigation ul#cssmw > li:nth-child(6) { order: 7 !important; }
  #topNavigation ul#cssmw > li:nth-child(7) { order: 8 !important; }

  /* content box: plain light background, so the dark page band doesn't show through behind the welcome text */
  #outerWrapper #contentWrapper #content {
    background-color: #d3dce6 !important;
  }
  /* footer: fit the screen instead of a fixed 1150px */
  #footerWrapper,
  #footerWrapper #footer,
  #footerWrapper #addressWrapper,
  #footerWrapper #footerBottom {
    width: auto !important;
    max-width: 100% !important;
    height: auto !important;
  }
  #footerWrapper #footer,
  #footerWrapper #addressWrapper,
  #footerWrapper #footerBottom {
    padding: 12px 14px !important;
  }
  #footerWrapper #footer a,
  #footerWrapper #footer a:link,
  #footerWrapper #footer a:visited {
    font-size: 14px !important;
    padding: 8px 10px !important;
  }
  #footerWrapper #addressWrapper .address,
  #footerWrapper #addressWrapper .phone,
  #footerWrapper #footerBottom .auh,
  #footerWrapper #footerBottom .copy {
    float: none !important;
    display: block !important;
  }
  #footerWrapper #addressWrapper .address,
  #footerWrapper #addressWrapper .phone {
    font-size: 17px !important;
    line-height: 1.6 !important;
    margin-bottom: 10px !important;
  }
  #footerWrapper #footerBottom,
  #footerWrapper #footerBottom a {
    font-size: 13px !important;
  }
}

/* ===== Footer contact details ===== */
#footerWrapper #addressWrapper .hbLabel {
  display: block;
  color: #ff6600;
  font-family: "Arial Black", Arial, Helvetica, sans-serif;
  font-weight: 900;
  font-size: 16px;
  letter-spacing: .5px;
  text-transform: uppercase;
  margin-bottom: 4px;
}
#footerWrapper #addressWrapper .hbRow {
  display: block;
}
#footerWrapper #addressWrapper .hbKey {
  display: inline-block;
  min-width: 95px;
  color: #bbb;
}
#footerWrapper #addressWrapper a,
#footerWrapper #addressWrapper a:link,
#footerWrapper #addressWrapper a:visited {
  color: #fff !important;
  font-weight: bold;
  text-decoration: none;
  overflow-wrap: anywhere;
}
#footerWrapper #addressWrapper a:hover {
  color: #ff6600 !important;
}
#footerWrapper #addressWrapper .phone {
  text-align: left;
}
/* ===== Footer: address, contact and map side by side (stacked on phones) ===== */
#footerWrapper #addressWrapper {
  display: grid !important;
  grid-template-columns: 0.8fr 1.5fr 1.6fr;
  gap: 20px;
  align-items: start;
}
#footerWrapper #addressWrapper .address,
#footerWrapper #addressWrapper .phone {
  float: none !important;
  font-size: 17px !important;
}
#footerWrapper #addressWrapper .hbMap iframe {
  display: block;
  width: 100%;
  height: 180px;
  border: 0;
  border-radius: 6px;
}
@media screen and (max-width: 900px) {
  #footerWrapper #addressWrapper {
    grid-template-columns: 1fr;
    gap: 6px;
  }
  #footerWrapper #addressWrapper .hbMap iframe {
    height: 200px;
  }
}
/* footer: address a little bolder; menu links now sit below the contact details */
#footerWrapper #addressWrapper .address {
  font-weight: bold !important;
}
#footerWrapper #footer {
  border-top: 1px solid #444;
  margin-top: 6px !important;
}
