/* Hide Zoho cookie floating icon and button */
[class*="cookie"][class*="float"],
[class*="cookie"][class*="icon"],
[id*="cookie"][id*="float"],
[id*="cookie"][id*="icon"],
button[aria-label*="cookie"],
a[aria-label*="cookie"],
img[alt*="cookie"],
img[src*="cookie"]{
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
}

/* Light box icons */
[class*="lightbox__cont"] svg,
[class*="lightbox__close"] svg,
[class*="lightbox__nav"] svg {
  fill: #cdcccd !important;
  stroke: #cdcccd !important;
}

/* global header and menu cleanup */
.zpheader,
[class*="zpheader"],
header,
nav,
.theme-header,
.theme-mobile-header-fixed,
.theme-menu,
.theme-main-menu,
.theme-sub-menu,
.theme-nav {
  box-shadow: none !important;
  border: none !important;
  filter: none !important;
  background-image: none !important;
}

/* dropdown and submenu cleanup */
.theme-sub-menu,
.theme-menu ul ul,
nav ul ul {
  box-shadow: none !important;
  border: none !important;
  background-image: none !important;
}

/* remove divider lines between menu items only */
.theme-menu li,
.theme-nav li,
nav li {
  border-bottom: none !important;
  box-shadow: none !important;
}

/* remove dividers ONLY inside menus */
.theme-menu hr,
.theme-nav hr,
.theme-sub-menu hr,
.theme-menu [class*="divider"],
.theme-nav [class*="divider"],
.theme-sub-menu [class*="divider"] {
  display: none !important;
  border: none !important;
  height: 0 !important;
}

/* mobile menu panel fix */
.theme-mobile-menu,
.theme-menu-mobile,
.theme-nav-mobile,
[class*="mobile"][class*="menu"],
[class*="menu"][class*="mobile"],
[class*="nav"][class*="mobile"] {
  box-shadow: none !important;
  border: none !important;
  background-image: none !important;
  height: 100vh !important;
  max-height: 100vh !important;
}

/* ensure menu overlay sits above page content */
.theme-mobile-menu,
.theme-menu-mobile,
.theme-nav-mobile {
  position: fixed !important;
  top: 0 !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
}

/* desktop submenu dropdown fix scoped to header only */
.theme-header .theme-sub-menu,
.theme-header .theme-menu ul ul,
.theme-header nav ul ul,
header .theme-sub-menu,
header .theme-menu ul ul,
header nav ul ul {
  box-shadow: none !important;
  border: none !important;
  background: #ffffff !important;
  background-image: none !important;
}

/* remove shadow applied via pseudo elements on desktop submenu only */
.theme-header .theme-sub-menu:before,
.theme-header .theme-sub-menu:after,
header .theme-sub-menu:before,
header .theme-sub-menu:after,
.theme-header .theme-menu ul ul:before,
.theme-header .theme-menu ul ul:after,
header .theme-menu ul ul:before,
header .theme-menu ul ul:after,
.theme-header nav ul ul:before,
.theme-header nav ul ul:after,
header nav ul ul:before,
header nav ul ul:after {
  box-shadow: none !important;
  border: none !important;
  content: none !important;
}

/* some themes apply shadow to inner wrapper */
.theme-header .theme-sub-menu > *,
.theme-header .theme-menu ul ul > *,
.theme-header nav ul ul > *,
header .theme-sub-menu > *,
header .theme-menu ul ul > *,
header nav ul ul > * {
  box-shadow: none !important;
  border: none !important;
}

/* injected favicon link positioning */
#ep8HeaderFaviconLink {
  position: absolute !important;
  left: 16px;
  top: 6px;
  bottom: 6px;
  width: auto;
  aspect-ratio: 1 / 1;
  z-index: 9999;

  opacity: 1 !important;
  clip-path: inset(0 0 0 0) !important;
  transform: translateY(0) !important;
  transition: clip-path 260ms ease, opacity 260ms ease !important;
}

#ep8HeaderFaviconLink img {
  height: 100%;
  width: auto;
  display: block;

  transform: scale(1.1);
  transform-origin: center;
}

