/* ==========================================================================
   1. RESET & BASE STYLES
   ========================================================================== */

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  font-family: sans-serif;
  font-size: 1em;
  line-height: 2em;
  color: #000;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

img {
  max-width: 100%;
  height: auto;
  margin: auto;
  border-radius: 0.5em;
  object-fit: cover;
}

ul {
  padding-left: 2em;
}

ul.nobull,
ul.nobull li {
  list-style: none;
}

main {
  padding-bottom: 0.5em;
}

/* ==========================================================================
   2. TYPOGRAPHY & LINKS
   ========================================================================== */

.title,
h1, h2, h3, h4, h5,
strong,
label,
legend {  
  font-family: 'Inter', sans-serif;
  font-weight: 800;
}


h1{line-height: 2em;}

a:link,
a:visited {
  color: #00a5e7;
  text-decoration: none;
}

a:active,
a:hover {
  color: #07aef0;
}

a.nodec,
.nodec a {
  text-decoration: none;
}

.strike {
  text-decoration: line-through;
}

.centerAlign {
  text-align: center;
}

.right_align, 
.rightAlign {
  text-align: right;
}

/* ==========================================================================
   3. HEADER & TOP BAR
   ========================================================================== */

header {
  background: #000;
}

#topbar {
  background-color: #000a19;
  background-image: linear-gradient(to right,#000a19,#333, #005);
  display: flex;
  justify-content: space-between; 
  align-items: center;
  width: 100%;
  padding: 0.5em;
}

#toplinks {
  display: flex;
  align-items: center;
  gap: 0.5em;
}

#sitelogo {
  display: inline-flex;
  align-items: center; 
  background-color: #000a19;         
  color: #fff !important;         
  text-decoration: none; 
  line-height: 1;
  white-space: nowrap;
  padding: 0.5em;
  border-radius: 0.5em;
  overflow: hidden;
}

#sitelogo img {
  display: block; 
}

#myaccountlink {
  background-repeat: no-repeat;
  background-position: 2px !important;
  background-color: #333;
  color: #fff !important;
  border-radius: 0.5em;
}

#myaccountlink:before {
  content: "\1F464";
  background: #fff;
  border-radius: 0.25em;
  margin-right: 0.5em;
}

#logoutlink {
  background-image: url('/assets/images/logout.png');
  background-repeat: no-repeat;
  background-position: 2px !important;
  padding-left: 30px !important;
  background-color: #000;
  color: #fff !important;
  border-radius: 0.5em;
}

#shoppingBagSmall {
  text-decoration: none;
  color: #000 !important;         
  background-color: #8ff;         
  border-radius: 0.5rem;
  font-weight: 600;
  font-size: 0.9rem;
  display: inline-flex;
  align-items: center;
  line-height: 1;
  padding: 0.75rem 0.5em 0.75rem 44px;
  
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='21' r='1'/%3E%3Ccircle cx='20' cy='21' r='1'/%3E%3Cpath d='M1 1h4l2.68 13.39a2 2 0 0 0 2 1.61h9.72a2 2 0 0 0 2-1.61L23 6H6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: 12px center;
  background-size: 18px auto;
  margin-left: 0.5em;
  transition: background-color 0.25s ease;
}


#contactinfo {
  background-color: #eee;
  display: flex;
  align-items: right;
  justify-content: safe right;
  padding: 0.5rem;
  color: #fff;
  position: relative;
  overflow: hidden;
}

#contactinfo,
#contactinfo a:link,
#contactinfo a:visited {
  color: #000;
  text-decoration: none;
}

#contactinfo span {
  margin-right: 0.5em;
}

#contactinfo a {
  margin-left: 0.5em;
}

#banner {
  background: #222;
  display: none;
  padding: 0.5rem;
  color: #fff;
  position: relative;
  overflow: hidden;
}

/* ==========================================================================
   4. NAVIGATION (MAINNAV & trustmarks)
   ========================================================================== */

#mainnav {
  padding: 0.5rem 1rem;
  display: flex;
  list-style-type: none;
}

