:root {
  /*** Global ***/
  --theme-primary: #002856 ;
  --theme-secondary: #e7f5fa;
  --theme-tertiary: #e15413;
  --theme-text: #3a3a3a;
  --theme-lightgrey: #f2f2f2;

  /* Top Bar */
  --topbar-bg: #002856;
  --topbar-icons: #b4d44e;
  --topbar-text: #ffffff;
  --topbar-hover: #317cc5;
  
  /* Main Header */
  --header-bg: #ffffff ;
  --header-icons: var(--theme-primary);
  --header-text: var(--theme-text) ;
  --header-hover: #317cc5;
  
  /* Header Search Bar */
  --search-bg: var(--theme-lightgrey);
  --search-icons: var(--theme-primary);
  --search-text: var(--theme-text);
  --search-focus: #317cc5;
  
  /* Main Navigation */
  --nav-bg: #002856;
  --nav-border: #dfdfdf;
  --nav-icons: var(--theme-primary);
  --nav-text: #ffffff ;
  --nav-hover: #317cc5;
  
  /* USP Strip */
  --strip-bg: #ffffff;
  --strip-icons: var(--theme-primary);
  --strip-text: var(--theme-text);
  --strip-hover: #317cc5;
  
  /* Footer */
  --footer-bg: #002856;
  --footer-icons: #124734;
  --footer-text: #ffffff;
  --footer-hover: var(--theme-tertiary);
  
  /* Footer Newsletter Input */
  --footnews-bg: #fff;
  --footnews-icons: var(--theme-primary);
  --footnews-text: var(--theme-text);
  --footnews-focus: var(--theme-primary);
  
  /* Footer Social Icons */
  --footsocial-bg: #124734;
  --footsocial-icons: #fff;
  --footsocial-bg-hover: #b4d44e;
  --footsocial-icons-hover: #fff;
  
  /* Title Underline Colour */
  --title-underline: var(--theme-primary);
  
  /* Simple / Link Boxes */
  --linkbox-bg: var(--theme-primary);
  --linkbox-text: #fff;
  --linkbox-hover-bg: #124734;
  --linkbox-hover-text: #fff;
}

/* ================================
   GALLERY CONTENT
   ================================ */
.gallerycontent p {
  display: flex;
  flex-wrap: wrap;
}
.gallerycontent p img {
  float: left;
  margin: 0.25vw;
  max-width: 22vw;
  max-height: 22vw;
  min-width: 180px;
  min-height: 180px;
  object-fit: cover;
  transition: 0.2s;
}
.gallerycontent p img:hover,
.gallerycontent p img:focus {
  position: relative;
  max-width: 22.5vw;
  max-height: 22.5vw;
  margin: 0vw;
}

/* ================================
   GALLERY MENU
   ================================ */
.gallery-container {
  background-color: #002856;
  margin: 10px;
  padding: 10px;
}
.gallery {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  float: left;
  padding: 0.6%;
}
.gallery a {
  font-size: 1.2em;
}
.active.gallery a:link,
.active.gallery a:visited {
  color: #aaaaaa;
}

/* ================================
   BRANCH BANNER SELECTOR
   ================================ */
.current-branch-banner .container a {
  font-weight: bold;
  color: white;
}
.current-branch-banner {
  background: #8a0000;
  font-size: 14px;
  padding: 9px 0;
}
.current-branch-banner .container {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0px;
  height: 20px;
}

/* ================================
   GALLERY LIGHTBOX
   ================================ */
.lightbox-container {
  display: none;
  position: fixed;
  z-index: 1;
  padding-top: 4vh;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  background-color: rgba(0, 0, 0, 0.6);
}
.lightbox-slide {
  margin: auto;
  object-fit: contain;
  max-width: 90vw;
  max-height: 90vh;
  width: 100%;
  height: 100%;
  min-width: 32vw;
  min-height: 32vh;
}

/* ================================
   MENU
   ================================ */
