/*CSS RESET*/

/* * { margin: 0; padding: 0; list-style: none; }*/

/*========================================
    General Styles
===========================================*/

html {
  font-size:100%;
}

/*clips overlow nav elements*/
body {
  overflow-x: hidden;
  padding:0;
  margin:0;
  background:#111;
}
/*sets media to 100% of its container */
img,
video,
iframe {
  width:100%;
}
/*removes bullets from list items in nav elements*/
  
nav li,
.social li {
  list-style:none;
}
  
ul {
  background:inherit;
}
/*Font Styles*/
  
/*Buttons and links and nav elements should get montserrat*/
li a, button {
    font-family:'Montserrat', Helvetica, Arial, sans-serif;
    cursor:pointer;
}

h1,h2,h3{
  font-family:'PT Serif', 'Times New Roman', Times, serif;
  margin-bottom:1em;
}
  
h4,h5,h6,p,li {
  font-family:'PT Serif', 'Times New Roman', Times, serif;
  margin-bottom:1em;
}

.sectionTitle{
  color:#666;
  text-align:center;
  font-size:2rem;
  line-height:1.4;
}

h2.subheader {
  color:#3e5e95;
}

:hover {-webkit-transition-duration: .5s; -moz-transition-duration: .5s;-o-transition-duration: .5s;-ms-transition-duration: .5s;transition-duration: .5s;
  -webkit-transition-timing-function: ease;-moz-transition-timiTagListng-function: ease;-o-transition-timing-function: ease;-ms-transition-timing-function: ease;
  transition-timing-function: ease;
}



/*************Link Style***************/

a,
a:link,
a:visited,
a:hover,
a:active {
  text-decoration:none;
  color:inherit;
  cursor:pointer;
}
  
  
  
/*************Animations*****************/

@keyframes navLinkFade {
  from {
    opacity:0;
    /*transform: translateX(50px);
    -moz-transform:translateX(50px);*/
  }
  to {
    opacity:1;
    /*transform: translateX(0px);
    -moz-transform:translateX(0px);*/
  }
}
  
@keyframes slidein {
  from {
    opacity:0;
    color:#eee;
    /*margin-bottom:100%;*/
    /*-moz-transform:translateY(-50%);
    transform:translateY(-50%);*/
  }
  
  to {
   opacity:1;
   color:#222;
   /*margin-bottom:auto;*/
   /*-moz-transform:translateY(0%);
   transform:translateY(0%);*/
  }
}
  
@-moz-keyframes scroll-left {
  0% {
      -moz-transform: translateX(100%);
  }
  100% {
      -moz-transform: translateX(-50%);
  }
}

@-webkit-keyframes scroll-left {
  0% {
      -webkit-transform: translateX(100%);
  }
  100% {
      -webkit-transform: translateX(-50%);
  }
}

@keyframes scroll-left {
  0% {
      -moz-transform: translateX(100%);
      -webkit-transform: translateX(100%);
      transform: translateX(100%);
  }
  100% {
      -moz-transform: translateX(-50%);
      -webkit-transform: translateX(-50%);
      transform: translateX(-50%);
  }
}
  
  
  
/************Header Styles********************/

header{
  background-color:#000;
  max-width:100%;
  display:flex;
  flex-direction:row;
  flex-wrap:nowrap;
  padding:1em; 
  justify-content: space-between;
  align-items: center;
  /*height:8vh;*/
}

.smallLogo {
  max-width:200px;
  display:inline-block;
}

.smallLogo img {
  width:100%;
}

header div {
  display:inline-block;
  max-width:200px;

}


.search-icon,
.submit-search-icon{
  max-width:28px;
  max-height:28px;
  /*margin-right:1em;
  margin-left:1em;*/
  cursor:pointer;
}
  
.mbl-menu {
  display:flex;
  max-width:100px;
  width:100%;
  justify-content:space-evenly;
  /* align-items:center; */
}

  
.mmenu-dropdown {
  background-color:#000;
  color:#ffffff;
  padding:2em;
  display:none;
  flex-direction:column;
  position:relative;
  opacity:0;
  right:0;
  width:100%;
  /*top:8vh;*/
  align-items:center;
  justify-content: space-around;
  align-content:space-around;
  /*transform:translateX(100%);*/
  transition: opacity 0.3s ease-in;
  -moz-transition: opacity 0.3s ease-in;
  -webkit-transition: opacity 0.3s ease-in;


}
  
.mmenu-dropdown ul {
  padding:0;
  text-align:center;
  display:flex;
  flex-direction:column;
  width: 100%;
}
  
.mmenu-dropdown li{
  font-family:'Montserrat', Helvetica, Arial, sans-serif;
  font-size:1.2rem;
  transition: all 0.5s ease-in-out;
  -moz-transition: all 0.5s ease-in-out;
  color:#fff;
}
  
.mmenu-dropdown li:hover {
  color:#fff;
  transition: color 0.3s ease-in-out;
  -moz-transition: color 0.3s ease-in-out;
}
  
.hamburger-menu {
  cursor:pointer;
}
.hamburger-menu div {
  transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
}
  
.bar1,
.bar2,
.bar3 {
  background:#ffffff;
  width:30px;
  margin-bottom:6px;
  height:4px;
  display:block;
  border-radius:5px;
}

  
.toggle .bar1 {
  transform: rotate(-45deg) translate(-7px, 8px);
}
.toggle .bar2 {
  opacity:0;
}
.toggle .bar3 {
    transform: rotate(45deg) translate(-6px, -7px);
}
  
  
.mmenu-active {
  display:flex;
  opacity:1;
  /*transform:translateX(0%);*/
}
  
.search-container {
  position: relative;
  /*top: 8vh;*/
  /*left: 0;*/
  padding: 1em;
  width: 100%;
  background-color: #000;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  overflow: hidden;
  max-width: 100%;
  align-content: center;
  width: 100%;
}

.desk-search-container form, .search-container form {
    display:flex;
    flex-direction:row;
    flex-wrap:nowrap;
    font-family:'PT Serif', 'Times New Roman', Times, serif;
    align-items:center;
    justify-content:space-around;
    width:100%;
    max-width:100%;
}
  
  
.search-bar {
  padding:0.2em 0.5em;
  background:#ddd;
  border:1px solid #fff;
  border-radius:5px;
  width:100%;
  max-width:100%;
}
  