#mainnav a:link,
#mainnav a:visited {
  color: #fff;
}

.trustmarks {
  display: flex;
  justify-content: space-between;  
  align-items: center;        
  list-style: none;              
  padding: 10px 0;                    
  margin: 0;    
  background: #010d1e;
    background-image: linear-gradient(to right, #000a19, #333, #005);
  color: #fff;
  text-transform: uppercase;
  font-weight: bold;
  font-size: 1.1em; 
  width: 100%;       
  max-width: 100vw;  
  box-sizing: border-box;  
}

.trustmarks li {
  flex: 1;                        
  position: relative;   
  line-height: 34px;  
  white-space: nowrap;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}
.trustmarks li:before
{
  content: "";
  display: inline-block;    
  height: 34px;
  background-repeat: no-repeat;
  background-position: left;
  flex-shrink: 0;
  background-color: #010d1e;
  border-radius: 0.5em;
}

.trustmarks li.official_merch:before
{
  background-image: url("/assets/images/official-products.jpg");
  width: 30px; 
}
.trustmarks li.for_fans:before
{
  background-image: url("/assets/images/byfans.jpg");
   width: 39px; 
}

.trustmarks li.free_delivery:before
{
  background-image: url("/assets/images/fast-delivery.jpg");
  width: 35px; 
}
.trustmarks li.safe:before
{
  background-image: url("/assets/images/secure.jpg");
  width: 31px; 
}



#breadcrumbs {
  display: flex;
  align-items: center;
  justify-content: flex-start; 
  padding: 0.5rem 0;    
}

#breadcrumbs a {
  background: #eee;
  color: #000;
  margin-right: 0.5em;
  border-radius: 0.5em; 
  text-decoration: none;
  padding: 0.5rem 1rem; 
  display: inline-block;
}

#breadcrumbs a::after {
  content: " "; 
  display: inline-block;
  border-left: 6px solid #000;  
  border-top: 5px solid transparent; 
  border-bottom: 5px solid transparent;  
  height: 0;
  width: 0;
  margin-left: 0.5em;
}

/* Sitemap Module */
#sitemap {
  margin: 20px;
  padding-left: 0;
  list-style: none;
}

#sitemap ol {
  list-style: none;
  margin: 0;
  padding-left: 20px;
  display: none; /* Collapsed by default */
}

#sitemap li {
  margin: 4px 0;
  position: relative;
}

#sitemap li.parent > .toggle {
  cursor: pointer;
  display: inline-block;
  width: 14px;
  margin-right: 5px;
  color: #555;
  font-size: 12px;
  user-select: none;
}

#sitemap li.parent.expanded > .toggle {
  transform: rotate(90deg);
}

#sitemap li a {
  text-decoration: none;
  color: #2c3e50;
  padding: 2px 4px;
  border-radius: 3px;
  display: inline-block;
  transition: background 0.2s, color 0.2s;
}

#sitemap li a:hover {
  background: #f0f0f0;
  color: #000;
}

/* ==========================================================================
   5. SEARCH BAR & FLOATING RESULTS
   ========================================================================== */

#search {
  border-radius: 0.5em;
  overflow: hidden;
  background: #fff; 
}

#search input {
  padding: 1rem; 
  border: none;
}
 

#keywords {
  background: url('../images/search.png') no-repeat 5px transparent;
  padding-left: 35px !important;
}

#searchbutton{
  background: #fff!important; 
  color: #000;
}

#searchprods {
  background: #aaa;
  border-top: 1px solid #e0e0e0;
  border-bottom: 1px solid #e0e0e0;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);
  z-index: 99999;
  overflow: hidden;
  box-sizing: border-box;
}

#searchprods .prod-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  gap: 16px;
  padding: 16px;
  box-sizing: border-box;
}

#searchprods .prod-grid a {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  text-align: center;
  text-decoration: none;
  color: #333;
  padding: 12px;
  background: #fff;
  border: 1px solid #eee;
  border-radius: 8px;
  box-sizing: border-box;
}