.masonry {
  font-size: 16px;
}

/* ================================
   HOME PAGE BANNER
   ================================ */
.homepagebanner {
  background: #002856;
  padding-top: 20px;
  padding-bottom: 10px;
  margin-top: -2px;
  color: #ffffff;
}

/* ================================
   IMAGES
   ================================ */
.zoom-in-image {
  transition: transform 0.3s ease;
}
.zoom-in-image:hover {
  transform: scale(1.2);
  cursor: pointer;
}

/* ================================
   RECENTLY VIEWED BOX
   ================================ */
.recently-viewed {
  width: 275px;
}
.unclickable {
  pointer-events: none;
  cursor: default;
}
.hidden {
  display: none;
}

/* ================================
   STICKY HEADER
   ================================ */
@media only screen and (min-height: 768px) {
  .menubarStick {
    position: fixed !important;
    top: 0;
    width: 100%;
    z-index: 15;
    background: #fff;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
    transition: top 0.3s ease-in-out, background-color 0.3s ease-in-out;
  }
  .headersection-3.menubarStick > .row-2 {
    max-width: 1450px;
    margin: 0 auto;
  }
  .menubarHeader {
    padding-top: 40px;
    transition: padding 0.3s ease-in-out;
  }
}

/* ================================
   HEADER MENU DROPDOWN
   ================================ */