.searchButton {
  height: 32px;
  border-radius: 5px;
  margin-top: 4px;
  margin-left: 0;
}
  
header nav ul {
  margin:0;
  padding:0;
}

/****** header styles for dropdown desktop menu ****/
    
nav.header-nav > ul > li {
    padding:0.5em;
}
.header-nav .deskMenuItem {
    font-size:1rem;
    cursor:pointer !important;
}
.dropParent {
    position:relative;
    display:inline-block;
}

.mmenu-dropdown .dropParent .deskMenuItem{
    display: flex;
    gap: 10px;
    justify-content: center;
    align-items: center;
}

.dropParent .deskMenuItem .mmenu-arrow{
    transition: transform 0.3s ease;
    flex-shrink: 0;
}
.dropParent.toggled .deskMenuItem .mmenu-arrow{
    transform: rotate(180deg);
}

.dropParent .dropChild li {
    margin:0;
    width:100%;
    font-size:1rem;
    min-width:180px;    
    padding:0.4em;
    transition: color 50ms ease-in-out, background-color 50ms ease-in-out;
}

.header-nav .dropParent .dropChild li{
    color:#000;
    padding:0.2em;
}

.dropParent .dropChild li a {
    font-family:'Montserrat',Helvetica,Arial, sans-serif;
    font-size:0.9rem;
    line-height:1.4;
    display: block;
}
.dropParent .dropChild{
    display:none;
    color:#fff;
    background: #222;
    align-items:center;
    justify-content:center;
    flex-direction:column;
    padding:0.5em;
    z-index:5; 
    margin:0.5em 0 0 0;
    left:0;
    opacity:0;
    transform:translateY(-10px);
    transition:transform 150ms ease-in-out, opacity 150ms ease-in-out; 
}
.header-nav .dropParent .dropChild{
    position:absolute;
    background:#eee;
    color:#000;
    box-shadow:0px 2px 5px 0px rgb(174 172 172);
}

.header-nav .dropParent.toggled {
    background:#eee;
    color:#000;
}

.dropParent.toggled .dropChild {
    display:flex !important;
    transform:translateY(0);
    opacity:1;
}
.dropParent.toggled .dropChild li:hover {
    background:#000;
    color:#fff;
}
/************Footer Styles********************/

footer {
  display:flex;
  width:100%;
  flex-direction: column;
  background:#000;
  color:#fff;
  padding:1em;
}

.footer-nav {
  display:flex;
  flex-direction:row;
  flex-wrap:nowrap;
  font-size:1rem;
  justify-content: space-evenly;
  align-items:flex-start;
  border-bottom:1px solid #666;
}

 

.footer-nav ul {
  background:#000;
  color:#fff;
  display:flex;
  flex-direction:column;
  width:100%;
  padding:1em;
}

.footer-nav ul lh {
  font-size: 1.2rem;
  font-family: 'PT Serif', 'Times New Roman', times, serif;
  margin-bottom:1em;
}

.footer-nav ul li {
  color:#fff;
  margin-left:0;
  font-family:'Montserrat', Helvetica, Arial, sans-serif;
  font-size:0.85rem;
}


.contact {
  display:flex;
  flex-direction:column;
  flex-wrap:nowrap;
  justify-content:center;
  align-items:center;
  margin-top:1em;
  margin-bottom:1em;
  width:100%;
  text-align:center;
}

.contact p {
  font-family:"Montserrat", Helvetica, Arial, sans-serif;
  font-size:0.85rem;
}

.contact div.smallImg {
  max-width:200px;
  margin-bottom:1em;
}

.footerEmailForm {
  width:100%;
  margin-top: 1em;
}

#mc_embed_signup h3 {
  font-family:"PT Serif", "Times New Roman", Times, serif;
  font-size:1.5rem;
  text-align:center;
  font-weight:normal;
}

.mc-field-group label {
  font-family:"Montserrat", Helvetica, Arial, sans-serif;
  margin-bottom:1em !important;
}

.footerEmailForm  .button {
  background:#ddd !important;
  color:#000 !important;
  font-family: 'Montserrat', Helvetica, Arial, sans-serif;
}

aside.FDA {
    width:90%;
    background:#000;
    color:#ccc;
    padding:2em 0 1em 0;
    max-width:932px;
    display:block;
    margin:1em auto;
    text-align:left;
}

.FDA-warningImg {
    max-width:30px;
    float:left;
    margin-right:5px;
}

.FDA p {
    font-family:"Montserrat", Helvetica, Arial, sans-serif;
    font-size:0.8rem;
    line-height:1.5;
    margin-bottom:0;
}




  /*========================================================
              GENERAL LAYOUT  STYLES 
  =====================================================*/
  

.outerwrap {
  display:block;
  margin:0 auto;
  width:100%;
  max-width:1300px;
  background:#fff;
}
.content {
  float:none;
  background:inherit;
}

.pageIntro {
  display:block;
  margin:0 auto;
  padding:1em;
}

.pageIntro h1 {
  width:100%;
  text-align:center;
  float:none;
  margin:1em auto;
  font-size:2rem;
  line-height:1.4;
  max-width:1080px;
  display:block; 
}

.pageIntro h2 {
  font-size:1.5rem;
  line-height:1.4;
  width:100%;
  text-align:center;
  display:block;
  margin:1em auto;
  max-width:1080px;
}

.pageIntro p {
  display:block;
  margin: 1em auto;
  max-width:1080px;
  line-height:1.5;
  font-size:1rem;
}

.breadcrumbs {
  padding:1em;
  width:100%;
  float:none;
  margin:0;
  font-family:"Montserrat", Helvetica, Arial, sans-serif;
  line-height:1.5;
  color:#666;
  font-size:0.9rem;
  background:#eee;
}

.containsNew::after {
  content: "★";
  margin-left:5px;
  font-size:1.2rem;
}

/*********** Homepage Styles **************/

.homepage-wrap {
  float:none;
  margin:0;
  padding:0;
  background:#fff;
}

.drivers {
  display:flex;
  flex-wrap:wrap;
  justify-content:space-around;
  align-items:center;
  width:100%;
  padding:1em;
}

.driver {
  max-width:48%;
  width:100%;
  margin-bottom:1em;
}