.theme-header,
.zpheader,
header {
  position: relative !important;
  padding-left: 64px !important;
}

/* home page only hide until scroll, also used to prevent initial flash */
html.ep8HomeLogoHide #ep8HeaderFaviconLink {
  opacity: 0 !important;
  clip-path: inset(0 0 100% 0) !important;
  pointer-events: none !important;
}

html.ep8LogoVisible #ep8HeaderFaviconLink {
  opacity: 1 !important;
  clip-path: inset(0 0 0 0) !important;
  pointer-events: auto !important;
}

/* tablet header bar stays visible while scrolling */
@media (min-width: 769px) and (max-width: 1024px){
  .theme-mobile-header-fixed,
  .theme-header,
  .zpheader,
  header{
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    z-index: 9998 !important;
  }

  html.ep8TabletPadOn body{
    padding-top: var(--ep8HeaderPad, 72px) !important;
  }
}

/* desktop website view: make header bar stay visible on non home pages */
@media (min-width: 1025px){
  html.ep8DesktopSticky .theme-header,
  html.ep8DesktopSticky .zpheader,
  html.ep8DesktopSticky header{
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    z-index: 9998 !important;
  }

  html.ep8DesktopPadOn body{
    padding-top: var(--ep8HeaderPadDesktop, 88px) !important;
  }
}

/* desktop dropdown shape fix */
@media (min-width: 1025px){
  .theme-sub-menu,
  .theme-menu ul ul,
  nav ul ul{
    overflow: hidden !important;
    background: #ffffff !important;
  }

  .theme-sub-menu:before,
  .theme-sub-menu:after,
  .theme-menu ul ul:before,
  .theme-menu ul ul:after,
  nav ul ul:before,
  nav ul ul:after{
    content: none !important;
    display: none !important;
    box-shadow: none !important;
    border: none !important;
  }
}

/* menu UI updates for mobile and tablet only */
@media (max-width: 1024px){
  .theme-navigation-and-icons .theme-menu-area .theme-menu ul li a{
    font-size: 18pt !important;
  }

  .theme-header-fixed .theme-header.zpdark-header-portion .theme-navigation-and-icons .theme-menu-area .theme-menu > ul > li ul li a {
    color: #82828a !important;
  }

  .theme-responsive-menu-area.theme-navigation-and-icons .theme-menu-area .theme-menu.theme-toggle-animate {
    height: 100vh !important;
    max-height: 100vh !important;
  }

  /* add two line space before first menu item */
  .theme-responsive-menu-area .theme-menu > ul,
  .theme-menu.theme-toggle-animate > ul,
  .theme-menu-area .theme-menu.theme-toggle-animate > ul{
    padding-top: 2.4em !important;
    padding-bottom: 4.2em !important;
  }

  /* contact line fixed to bottom of mobile or tablet menu */
  #ep8MenuContact {
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    bottom: calc(14px + env(safe-area-inset-bottom, 0px)) !important;
    text-align: center !important;
    font-size: 1em !important;
    line-height: 1.55 !important;
    color: #373c40 !important;
    padding: 0 16px !important;
    z-index: 99999 !important;
    pointer-events: auto !important;
  }

  #ep8MenuContact a{
    color: #373c40 !important;
    text-decoration: none !important;
  }
}

/* remove or force white bottom line in the mobile or tablet menu */
@media (max-width: 1024px){
  .theme-responsive-menu-area,
  .theme-responsive-menu-area *{
    border-bottom-color: #ffffff !important;
    box-shadow: none !important;
    outline: none !important;
  }

  .theme-responsive-menu-area{
    border-bottom: 0 !important;
  }

  .theme-responsive-menu-area:after,
  .theme-responsive-menu-area:before,
  .theme-menu-area:after,
  .theme-menu-area:before,
  .theme-menu:after,
  .theme-menu:before{
    content: none !important;
    display: none !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  .theme-mobile-menu,
  .theme-menu-mobile,
  .theme-nav-mobile{
    border-bottom: 0 !important;
    box-shadow: none !important;
  }
}