.verticalmenu {
  display: flex;
  align-items: center;
}
.additional_links {
  list-style: none;
  display: flex;
  align-items: stretch;
  width: 100%;
  flex-grow: 1;
  flex-wrap: wrap;
  margin-left: 40px;
}
.additional_links > li.has-submenu { position: relative; }
.additional_links > li.has-submenu > a {
  padding-right: 30px;
  position: relative;
}
.additional_links > li.has-submenu > a::after {
  content: "\f107";
  font-family: FontAwesome;
  color: #fff;
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
}
.additional_links > li > a {
  color: #fff;
  padding: 7px 1em;
  display: inline-block;
  user-select: none;
}
.additional_links > li > a:hover,
.additional_links > li > a:focus-visible { background-color: #317cc5; }
.additional_links > li > .submenu {
  width: auto;
  min-height: auto;
  overflow: hidden;
  position: absolute;
  top: 100%;
  left: 0 !important;
  z-index: 100;
  background: #fff;
  margin-bottom: 0;
  list-style: none;
  display: none;
  padding: 20px 40px;
  gap: 20px;
  box-shadow: 5px 5px 27px rgba(0, 0, 0, 0.2);
}
.additional_links > li > .submenu > li {
  margin: 0;
  border-bottom: solid 1px #f2f2f2;
  padding-bottom: 5px !important;
}
.additional_links > li > .submenu a { color: #071928; }
.additional_links > li > .submenu a:hover,
.additional_links > li > .submenu a:focus-visible { text-decoration: underline; }
.additional_links > li > .submenu > .has-submenu { min-width: 200px; }
.additional_links > li > .submenu > .has-submenu > a { font-weight: 700; }
.additional_links > li > .submenu .submenu {
  list-style: none;
  padding-left: 0;
  flex-direction: column;
}
.additional_links > li.active::after {
  content: "";
  width: 0;
  height: 0;
  border-left: 10px solid transparent;
  border-right: 10px solid transparent;
  border-bottom: 10px solid #fff;
  position: absolute;
  transform: translateY(27px);
  right: 0;
}
.additional_links > li.active .submenu {
  display: flex;
  flex-direction: column;
}
@media only screen and (max-width: 1200px) {
  .additional_links > li .submenu .nLeft {
    grid-gap: 5px;
  }
}
.additional_links li:nth-of-type(8) {
  border-radius: 12px;
  background-color: #317cc5;
}
.additional_links {
  padding: 10px 15px;
}

/* ================================
   BACKGROUND IMAGE
   ================================ */
.hero-image {
  background-image: url("https://us.evocdn.io/dealer/1325/content/media/My_Banners/sub/Untitled%20design.png");
  background-attachment: fixed;
  background-repeat: no-repeat;
  background-size: cover;
}

/* ================================
   PRODUCT KNOWLEDGE
   ================================ */
.product-knowledge {
  color: white;
  background-color: #002652;
  padding-top: 20px;
  padding-bottom: 10px;
  margin-top: -2px;
}

/* ================================
   VENDOR CAROUSEL
   ================================ */
vendor-1 .ms-container {
  max-width: 25%;
  margin: 10px auto;
}

/* ================================
   HERO BANNER - Full Width & Clean
   ================================ */
.full-width-banner img {
  width: 100% !important;
  max-width: 100% !important;
}
.full-width-banner {
  padding: 0 !important;
  margin: 0 !important;
}
.hero-row {
  padding: 0 !important;
  margin: 0 !important;
}
.hero-banner-main .banner_title {
  font-size: 42px !important;
  font-weight: 600 !important;
  text-align: left !important;
  padding-left: 48px !important;
  width: 100% !important;
}
.hero-banner-main .banner_subtitle {
  text-align: left !important;
  padding-left: 48px !important;
  max-width: 500px !important;
  font-size: 15px !important;
  display: block !important;
}
.hero-banner-main .banner_button {
  margin-left: 48px !important;
  background-color: #880006 !important;
  border-color: #880006 !important;
  color: #fff !important;
}
.hero-banner-main .banner_content {
  justify-content: center !important;
  align-items: flex-start !important;
  text-align: left !important;
  padding-top: 260px !important;
  padding-left: 0 !important;
  min-height: 400px !important;
}
.zonetop {
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}
.singlebanner_container {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* ================================
   PRODUCT & CATEGORY GRIDS
   ================================ */
.productlist_container .product-list {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 16px !important;
}
.featured-products .items-list {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 16px !important;
}
.featured-products .item {
  width: 100% !important;
  float: none !important;
}
.category-grid a {
  transition: transform 0.25s ease, box-shadow 0.25s ease !important;
  display: block !important;
  overflow: hidden !important;
}
.category-grid a:hover {
  transform: scale(1.04) !important;
  box-shadow: 0 10px 30px rgba(0,0,0,0.3) !important;
  z-index: 10 !important;
  position: relative !important;
}
.category-grid a:hover img {
  transform: scale(1.05) !important;
  transition: transform 0.35s ease !important;
}

/* ================================
   MOBILE
   ================================ */
@media only screen and (max-width: 768px) {

  /* Mobile hero image swap */
  .singlebanner_wrapper .deskimg { display: none !important; }
  .singlebanner_wrapper .mobileimg { display: block !important; }

  /* Hero banner */
  .hero-banner-main {
    min-height: unset !important;
    padding-bottom: 0 !important;
  }
  .hero-banner-main .banner_content {
    padding-top: 20px !important;
    min-height: unset !important;
  }
  .hero-banner-main .banner_title {
    font-size: 22px !important;
    padding-left: 16px !important;
  }
  .hero-banner-main .banner_subtitle {
    font-size: 12px !important;
    padding-left: 16px !important;
    max-width: 100% !important;
  }
  .hero-banner-main .banner_button {
    margin-left: 16px !important;
    font-size: 12px !important;
    padding: 8px 18px !important;
  }

/* Branch bar */
  .branch-bar {
    padding: 7px 12px !important;
    justify-content: center !important;
  }
  .branch-label { display: none !important; }
  .branch-links {
    flex-wrap: nowrap !important;
    justify-content: center !important;
    gap: 10px !important;
  }
  .branch-links a {
    font-size: 11px !important;
    white-space: nowrap !important;
  }

  /* Grids */
  .category-grid > div {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 2px !important;
  }
  .featured-products .items-list {
    grid-template-columns: repeat(2, 1fr) !important;
  }

}