.driver img {
  width:100%;
  float:none;
  border:none;
  margin:0;
}

.featured-title {
  float:none;
  display:block;
  margin:0 auto;
  margin:1em 0;
}

.featured-title h2 {
  background:#fff;
  float:none;
  font-size:2rem;
  width:100%;
  max-width:500px;
  padding:0 1em;
  display:block;
  margin:0 auto;
  text-align:center;

}

.featured-title.tobacco{
  background:url('/images/featured-title-bg.png') repeat-x;
  color:#bea251 !important
}
.featured-title.pipes {
  background:url('/images/featured-title-pipes-bg.png') repeat-x;
  color:#9b9b9b !important
}

.featured-title.tobacco h2 {
  color:#bea251 !important;
}
.featured-title.pipes h2 {
  color:#9b9b9b !important;
}

.featured-container {
  float:none;
  display:flex;
  flex-direction: row;
  flex-wrap:wrap;
  justify-content:space-around;
  align-items:stretch;
  width:100%;
  padding:1em;
}

.featured-container .featured-product {
  float:none;
  display:flex;
  flex-direction:column;
  flex-wrap:nowrap;
  align-items:center;
  justify-content:space-between;
  width:48%;
}

.featured-product {
  margin-bottom:2em;
}
.drivers img:hover {opacity:0.6; cursor:pointer;}

.featured-product-image{
  width:100%;
  max-width:250px;
  margin:0;
  text-align:center;
  height:auto;
  float:none;
}

.featured-product-image img {
  width:100%;
  float:none;
  height:auto;
  text-align:center;
  margin: auto auto 0.5em auto;
  max-width:180px;
  display:block;
}

.featured-product-title {
  float:none;
  width:100%;
  padding:0;
  margin:0;
  text-align:center;
}

.featured-product-title h2 {
  font-size:1.2rem;
  font-family:"PT Serif", "Times New Roman", Times, serif !important;
  line-height:1.4;
  text-align:center;
  margin-bottom:1em;
}
.featured-product-title p {
  font-size:0.85rem;
  font-family:"Montserrat", Helvetica, Arial, sans-serif !important;
  text-align:center;
  line-height:1.4;
}

.featured-product-title h2 a {
  font-family:"PT Serif", "Times New Roman", Times, serif !important;
}

.featured-product-title p a {
  font-family:"Montserrat", Helvetica, Arial, sans-serif !important;
}
.featured-button {
  width:100%;
  margin:1em 0 3em 0;
  float:none;
  text-align:center;
}

.featured-button a {
  width:100%;
  max-width:280px;
  display:block;
  margin:1em auto;
  padding:1em;
  font-family:"Montserrat", Helvetica, Arial, sans-serif;
  border-radius:5px;
  text-align:center;
  font-size:1.2rem;
}

