#menu {
  height: 41px;
  background-color: #EFEFEF;
  color: #145E8F;
  margin: 0px;
  padding: 0px;
  left: 0px;
  position: absolute;
  width: 100%;
  box-sizing: border-box;
  border-bottom: solid 1px #145E8F;
}

#menu a:link {
  color: #145E8F;
  text-decoration: none;
  font-weight: normal;
}

#menu a:visited {
  color: #145E8F;
  text-decoration: none;
}

#menu table {
  margin: 0px auto 0px auto;
  height: 41px;
//  height: 100%;
  width: 100%;
//  max-width: 900px;
  border-collapse: collapse;
  border-spacing: 0px;
//  border: solid 1px blue;
}

#menu table td {
  box-sizing: border-box;
  vertical-align: middle;
  text-align: center;
  padding: 0px;
  font-size: 18px;
  margin: 0px;
  height: 40px;
  max-height: 40px;
}

#menu table tr td:first-child {
  width: 20%;
  height: 40px;
  max-height: 40px;
  padding-bottom: 0px;
  vertical-align: bottom;
}

#menu table tr td:first-child, #smalllogo {
  text-align: left;
  padding: 0px;
  vertical-align: bottom;
}

#menu #smalllogo img {
  padding: 0px;
  margin-bottom: 0px;
  vertical-align: bottom;
}

/*
#menu table tr td:last-child {
  text-align: right;
  padding: 0px;
  margin: 0px;
  border: solid 3px lime;
}
*/

#menu span {
  display: inline-block;
  cursor: pointer;
  z-index: 101;
}

#menu span.mainitem {
  width: 100%;
  height: 40px;
  padding-top: 10px;
  margin: 0px;
  box-sizing: border-box;
}

#menu span.mainitem:hover {
  border-bottom: solid 2px #56CAF5;
/*   padding-top: 9px; */
}

#menu span.mainitem:hover a {
  color: #56CAF5;
/*   padding-top: 9px; */
}

#menu span.mainitem div {
  font-size: 16px;
  vertical-align: top;
  text-align: left;
  display: none;
  z-index: 102;
  margin-left: auto;
  margin-right: auto;
  position: absolute;
  box-shadow: 0px 4px 4px rgba(0,0,0,.25);
}

#menu span.mainitem:hover div{
/*  display: block; */
  left: 0px;
  top: 40px;
  width: 100%;
  position: absolute;
  color: #145E8F;
/*  background-color: #efefef; */
  background-color: rgba(239,239,239,.95);
  padding: 10px;
  text-transform: none;
  margin: 0px auto auto auto;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  justify-content: center;
  align-items: center;
  border-bottom: solid 1px #145E8F;
  transition-duration: 1s;
}

#menu span.mainitem:hover div a{
  color: #145E8F;
}
 
#menu span div span.ddmenuholder {
  display: flex; 
  justify-contents: center; 
  width: 100%; 
  max-width: 960px; 
  margin-left: auto; 
  margin-right: auto; 
  vertical-align: top;
}

#menu #productsmenu span.mainitem span.ddmenuholder {
  max-width: 700px;
  justify-contents: left; 
  margin-left: 10%;
  margin-right: auto;
}

#menu #purchasemenu span.mainitem span.ddmenuholder {
  max-width: 700px;
  justify-contents: left; 
  margin-left: 30%;
  margin-right: auto;
}

#menu span div a:link {
  color: #145E8F;
  text-decoration: none;
  font-weight: normal;
}

#menu span div a:visited {
  color: #145E8F;
  text-decoration: none;
}

#menu span div a:hover {
  color: #000000;
  text-decoration: underline;
}

#menu span div span.categories {
/*  background-color: #efefef; */
  background-color: rgba(239,239,239,0);
  display: inline-block;
  vertical-align: top;
  margin: 0px auto;
  border-left: dotted 1px #145E8F;
  border-bottom: none;
  padding: 0px 10px;
}

#menu span div span.categories:first-child {
  border-left: none;
}

#menu td:hover {
  background-color: #EFEFEF;
}

#menu td:hover a {
  color: #145E8F;
}

#menu span:hover a {
  color: #145E8F;
/*  background-color: #ffffff; */
}


#menu span div p.substuff {
  margin: 2px 0px;
  padding-left: 0px;
  text-transform: none;
}

#menu span div p.substuff a {
  font-size: 14px;
  color: #145E8F;
  padding-bottom: 8px;
  display: inline-block;
  margin-left: 8px;
}

#menu span div p.substuff a:last-child {
  padding-bottom: 16px;
}


.bump {
  display: inline-block;
  padding-bottom: 16px;
}


#searchNav #mobilesearch, #searchNav #mobilesmalllogo, #searchNav #mobilenavbar {
  display: inline-block;
  height: 38px;
  width: 100%;
  margin: 0px;
  font-size: 20px;
  padding: 5px;
  vertical-align: middle;
  background-color: #efefef;
}

#searchNav #mobilesearch {
  text-align: left;
}

#searchNav #mobilesearch div {
  height: 60px;
}

#searchNav #mobilesearch i , #searchNav #mobilenavbar i {
  vertical-align: middle;
}

#searchNav #mobilesearch div , #searchNav #mobilenavbar div {
  display: none;
  width: 100%;
  position: absolute;
  padding: 10px;
  left: 0px;
  z-index: 200;
  line-height: 2em;
  background-color: rgba(239,239,239,.9);
}

#searchNav #mobilesearch div a , #searchNav #mobilenavbar div a {
  color: #145E8F;
}

#searchNav #mobilesmalllogo {
  text-align: center;
  padding-top: 8px;
}

#searchNav #mobilesmalllogo img {
  height: 18px;
  width: auto;
}

#searchNav #mobilenavbar div {
  text-align: center;
}

#msearchbtn, #mnavbtn {
  cursor: pointer;
}

#menu #cartstuff {
  text-align: right;
  max-height: 40px;
  margin: 0px 0px 0px 0px;
  padding: 0px;
}

#menu #cartstuff a {
  background-color: #efefef;
  padding: 0px;
  margin: 0px;
}

#menu #cartstuff a i.fa {
  background-color: #efefef;
  padding: 0px;
  margin: 0px;
}

@media screen and (max-width: 800px) {

#menu table tr td:first-child, #menu table tr td:last-child {
  width: 10%;
}

#menu #productsmenu span.mainitem span.ddmenuholder {
  max-width: 800px;
  justify-contents: center; 
  margin-left: 0px;
  margin-right: auto;
}

#menu #purchasemenu span.mainitem span.ddmenuholder {
  max-width: 800px;
  justify-contents: center; 
  margin-left: 0px;
  margin-right: auto;
}

}

@media screen and (max-width: 640px) {

#mnavmenu
  position: absolute;
  top: 0px;
}

}