#searchprods .prod-grid img {
  width: 100%;
  max-width: 120px;
  height: auto;
  aspect-ratio: 1 / 1;
  object-fit: contain;
  object-position: top;
  margin-bottom: 8px;
}

#searchprods .prod-grid span {
  font-size: 14px;
  font-weight: 500;
  line-height: 1.3;
  margin-top: auto;
}

#searchprods a.allresults {
  display: block;
  background: #000000;
  color: #ffffff;
  text-align: center;
  text-decoration: none;
  font-weight: bold;
  font-size: 14px;
  padding: 14px 0;
  border: none;
  width: 100%;
  box-sizing: border-box;
}

#searchprods a.allresults:hover {
  background: #222222;
}

/* ==========================================================================
   6. FORMS & INPUTS
   ========================================================================== */
form .form_footer{
  margin-bottom: 0.5em;
}

fieldset {
  border: none;
  padding: 0;
}

label {
  padding: 0.5em 0;
}

.element {
  display: flex; 
  flex-direction: column;
  padding-bottom: 1em;
}

.horizontal_form,
.vertical_form {
  border-radius: 0.5em;
  overflow: hidden;
  padding: 0 !important;
}

.horizontal_form .elements,
.vertical_form .elements {
  background: #efefef;
  padding: 0.5em;
  border-top-left-radius: 0.5em;
  border-top-right-radius: 0.5em;
}

.horizontal_form .elements {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 0.5em;
}

.horizontal_form .elements .element {
  box-sizing: border-box;
}

.horizontal_form .elements .element label {
  display: block;
}

.vertical_form .element {
  padding: 0 0.5em 0 0.1em;
}

.postcodelookup_element button,
.vertical_form .elements textarea,
.horizontal_form .element input[type=text],
.horizontal_form .element input[type=email],
.horizontal_form .element input[type=password],
.horizontal_form .element input[type=number],
.horizontal_form .element select,
.horizontal_form input[type="date"],
.vertical_form .element input[type=text],
.vertical_form .element input[type=email],
.vertical_form .element input[type=password],
.vertical_form .element input[type=number],
.vertical_form .element select,
.vertical_form .element input[type=date] {
  display: block;
  padding: 0.5em;
  appearance: none;
  border: 1px solid #aaa;
  border-radius: 0.5em;
  box-shadow: 0 0 40px #aaa5;
}

.vertical_form .element select {
  width: 100% !important;
}



  input[type='checkbox']:checked {
  background: #222;
}

  input[type='checkbox']:checked:before {
  content: '\2713';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 1.5em;
  color: #fff;
  pointer-events: none;
}

.vertical_form .checkbox_element {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  width: 100% !important;
    padding-top: 0.5em!important;
    gap: 0.5em;
}

.vertical_form  .checkbox_element input[type="checkbox"] {
  display: inline-block !important;
  
  float: none !important;      /* Kills floats */
 
  margin: 0 8px 0 0 !important;
  flex-shrink: 0 !important;   /* Prevents checkbox from squishing */

}

.vertical_form  .checkbox_element label {
  display: inline-block !important;
  position: static !important;
  float: none !important;
  width: auto !important;      /* Kills 100% width forced by Bootstrap/frameworks */
  margin: 0 !important;
  padding: 0 !important;
}

 input[type="checkbox"] {
  background: #fff;
  appearance: none;
  border: 1px solid #aaa;
  border-radius: 0.5em;
  width: 2.2em;
  height: 2.2em;
  cursor: pointer;
  position: relative;
}


.dateRange input {
  display: inline-block !important;
  width: 46% !important;
}

.postcodelookup_element input[type=text] {
  float: left;
  width: 60% !important;
  border-top-right-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
}

.postcodelookup_element button {
  float: left;
  width: 37% !important;
  border-top-left-radius: 0 !important;
  border-bottom-left-radius: 0 !important;
  background: #222;
  color: #fff;
  border: none;
}

/* Form Validation & Errors */
.invalid {
  background: #fee;
}

.invalid input[type=text],
.invalid input[type=email],
.invalid input[type=password],
.invalid select {
  border: 1px solid #f00 !important;
}