.featured-button a.pipes {
  background-image:linear-gradient(to bottom, #ccc, #333);
  color:#fff;
}

.featured-button a.tobacco {
  background-image:linear-gradient(to bottom, #bfa454, #8a6e1c);
  color:#fff;
}

aside.retailer-tag {
  background:#fbe8b5;
  color:#423103;
  padding:1em;
  float:none;
  position:initial;
  text-align:center;
  width:100%;
}

aside.retailer-tag p {
  font-size:1rem;
  line-height:1.4;
  display:block;
  margin:auto;
  max-width:1080px;
}

/************* Packages Page *************/

.package-block {
  display:flex;
  flex-direction:column;
  width:100%;
  border-top:1px solid #ccc;
  border-radius:5px;
  margin:1em auto;
  border-bottom:none;
  float:none;
}

.package-block h3 {
  font-size: 1.5rem;
  line-height:1.4;
  text-align:center;
  float:none;
  width:100%;
  font-family:"PT Serif", "Times New Roman", Times, serif;
}

.packageImg {
  width:100%;
  margin:0 auto 1em auto;
  max-width:800px;
}

.packageImg img {
  width:100%;
  float:none;
  margin:0 auto;
  padding:0;
}

.packageInfo p {
  text-align:left;
  width:100%;
  max-width:1080px;
  margin:1em auto;
  line-height:1.5;
}

.package-list {
  background:inherit;
  margin:2em auto 1em auto;
  width:100%;
  font-size:0.8rem;
  padding:0;
  float:none;
  max-width:1080px;

}

.package-item {
  display:inline-block;
  padding:0.8em;
  margin-right:1em;
  border-radius:5px; 
  background:#eee;
  float:none;
  color:#000;
  width:100%;
}

.packagePrice {
  width:100%;
  display:block;
  margin:1em auto;
  font-family:"PT Serif", "Times New Roman", Times, serif;
  font-weight:bold;
  float:none;
  font-size:1.5rem;
  text-align:center;
}

.ecomAddToCartContainer {
  display:flex;
  flex-direction:row;
  flex-wrap:no-wrap;
  width:100%;
  text-align:center;
  margin:1em auto;
  padding:0;
  justify-content:center;
  align-items:center;
  float:none;
}

.ecomAddQuantity {
  max-width:40px;
  float:none;
  margin-right:0.9em;
  height:auto;
}

.ecomAddQuantity input {
  width:100%;
  padding:0;
  float:none;
  font-size:1.1rem;
  line-height:1.4;
  
}

.btnAddToCartCont {
  max-width: 80%;
  float:none;
  color:#fff;
  
}

.btnAddToCart {
  background-image:linear-gradient(to bottom,#288c17, #2a600f);
  color:#fff !important;
  text-align:center;
  font-size:0.8rem;
  line-height:1.2;
  border-radius:5px;
  padding:0.6em;
  margin:0;
  display:inline-block;
  font-family:'Montserrat', Helvetica, Arial, sans-serif;
}


/************* Category Pages and Prod Listings ***************/

.pageBanner {
  width:100%;
  max-width:300px;
  margin:1em auto;
}

.pageBanner.hero {
  max-width:500px;
}

.pageTitle {
  text-align:center;
}

.categoryInfo {
  display:block;
  margin:1em auto;
  max-width:1080px;
  line-height:1.5;
  font-weight:normal;
}

.products-wrap {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  width: 100%;
  /* max-width: 1200px; */
  margin: 0 auto;
  
}

/* filter col styles */
.aside-logo-wrap{display: none;}

.mobile-toggles {
  display: flex;
  justify-content: center;
  gap: 1rem;
  margin-bottom: 1rem;
  font-family: 'Montserrat', Helvetica, Arial, sans-serif;
}

.filters-toggle,.tags-toggle {
  padding: 10px;
  background-color: #333;
  color: white;
  text-align: center;
  font-weight: bold;
  cursor: pointer;
  width: 30%;
  border-radius: 4px;
}

.product-filters,.tag-list {
  display:none;
  font-size: .9rem;
  margin-bottom: 1rem;
  padding: 20px;
  background-color: #f1f0f0;
  border-radius: 4px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  font-family: 'Montserrat', Helvetica, Arial, sans-serif;

}

.product-filters.active,.tag-list.active {
  display: block;
}

.section-cap {
  font-size: 18px;
  /* font-weight: bold; */
  margin-bottom: 15px;
  color: #333;
  border-bottom: 2px solid #ddd;
  /* padding-bottom: 8px; */
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.section-cap-close {
  right: 5px;
  top: -6px;
  font-size: 2.5rem;
  display: flex;
  align-items: center;
  line-height: 0;
  padding: 20px;
  margin-right: -20px;
  border: none;
}

.filterBox {
  margin-bottom: 20px;
  border-bottom: 1px solid #ccc;
  padding-bottom: 10px;
}

.filter-title {
  font-weight: bold;
  margin-bottom: 10px;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.filter-title em {
  font-style: italic;
  font-weight: normal;
  font-size: 0.9em;
  margin-left: 5px;
}

.filt-menu-more {
  display: inline-block;
  width: 20px;
  height: 20px;
  text-align: center;
  line-height: 20px;
  /* background: #eee; */
  border-radius: 50%;
  font-size: 14px;
  transition: transform 0.3s ease;
}

.filterBox.active .filt-menu-more {
  transform: rotate(45deg);
}

.filterItems {
  list-style: none;
  padding: 0;
  margin: 0;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease;
}

.filterBox.active .filterItems {
  max-height: 300px;
  overflow-y: auto;
}

.filterItems li {
  margin-bottom: 1rem;
  font-family: 'Montserrat', Helvetica, Arial, sans-serif;
}

.filterItems label {
  display: flex;
  align-items: center;
  cursor: pointer;
}

.filterItems input[type="checkbox"] {
  margin-right: 10px;
}

.filter-submit {
  margin-top: 20px;
  text-align: center;
}


#findIt {
  background-color: #333;
  color: white;
  border: none;
  padding: 10px 20px;
  border-radius: 4px;
  cursor: pointer;
  font-weight: bold;
  transition: background-color 0.2s;
}

#findIt:hover {
  background-color: #555;
}

.tag-list ul {
  list-style-type: none;
  margin: 0;
  padding: 0;
}

.tag-list li {
  font-size: .9rem;
  padding: 0.25rem 0;
  font-family: 'Montserrat', Helvetica, Arial, sans-serif;
  margin-bottom: .5rem;
}
/* end filter col styles */


.prodList {
  display:flex;
  flex-direction:row;
  flex-wrap:wrap;
  justify-content:space-evenly;
  align-items:stretch;
  padding:1em 0;
  background:#fff;
}



.prodBox {
  width:100%;
  max-width:280px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  /* align-items:center; */
  width:45%;
  margin-bottom:1em;
  background:#fff;
  /* text-align:center; */
  font-family:"PT Serif", "Times New Roman", Times, Serif;
  padding:1em;
  min-height:180px;
  border:1px solid #e5e5e5;
  border-radius:5px;
  position: relative;
}

.itemList {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(250px, 275px));
  justify-content: space-evenly;
  gap: 1rem;
  align-items: stretch;
  padding: 1rem 5px;
  background: #fff;
}
.itemBox {
  /* width: 100%; */
  display: flex;
  flex-direction: column;
  justify-content: space-between; 
  background: #fff;
  font-family: "PT Serif", "Times New Roman", Times, Serif;
  padding: 1em;
  min-height: 180px;
  border: 1px solid #e5e5e5;
  border-radius: 5px;
  position: relative;
  text-align: center;
  /* font-size: 0.8rem; */
}
.itemBox h2{font-size: 1.3rem;}



.previously-purchased{
  position: absolute;
  top: 0;
  right: 0;
  background-color: #eee;
  color: #333;
  padding: 2px 5px;
  font-size: .8rem;
  border-radius: 0 0 0 3px;
  font-family: 'Montserrat', Helvetica, Arial, sans-serif;
}

/* override to allow for left col filters and tags */
.products-wrap .prodList{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
  padding: 1rem .5rem;
}

.products-wrap .prodBox {
  width: unset;
  max-width: unset;
  margin-bottom: unset;
}
/* end override for left col allowance */

.prodImg {
  width: 100%;
  max-width: 150px;
  align-self: center;
}
.itemImg {
  width: 100%;
  max-width: 200px;
  align-self: center;
}

.tagList .prodImg {
  max-width:200px;
}

.prodName {
  margin-bottom:0;
  line-height:1.5;
}
.prodBox .prodName{
  line-height: 1.1rem;
  font-size: 1rem;
}
.prodBox .catname {
  font-size: .8rem;
  color: #333;
  /* font-weight: normal; */
}

.prodList h2 {
    line-height:1.4;
}

.prodList .prod-attribs {
  font-size: .9rem;
  color: #666;
  margin-top:.5rem;
}

.price {
    margin:1em 0;
    line-height:1.5;
}

.inStock {
    color:#3eb42b;
}

.outStock {
    color:#B54124;
    font-style:italic;
    font-weight:bold;
    font-size:1.5rem;
    line-height:1.4;
    margin-top:0;
    align-self: center;
}

.msrp-price {
    color:#666;
    margin:0;
    font-size: .9rem;
}
.base-price {
    color:#2a600f;
}


.filters form {
  padding:1em;
  font-size:0.9rem;
  line-height:1.4;
  display:flex;
  flex-direction:row;
  align-items:center;
  justify-content:space-evenly;
  max-width:550px;
  flex-wrap:wrap;
  font-family:'PT Serif', 'Times New Roman', Times, serif;
}

.filterCheckBox, .seriesSelect, .filterSubmit {
  margin-bottom:0.8em;
}

.NewBanner {
    font-style:italic;
    color:#3e5e95;
}

/*********** Best-Sellers Pages **********/

.categoryName {
    text-align:center;
    color:#000;
    padding: 0 1em;
    margin-top:0;
    line-height:1.4;
}

.prodName a {
    font-family:'PT Serif', 'Times New Roman', Times, serif;
    font-size:1rem;
}

.prodSku {
    margin: 1em auto;
    text-align:center;
    padding:0 1em;
}

/******** More Info Pages *****/

#prodwrapper {
    width:96%;
    max-width:1200px;
    display:block;
    margin: 1em auto;
}



.productName, .productSku {
  text-align:center;
  padding:0 1em;
  margin:1em auto;
}

.productSku {
  margin-bottom:2em;
}

.prodThumb {
  width: 100%;
  max-width:100px;
  margin:0 1em;
}

#prodphoto {
width:100%;
max-width:400px;
float:none;
display:block;
margin:1em auto;
}

.prodPhoto {
  width:100%;
  max-width:400px;
  margin:auto;
  display:block;
}

.prodDescription {
  clear:both;
  display:block;
  float: none;
  width:90%;
  max-width:1080px;
  margin: auto;
  padding:1em;
  font-size:1rem;
  line-height:1.5;
}

#pricebox {
  margin: 0 auto 2em auto;
  float:none;
  text-align:center;
}


.prodInfo {
	background:#e5e5e5;
	padding:1em;
	width:100%;
	color:#000;  
}

.prodInfo #pricebox {
	padding:1em 0;
	background:#fff;
  position: relative;
}
#pricebox .previously-purchased{
  font-size: .9rem;
  font-weight: bold;
}

h2.msrp-price.bigger {
    font-size: 1.5rem;
    color:#000;
    margin-top:1em;
}

h2.msrp-price.smaller {
    font-size:1rem;
}

#pricebox h3 {
    font-size:1.1rem;
    font-style:italic;
    font-weight:normal;
    margin-top:0.5em;
    padding:0.4em;
    line-height:1.5;
}

.prodInfo h4 {
	text-align:center;
	font-size: 1.2rem;
}
.prodInfo ul {
	padding-left:0;
	float:none;
}
.prodInfo li {
	list-style:none;
	margin-left:0;
	color:#000;
	font-size:0.9rem;
	line-height:1.5;
	float:none;
}

.base-price {
	color:#2a600f;
}

.base-price.bigger {
  font-size:1.1rem;
}


/*************** Login Page Styles *************/ 

.loginForm {
    display:block;
    margin: 0 auto;
    width:90%;
    max-width:600px;
}


form.form-signin {
    width:100%;
    max-width:600px;
    display:flex;
    flex-direction: column;
    justify-content:space-evenly;
    border-radius:5px;
    border: 1px solid #e5e5e5;
    padding:2em;
    margin:1em auto;
    text-align:left;
    float:none;
    font-size:1rem;
    font-family:'PT Serif', 'Times New Roman', Times, Serif;
}

.control-label {
    margin-top:1.5em;
    margin-bottom:1em;
}

.input-large {
    margin-bottom:1em;
}

.form-signin input {
    padding:0.5em;
    height:auto;
}

.form-signin button {
    width:100%;
    max-width:240px;
    border-radius:5px;
    cursor:pointer;
    padding:0.75em;
    margin: 1.5em auto 1em auto;
    display:block;
    background-image:linear-gradient(to bottom, #333, #666);
    font-family:'Montserrat', Helvetica, Arial, sans-serif;
    font-size:1.2rem;
    color:#fff;

}

.alert.alert-error {
  background: #ffc4a2;
  padding: 1rem;
  border-radius: 3px;
}
.welcome-message{
  width: 100%;
  max-width: 600px;
  display: flex;
  flex-direction: column;
  justify-content: space-evenly;
  border-radius: 5px;
  border: 1px solid #e5e5e5;
  padding: 2em;
  margin: 1em auto 7rem;
  text-align: left;
  float: none;
  font-size: 1rem;
  font-family: 'PT Serif', 'Times New Roman', Times, Serif;
}

.signout-button {
  /* width: 100%; */
  /* max-width: 240px; */
  border-radius: 5px;
  cursor: pointer;
  padding: 0.75em;
  margin: 1.5em auto 1em;
  display: block;
  background-image: linear-gradient(to bottom, #b63636, #8a2929);
  font-family: 'Montserrat', Helvetica, Arial, sans-serif;
  font-size: 1.2rem;
  color: #fff;
  border: none;
}


/*************** Staff List Styles **************/

.staffContainer {
  justify-content:flex-start;
  max-width:300px;
}

.titleBio {
    line-height:1.4;
}

.titlePhoto {
  max-width:150px;
}

.empTitle {
  font-style:italic;
}

.empEmail {
  font-size:0.8rem;
}


/****************** FAQ Styles ***************/

.faq {
    display:block;
    margin:0 auto;
    max-width:1080px;
    padding:1em;
    line-height:1.4;
}

.q-a {
    margin-bottom:2em;
}

.q-a h3 {
    font-size: 1.5rem;
    color: #3e5e95;
    font-style:italic;
    line-height:1.5;
}

.faq a {
    color:#3e5e95;
    font-weight:bold;
}

/************* RETAILER MAPS ******************/

.pageHeader {
    text-align:center;
    padding:1em;
}

#ldg-brand-picker a, .ldg-brand-picker a:visited {
    padding:5px 10px; color:#666; text-decoration:none; background:#eee; border:1px solid #ccc; display:inline-block; margin:0 10px 10px 0; }
#ldg-brand-picker a.selected {background:#eee; color:#666;}
#ldg-brand-picker a.highlighted {background:#000; color:#FFF;}

#ldg-brand-picker {
  float:none;
  text-align:center;
  margin-bottom:1em;
  padding:0 1em;
}

#ldg-brand-picker h2 {
  text-align:center;
}
  .state-title h2:after {
content: "+"; /* Unicode character for "plus" sign (▶) */
font-size: 1rem;
color: #3e5e95 !important;;
display:inline-block;
margin-left:10px;
font-style:normal;
font-weight:bold;
text-align:right;
}