form .user_errors {
  border: 1px solid #f00;
  border-radius: 0.5em;
  overflow: hidden;
  margin-bottom: 0.5em;
}

form .user_errors .title {
  font-size: 1em;
  background: #eee;
  margin: 0;
  padding: 0.5em;
  color: #000;
}

.explaination {
  clear: both;
}




.pwrapper {
    display: flex;
    align-items: center;
    gap: 10px;
}


.pwrapper input[type=text],
.pwrapper input[type=password]
{
  width: 100%;
}

.togglePassword{background: #999; color: #fff; border: none;
padding: 0.5em 1%;
    appearance: none;
    border: 1px solid transparent;
    border-radius: 0.5em;
    box-shadow: 0 0 40px #aaa5; min-width: 100px
  }


/* Form Buttons */
.submit_element input,
.submit_element button
 {
  border: none;
}

.vertical_form .submit_element button,
.vertical_form .submit_element input {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}



.horizontal_form .submit_element {
  background: #ddd;
  text-align: right;
}

.horizontal_form .submit_element button {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

.submit_element .reset {
  background: #ddd;
  border-bottom-left-radius: 0.5em;
}

.hasreset .submit {
  border-bottom-left-radius: 0 !important;
}

form .submit_element .submit { 
  border-top-left-radius: 0 !important;
  border-top-right-radius: 0 !important; 
}




.submit_element,
.buttoncontainer,
.linkbuttons {
  display: grid;
  gap: 0.5em;  
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  margin-top: 0.5em;
  margin-bottom: 0.5em;
}

.submit_element {
  margin-top: 0 !important;
  border-bottom-left-radius: 0.5em;
  border-bottom-right-radius: 0.5em;
}

.submit,
.simple_button,
.buttoncontainer a,
.linkbuttons a {
  padding: 1em;
  background-color: #ddd;
  color: #000;
  white-space: nowrap;
  border-radius: 0.5em; 
  text-align: center; 
  text-overflow: ellipsis; 
  overflow: hidden;
  transition: all 0.3s ease, color 0.3s ease;
  text-decoration: none;
  font-size: 1em;
  border: none;
}
.linkbuttons a
{
    text-align: left; 
}

.submit
{
  background: #000;
  color: #fff;
}

.linkbuttons a:hover,
.linkbuttons a:focus {
  background: #999; 
  color: #000; 
  outline: none; 
}

.button_container {
  line-height: 4em;
}

.textbutton {
  display: flex;
  align-items: center;
  gap: 0;
  max-width: 100%; 
}

.textbutton input[type=text] {
  flex: 1;
  border-top-right-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
  padding: 0.5em;
  box-sizing: border-box;
}

.textbutton button {
  border: none;
  background: #04f;
  color: #fff;
  border-radius: 0.5em;
  white-space: nowrap;
  padding: 0.5em;
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
  width: 10em;
  box-sizing: border-box;
  cursor: pointer;
}

#checkoutbutton {
  background: #8ff !important; 
  color: #000 !important;
}

/* ==========================================================================
   7. LAYOUTS, GRIDS & COMPONENTS
   ========================================================================== */

.wrapper {
  padding: 0.5rem 1rem;
}

.nicebox {
  border: 10px solid #eee;
  border-radius: 0.5em;
  padding: 0.5em;
  margin-bottom: 0.5em;
}

.maxWidth {
  width: 100%;
}

/* Flex Grid System */
.col {
  flex: 1;
}

.leftcol,
.rightcol {
  flex: 1;  
}

.fiftyfifty {
  display: flex;
  gap: 0.5em;
  justify-content: space-between;
}

.fiftyfifty .left,
.fiftyfifty .right,
.fiftyfifty .col {
  flex: 1 1 50%;
  box-sizing: border-box;
}

.threecol {
  display: flex;
  flex-wrap: wrap;
}

.threecol .left,
.threecol .middle,
.threecol .right {
  flex: 1 1 33.333%;
  box-sizing: border-box;
}

.threeCol {
  display: flex;
  flex-wrap: wrap;
}

.threeCol .col {
  flex: 0 0 33%;
}