.state-title {
  float:none;
  
}

.state-title h2 {
  text-align:center;
  color:#3e5e95;
}
.stateStoreList {
  display:none;
  opacity:0;
  flex-direction:row;
  flex-wrap:wrap;
  justify-content:center;
  align-items:stretch;
}

.state-active h2:after {
  content: "-"; /* Unicode character for "minus" sign (-) */
  color: #3e5e95 !important;
  display:inline-block !important;
  font-size:1rem;
  font-weight:bold;
  margin-left:10px;
  font-style:normal;
  text-align:right;
}

.state-active + div.stateStoreList {
  display:flex !important;
  opacity: 1 !important;

}

.store-instate{
  width:48%;
  max-width:250px;
  text-align:center;
  float:none;
  height:auto;
  border:none;
  border-radius:5px;
  padding:0.5em;
  margin:0.5em auto;
  background:#fff;
  line-height:1.5;
}

.store-instate h3 {
  line-height:1.5;
}

#map {
  width:90% !important;
  max-width:1080px;
  height:auto !important;
  min-height:40vh !important;
  float:none;
  display:block;
  margin:1em auto;
}

.ldg-stores {
  display:block;
  margin: 1em auto;
  width:95%;
  max-width:1080px;
  background:#eee;
  border:none;
  border-radius:5px;
  padding:0.5em;
  float:none;
  font-size:1rem;
}

a.retailerWeb {
  display:block;
  margin:1em auto;
  font-family:'Montserrat', Helvetica, Arial, sans-serif;
  font-size:0.9rem;
  text-align:center;
  background:#3e5e95;
  color:#fff;
  border-radius:5px;
  max-width:100px;
  padding:0.5em;
}

#ldg-brand-picks {
  display:block;
  margin:0 auto;
  float:none;
  width:100%;
}




/***************** CART / CHECKOUT STYLES *******************/


h1.header {
  float:none;
  display:block;
  margin: 1em auto;
  width:100%;
  text-align:center;
}

.item-block, .quantity-block, .lookup-button, .cart-medium-thumb, .cart-medium-product-name, .cart-small-quantity, .cart-small, .cart-small-price, .cart-small-delete, .cart-info-wrap  {
  float:none;
}

.cartContainer {
  width:100%;
}

.cartItem {
  display:flex;
  width:100%;
  align-items:center;
  border-bottom:1px solid #ccc;
  flex-wrap:wrap;
  justify-content:space-between;
  min-height:150px;
  padding:1em 0;
}

.itemSubtotal {
  color:#2a600f;
}
  
.cartItem h3 {
  font-size:1.1rem;
    margin-bottom:0.5em;
}
.cartItem p {
  font-size: 1rem;
 margin-top:0;
}

.cartThumbImg img {
  max-width:100%;
}

.cartThumbImg {
  max-width:100px;
  margin-right:0.5em;
}

.cartItem .prod-attribs {
    font-size: .9rem;
    color: #666;
    margin: -10px 0 .5rem;
}

a.removeItem {
  display:block;
  margin:0.5em auto;
  border-radius:5px;
  font-family:'Montserrat', Helvetica, Arial, sans-serif;
  font-size:0.9rem;
  padding:0.5em;
  background:#666;
  color:#fff;
  text-align:center;
  border:none;
  max-width:100px;

}

.cartToolTip {
  text-align:center;
  font-style:italic;
  color:#2a600f;
  font-weight:lighter;
}

  .cart-info {
      margin:0.75em auto;
  }

  .cart-info.orderTotal {
      font-weight:bold;
      line-height:1.5;
  }

.innerCartCol1, .innerCartCol2, .innerCartCol3, .innerCartCol4 {
  width:50%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
}

.innerCartCol4 {
  max-width:110px;
  padding:0.5em;
}

.innerCartCol3 {
  max-width:150px;
  align-items:flex-start;
}

.innerCartCol2 {
  max-width:400px;
  align-items:flex-start;
}

.checkoutBlock {
  width:90%;
  display:block;
  margin:1em auto;
  background:#eee;
  padding:1em;
  text-align:center;
}

.checkoutBlock h2 {
  color:#3e5e95;
}

.cart-info-total {
  font-size:1.5rem;
  color:#2a600f;
}

a.continue-btn, .continue-btn {
  width:100%;
  max-width:180px;
  font-family:'Montserrat', Helvetica, Arial, sans-serif;
  color:#fff;
  text-align:center;
  display:block;
  margin:auto;
  border-radius:5px; 
  background-image:linear-gradient(to bottom, #288c17, #2a600f);
  font-size:1.2rem;
  line-height:1.5;
  padding:0.5em;
}



.cartCol1 {
  padding:1em;
}

.updateCartWrap {
  padding:1em 0;
  border-bottom:1px solid #ccc;
}

.updateCartInfo input.update {
  max-width:180px;
  width:100%;
  font-family:'Montserrat', Helvetica, Arial, sans-serif;
  display:block;
  margin:1em auto;
  background:#3e5e95;
  padding:0.75em;
  color:#fff;
  border-radius:5px;
}

.create-cart-sku.ui-autocomplete-input {
  max-width:100%;
  width:100%;
  margin-top:0.2em;
}

.quickaddquantity {
  margin-top:0.2em;
}

.addressBox {
  width:90%;
  display:block;
  margin:1em auto;
  background:#eee;
  padding:1em;
  text-align:left;
}

.addressBox h3 {
  font-weight:lighter;
  margin:0 auto 1em auto;
  color:#3e5e95;
}

.addressBox p {
  line-height:1.5;
}

.change-address-btn {
  background:#3e5e95;
  color:#fff;
  border:none;
  border-radius:5px;
  padding:0.8em;

}

.emptyCart {
  padding-bottom:6em;
  text-align:center;
}

.cartQty input {
  background:#f6f1d1;
  text-align:center;
}
.retailer-notify {
    background:#f6f1d1;
    padding:1em;
    width:100%;
    margin:1em auto;
    float:none;
}
.retailer-notify p {
    line-height:1.5;
    padding:0;
    width:100%;
    margin:0 auto;
    max-width:1080px;
    display:block;
}
.chooseShipping {
    background:#eee;
    padding:1em;
    font-family:'PT Serif', 'Times New Roman', Times, serif;
    
}

.shippingRadioOpt {
    margin:0.75em auto;
    line-height:1.4;
}

#updateshippingbutton {
    width:100%;
    max-width:250px;
    color:#fff;
    text-align:center;
    display:block;
    margin:1em auto;
    border-radius:5px;
    background:#3e5e95;
    font-size:1.2rem;
    line-height:1.5;
    padding:0.5em;
    cursor:pointer;
}

.processPage-shippingWeightText {
    color:#3e5e95;
    font-weight:bold;
}

.updateCartWrap {
    margin:1em auto;
}

.cart-comments { 
    text-align:center;
    margin: 1em auto;
    width:100%;
}

.cart-comments textarea {
    width:100%;
    font-size:1rem;
    padding:0.5em;
    font-family:'PT Serif', 'Times New Roman', Times, serif;
    min-height:100px;
}

.updateCartInfo {
    margin:0;
    width:100%;
}

.updateCartInfo input.update {
    margin:1em auto;
}

.discoSkinny {
  background:#eee;
  padding:1em;
}
.discoSkinny li {
  color:#2a600f;
  font-style:italic;
  font-weight:bold;
}
.cartItem p {
  margin-bottom:5px;
}
.innerCartCol1, .innerCartCol2 {
  width:20%;
  margin-bottom:.5em;
  text-align:center;
}

.innerCartCol2.cartThumbImg {
  max-width:80px;
}
.innerCartCol3 {
  width:50%;
  max-width:400px !important;
  margin-bottom:.5em;
}
.innerCartCol4 {
  width:20%;
  margin-bottom:.5em;
  text-align:center;
} 
.innerCartCol5 {
  margin-bottom:.5em;
  text-align:center;
}
.innerCartCol6 {
  width:30%;
  margin-bottom:.5em;
  text-align:center;
}
.innerCartCol7 {
  width:20%;
  margin-bottom:.5em;
  text-align:center;
}
a.removeItem {
  max-width:40px !important;
}
.discoPercent {
  color:#2a600f;
  font-weight:normal !important;
  font-style:italic;
  font-size:1rem !important;
  margin:0;
  padding:0;
  margin-top:5px;
}
.discoPrice {
  color:#2a600f;
  font-weight:bold;
  font-size:1.1rem;
}
.itemSubtotal {
  color:#000;
}
.itemSubtotal p {
  font-weight:bold;
}
  
.extPrice {
  color:#2a600f;
  font-weight:bold;
  font-size:1.1rem !important;
}
.cust-hide {
  display:none;
  opacity:0;
  visibility:hidden;
  font-size:0;
}
.cartItem h3 {
  line-height:1.4;
}
.cart-info {
  line-height:1.4;
}


/*************Helper Styles (Mobile/Native)************/

.floatL, .floatR {
  display:block;
  margin:0 auto;
}

.smallImg {
  max-width:200px;
  display:block;
  margin:0 auto;
}

.medImg {
  width:100%; 
  max-width:400px;
}
.firstcharacter {
  color: #B54124;
  float: left;
  font-family: 'Bebas Neue', times, serif;;
  font-size: 75px;
  line-height: 60px;
  padding-top: 4px;
  padding-right: 8px;
  padding-left: 3px;
}
.caption {
  display:block;
  margin-top:0;
  padding-top:5px;
  font-size:0.9em;
  font-style:italic;
  text-align:center;
  font-family:'Open Sans', helvetica, sans-serif;
}

.hidden {
  display:none;
  visibility: hidden;
  overflow:hidden;
  width:0;
  height:0;
  padding:0;
  margin:0;
  opacity:0; 
}

.genBtn{
  max-width:150px;
  padding:0.8em;
  font-family:'Montserrat', Helveetica, Arial, sans-serif;
  font-size:1.5rem;
  letter-spacing:1px;
  color:#ffffff !important;
  background:#B54124;
  text-align:center;
  display:block;
  margin:0 auto;
}

  
/*************Media Queries (Layout) ***********/
  
@media only screen and (min-width: 480px) {
   
  .package-list {
      display:flex;
      flex-direction:row;
      flex-wrap:wrap;
      justify-content:center;
  }

  .package-item {
      width:auto;
  }
  /****** Cart table media query ********/ 

  /**** .innerCartCol1, .innerCartCol2, .innerCartCol3, .innerCartCol4 {
    width:24%;
  } *****/

  .innerCartCol1, .innerCartCol2 {
    width:10%;
  }
  
  .innerCartCol2.cartThumbImg {
    max-width:80px;
  }
  .innerCartCol3 {
    width:30%;
    max-width:400px !important;
  }
  .innerCartCol4, .innerCartCol5, .innerCartCol6 {
    width:10%;
  }
  .innerCartCol7 {
    width:5%;
  }
}

@media screen and (min-width: 768px) {
  .pageBanner#subheader{display: none;}
  .aside-logo-wrap{
    display: block;
    margin-bottom:1rem;
    padding: 0 20px;
  }
  .products-wrap {
    flex-direction: row;
    flex-wrap: nowrap;
  }

  .products-wrap aside {
    width: 25%;
    margin-right: 2%;
    
  }
  .product-filters,.tag-list{
    display:block;
    background:#fff;
    box-shadow:none;
  }
  .section-cap-close{display:none;}

  .filterBox {
    margin-bottom: 10px;
    padding-bottom: 0;
  }

  .mobile-toggles{display: none;}
  
  .tag-list li{margin-bottom: .25rem;}

  .products-wrap .prodList {
    /* width: 73%; */
    grid-template-columns: repeat(auto-fill, minmax(215px, 1fr));
    padding-top: 0;
  }
  
}
  
  
@media only screen and (min-width: 769px) {
  
  
  /*********DESKTOP FOOTER STYLES*********/
  .footer-nav ul {
    width:30%;
    padding:1em;
  }
  .contact {
    max-width:600px;
    /*padding-top:1em;*/
    flex-direction:row;
    text-align:left;
    width:40%;
  }
  .contact div.smallImg {
      display:none;
  }

  .contact ul {
      width:100%;
      padding:0;
  }

  .footerEmailForm {
    width:100%;
    max-width:1000px;
    display:block;
    margin-left:auto;
    margin-right:auto;
    text-align:center;
  }
  

  
  /************Desktop Header Styles******/


  .mheader {
    justify-content:space-evenly;
    align-items:center;
    padding:1em 0;
   
  }
  .header-nav {
    display:flex;
    color:#ffffff;
  }
  
  .header-nav ul {
    display:flex;
    flex-direction:row;
    flex-wrap:nowrap;
    justify-content: center;
    background:#000;
  }
  
  .header-nav li {
    /*margin-right:1em;*/
    padding:0;
    margin-bottom:0;
    font-size:1rem;
    transition:font-size 150ms ease-in;
  }

  .deskMenuItem {
    font-family: 'Montserrat', Helvetica, Arial, sans-serif;
    transition:border 150ms ease-in;
  }
  
  .deskMenuItem:hover{
    border-bottom: 1px solid #eee;
  }
  .desk-search-container {
    max-width:25%;
    display:flex;
    justify-content:center;
    align-items:center;
    position:relative;
    top:0;
    padding:0;
  }
  
  .search-bar{
    max-width:80%;
  }
  
  
  
  /**Additional Pages Page media queries**/
  
  /****** Homepage ******/

  .driver, .featured-product {
    max-width:24%;
  }

  /*** Retailer Maps ***/ 
  
  #map {
      min-height:60vh !important;
  }
  .store-instate {
      width:30%;
  }
  
  /*********Helper Styles (Desktop)*******/
 
  
  .floatL {
    float:left;
    margin:1em 1em 1em 0;
    
  }
  
  .floatR {
    float:right;
    margin:1em 0 1em 1em;
  }
}
  