.threeCol .col img {
  margin: auto;
  display: block;
}

.wideCol {
  display: flex;
  flex-wrap: wrap;
}

.wideCol > .wideside {
  flex: 0 0 65%;
  margin-right: 2%;
}

.wideCol > .col {
  flex: 0 0 33%;
}

#subpages.threecol {
  display: flex;
  flex-wrap: wrap;
  gap: 2%;
}

#subpages.threecol a {
  flex: 0 0 23%;
}

#subpages.twocol {
  display: flex;
  flex-wrap: wrap;
}

#subpages.twocol a {
  flex: 0 0 50%;
  padding-bottom: 25%;
  height: 0;
}

#subpages a img {
  width: 100%;
  height: auto;
  display: block;
  background: #fff;
}

/* Product Cards & Display */
.product_grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(347px, 1fr));
  gap: 20px;
  margin: 0;
  margin-top: 20px;
}

.product_grid a.product {
  display: block;
  background: #fff;
  border: 10px solid #eee;
  border-radius: 0.5em;
  overflow: hidden;
  text-align: center;
  text-decoration: none;
  color: inherit;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  position: relative;
}

.product_grid a.product img {
  max-width: 100%;
  height: auto;
  display: block;
}

.product_grid a.product em,
.product_grid a.product span {
  display: block;
  padding: 10px; 
  font-style: normal;
}

.product .price {
  font-weight: bold;
  color: #f24;
  font-size: 1.5em;
}

.product .flag {
  position: absolute;
  right: 0.5em;
  top: 20px;
  transform: rotate(-22deg);
  font-size: 0.8em !important;
  background: #f24;
  color: #fff;
  padding: 0.25em !important;
}

#department .icons a {
  display: block;
  background: #fff;
  border: 10px solid #eee;
  border-radius: 0.5em;
  overflow: hidden;
  text-align: center;
  text-decoration: none;
  color: inherit;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  position: relative;
}

/* Tables */
td, th {
  text-align: left; 
  vertical-align: top;
}

.neattable {
  width: 100%;
  border-radius: 0.5em;
  overflow: hidden;
  box-shadow: 0 0 0 1px #222;
  border-collapse: collapse;
  margin-bottom: 10px;
}

.neattable th, 
.neattable td {
  text-align: left;
  border: 1px ridge #191A25;
  padding-left: 5px;
  padding-right: 5px;
}

.neattable th {
  background: #111;
  color: #fff;
  font-weight: normal;
}

/* Alerts */
.alert_message {
  border: 1px solid #ccc;
  border-left: 4px solid;
  padding: 10px 15px;
  margin: 10px 0;
  position: relative;
  border-radius: 6px;
}

.alert_message.ok {
  border-left-color: #4caf50;
  background-color: #e8f5e9;
  color: #2e7d32;
}

.alert_message.error {
  border-left-color: #f44336;
  background-color: #ffebee;
  color: #c62828;
}

.alert_message .close {
  position: absolute;
  top: 8px;
  right: 10px;
  text-decoration: none;
  color: inherit;
  font-weight: bold;
}

.alert_message .close:hover {
  text-decoration: underline;
}

/* Footer */
footer {
  background: #e8e8e8;
  display: flex;
  flex-wrap: wrap;
}



footer .col {
  flex: 0 0 33.3333%; 
  box-sizing: border-box;
  text-align: center;
  padding:1.5em;
}

footer .col:before {
content: " ";
display: inline-block;
background-color: #111;
width: 60px;
height: 60px;
border-radius: 0.5em;
background-position: center;
background-repeat: no-repeat;
}

footer .phone_icon:before {
  background-image: url("/assets/images/phone.png");
}
footer .location_icon:before {
  background-image: url("/assets/images/location.png");
}

footer .email_icon:before {
  background-image: url("/assets/images/email.png");
}


footer .col img {
  display: inline-block;
  background: #111;
  padding: 0.5em;
  border-radius: 0.5em;
  margin-bottom: 1em;
  width: auto;
  height: auto;
}