/**********Media Queries (Layout) Large Displays*****/

@media only screen and (min-width: 900px) {
  .hp-desk-hide,
  .desk-hide {
    display:none !important;
    overflow:hidden;
    visibility: hidden;
    opacity:0;
  }

  nav.header-nav {
      max-width:60%;
  }

  .desk-search-container {
    max-width:25%;
  }

  .desk-search-container form .search-bar {
      max-width:75%;
  }

  .desk-search-container form .submit-search-icon {
      width:10%;
  }

  .header-nav li{
    font-size:1rem;
  }
 
  .footer-nav ul {
    width:20%;
  }

  .contact {
      flex-direction:row;
      width:50%
  }

  .contact ul {
      width:100%;
  }

  .contact div.smallImg {
      display:block;
      max-width:250px;
      margin:0;
      width:100%;
      margin-right:1em;

  }

  .prodWrapOuter {
    display:flex;
    justify-content:center;
    align-items:stretch;
  }
  .prodInfo {
	  width:33%;
  }

  .cartContainer {
    display:flex;
    flex-direction:row;
    flex-wrap:no-wrap;
    align-items:stretch;
    justify-content:space-between;
  }
    
  .cartCol1 {
    width:100%;
    padding:1em;
  }
    
  .cartCol2 {
    width:30%;
    background:#e5e5e5;
    padding:1em;
  }
  
  .updateCartWrap {
    border:none;
    display:flex;
    flex-direction:row;
    justify-content:space-evenly;
    align-items:flex-end;
  }

  /*** Retailer Maps ***/ 
  .state-active + div.stateStoreList {
    display:grid !important;
    opacity: 1 !important;
    justify-items:center;
    grid-template-columns:1fr 1fr 1fr 1fr;
    column-gap:1em;
    row-gap:1em;
    padding:1em 0;
  }

  .store-instate {
      width:100%;
  }

  .ldg-stores {
      padding:1em;
  }

  /***** Cart Media Queries Desktop *****/ 
  .innerCartCol1, .innerCartCol2 {
    width:10%;
  }

  .innerCartCol2.cartThumbImg {
    max-width:80px;
  }
  .innerCartCol3 {
    width:20%;
    max-width:400px !important;
  }
  .innerCartCol4, .innerCartCol5, .innerCartCol6 {
    width:20%;
  }
  .innerCartCol7 {
    width:5%;
  }

}
  
@media only screen and (min-width: 1300px) {
  .deskMenuItem{
    font-size:1.2rem;
  }

  .prodList {
    display:grid;
    justify-items:center;
    grid-template-columns: repeat(auto-fill, minmax(215px, 1fr));
    gap: 1em;
    padding:1em;
  }
  
  .itemList{
    gap:2rem;
  }
      
  /* .prodBox {
    width:100%;
    max-width:280px;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    align-items:center;
    background:#fff;
    text-align:center;
    font-family:"PT Serif", "Times New Roman", Times, Serif;
    padding:1em;
    min-height:180px;
    border:1px solid #e5e5e5;
    border-radius:5px;

  } */

  .prodBox,.products-wrap .prodBox{
    width:100%;
  }
  
  .innerCartCol1, .innerCartCol2, .innerCartCol3, .innerCartCol4 {
    width:50%;
  }

  .cartThumbImg {
    max-width:150px;
  }
  .addressBox, #jqueryLookup, .checkoutBlock {
    background:#fff;
    width:100%;
  }

  /******* Cart media queries (large displays) ******/ 
  
  .innerCartCol1 {
    width:5%;
  }
  .innerCartCol2 {
    width:10%;
  }
  .innerCartCol2.cartThumbImg {
    max-width:80px;
  }
  .innerCartCol3 {
    width:30%;
    max-width:400px !important;
  }
  .innerCartCol4, .innerCartCol5, .innerCartCol6 {
    width:10%;
  }
  .innerCartCol7 {
    width:5%;
  }
  .lg-desk-hide {
    display:none;
    opacity:0;
    visibility:hidden;
    font-size:0;
  }
  .cust-hide {
    display:flex;
    opacity:1;
    visibility:visible;
    font-size:1rem;
  }
  .discoPercent {
    color:#2a600f;
    font-weight:bold;
    font-style:italic;
    font-size:1.1rem !important;
    margin:0;
    padding:0;
  }
  
}
  
/******Helper Styles (mobile only)********/
@media only screen and (max-width: 768px) {
   
  .mbl-hide{
    display:none !important;
    overflow:hidden;
    visibility: hidden;
    opacity:0;
  }
    
  
}
  
@media only screen and (max-width: 899px) and (min-width:767px) {
   
  .tab-hide{
    display:none !important;
    overflow:hidden;
    visibility: hidden;
    opacity:0;
  }
    
  
}