footer a {
  color: #000 !important; 
  text-decoration: none; 
  display: block;
}

#copyinfo {
  text-align: center;
}

/* ==========================================================================
   8. MEDIA QUERIES (RESPONSIVE STYLES)
   ========================================================================== */

/* Mobile / Small Screens (< 700px) */
@media (max-width: 700px) {
  footer {
    flex-direction: column;
  }

  footer .col {
    flex: 0 0 100% !important;
  }
}

/* Mobile & Tablet (< 768px) */
@media (max-width: 768px) {
  h1 {
    text-align: center;
  }
 

  .fiftyfifty {
    flex-direction: column; 
    gap: 2em;
  }

  .fiftyfifty .left,
  .fiftyfifty .right,
  .fiftyfifty .col {
    flex: 1 1 auto;  
    text-align: center;
  }

  .fiftyfifty .left,
  .fiftyfifty .right,
  .threecol .left,
  .threecol .middle,
  .threecol .right {
    flex: 1 1 100%;
  }

  .fiftyfifty .simple_button {
    display: block;
  }
}

/* Mobile Navigation Breakpoint (< 850px) */
@media screen and (max-width: 850px) {



  .trustmarks {
    flex-direction: column !important;
    align-items: stretch !important; 
    padding-left: 15px;
    padding-right: 15px;
  }

  .trustmarks li {
    width: 100%;
    text-align: center; 
    border-bottom: 1px solid rgba(255, 255, 255, 0.1); 
    padding: 8px 0;
    text-overflow: ellipsis;
    overflow: hidden;
  }

  .trustmarks li:last-child {
    border-bottom: none;
  }
}

/* Tablet & Smaller Screens (< 1100px) */
@media only screen and (max-width: 1100px) {  


  header {
    display: flex;
    flex-direction: column;
    position: relative !important;
    padding-top: 0 !important;
  }

  #topbar {
    flex-direction: column; 
    gap: 0;
    padding: 0.5em;
  }
 
  #myaccountlink {
    border-radius: 0;
    border-bottom-left-radius: 0.5em;
    border-bottom-right-radius: 0.5em;
  }

  #sitelogo {
    display: flex;
    flex-direction: column;   
    align-items: flex-start;  
    width: 100%;
    border-radius: 0 !important;
    margin: 0 !important;
  }

  #breadcrumbs {
    flex-direction: column; 
    gap: 0.5em;
  }

  #breadcrumbs a {
    width: 100%;

    text-align: center;
  
  }

  #menutoggle {
    display: flex;
    background: #666;
    color: #fff;
    text-decoration: none;
    padding: 0.5em; 
    width: 100%;
    position: relative;
    align-items: center;
    border-radius: 0.5em;
    margin-bottom: 1px;
  }
  
  #menutoggle.active {
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
  }

  #mainnav .has-submenu:after,
  #menutoggle:after {
    content: "+"; 
    padding: 0.25em 1em; 
    color: #fff; 
    background: #000; 
    border-radius: 0.5em; 
    margin-left: 0.5em; 
    position: absolute; 
    right: 0.5em; 
    width: 1em; 
    text-align: center;
  }

  #menutoggle:after {
    content: "\2630";
  }

  #mainnav .has-submenu.active:after,
  #menutoggle.active:after {
    content: "-";
  }

  #mainnav {
    display: none;
  }

  #mainnav.active {
    display: flex; 
    width: 100%; 
    flex-direction: column; 
    gap: 1px;   
    padding: 0;
  }

  #mainnav a {
    display: flex; 
    width: 100%; 
    position: relative;
    align-items: center; 
    background-color: #666; 
    color: #fff;
    padding: 0.5em;
  }

  #mainnav li ul {
    display: none; 
    padding: 0;
  }

  #mainnav li ul.active {
    display: inline;
  } 
  
  #search{
    margin-top: 0.5em;
  }
}

/* Medium Desktop Screens (< 1400px) */
@media only screen and (max-width: 1400px) {
  .wideCol,
  .threeCol {
    flex-direction: column;
  }

  .wideCol > .col,
  .wideCol > .wideside,
  .threeCol .col {
    flex: 0 0 100% !important;
    margin-right: 0;
  }
}

/* Large Screens (< 1800px) */
@media only screen and (max-width: 1800px) {
  #topbar {
    flex-direction: column;
  }

  #toplinks {
    flex-direction: column;
    margin-top: 5px;
  }

  #searchprods .prod-grid a
  {
    padding: 0 !important;
  }
  #searchprods .prod-grid img
  {
    max-height: 75px;
  }

#shoppingBagSmall{margin-top: 0.5em!important}


}

@media only screen and (min-width: 1800px) 
{

  header{
    padding-top: 83px; 
  }
  #topbar {        
    transition: all 0.5s ease-in; 
    top: 0;
    position: fixed; 
    z-index: 300; 
        
  }
  
  #topbar.show {
    opacity: 1;

  }

  #topbar.hide {
    top: -10em;  
    opacity: 0;
  } 

  #topbar.hide {
    top: -10em;  
    opacity: 0;
  } 
}

/* Large Desktop Navigation (>= 1100px) */
@media only screen and (min-width: 1100px) {


 

  #banner {
    display: none;
    background-size: auto, cover !important;
  }



  #mainnav {
    z-index: 22;
  }

  #mainnav, 
  #mainnav ul {
    margin: 0;
    padding: 0;
    list-style-type: none;
    list-style-position: outside;
    position: relative;
    line-height: 2em;
    transition: all 1s ease-in-out;
  }

  #mainnav ul,
  #mainnav li {
    transition: all 1s ease-in-out;
  }

  #mainnav a {
    display: block;
    padding: 0 0.5em;
    text-decoration: none;
  }

  #mainnav > li > a { 
    padding: 0.5em;
  }

  #mainnav > li > ul {
    top: 25px; 
    left: 10px;
  }

  #mainnav > li > ul:before {
    content: ""; 
    border-bottom: 20px solid #000; 
    border-left: 20px solid transparent; 
    border-right: 20px solid transparent;
  }

  #mainnav li {
    float: left;
    position: relative;
    margin: 0;
    padding: 0;
  }

  #mainnav ul {
    position: absolute;
    width: 17em;
    top: 2em;
    display: none;
  }

  #mainnav ul a {
    background: #000;
  }

  #mainnav li ul a {
    width: 20em;
    float: left;
    background: #000000ee;
    color: #fff;    
  }

  #mainnav ul ul {
    top: auto;
  }

  #mainnav li ul ul {
    left: 20em;
  }

  /* Opera Fallback Hack */
  noindex:-o-prefocus, 
  #mainnav li ul ul {
    left: 15.5em;
  }

  #mainnav li:hover > ul {
    display: block;
  }

  #mainnav li li:hover > a {
    background: #8df4ffee;
    color: #000;
  }

  #mainnav img {
    border: none;
  }

  #navbar li ul a {
    background: #000;
    color: #fff;    
  }

  .breakOneShow,  
  #mainnavButton,
  #menutoggle {
    display: none;
  }

  #mainnav #sale:link,
  #mainnav #sale:visited {
    color: #e60;
  }

  #mainnav .homeButton:link,
  #mainnav .homeButton:visited,
  #mainnav .homeButton:hover,
  #mainnav .homeButton:active {
    background: url('../images/home-icon.png') no-repeat 4px center;
    padding-left: 25px;
    color: #fff;
  }

  #mainnav > li > a.has-submenu {
    position: relative;
    padding-right: 2em;
  }

  #mainnav > li > a.has-submenu:after { 
    top: 1em;
    right: 0.5em;
    content: " ";
    height: 0px;
    position: absolute;
    width: 0px;
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    border-top: 7px solid #fff;
  }

  #mainnav li li a.has-submenu {
    position: relative; 
  }

  #mainnav li li a.has-submenu:after {
    position: absolute;
    right: 3px;
    top: 14px;
    content: " ";
    height: 0;
    width: 0;
    border-top: 6px solid transparent;
    border-bottom: 6px solid transparent;
    border-left: 7px solid #fff;
  }
}