.custom-navbar {
    position: relative;
    width: 100%;
    position: sticky !important;
    top: 0;
    background-color: white;
    z-index: 1000;
    padding: 0 1rem;
}

/* Remove underline on all links added by whmcs */
.custom-navbar a:hover {
    text-decoration: none;
  }

/* Add shadow when scrolled */
.custom-navbar.scrolled {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  }

.custom-navbar-container {
    position:relative;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 0;
    height: 65px;
    max-width: 80rem;
    margin: 0 auto;
}

.custom-logo-container {
    display: flex;
    align-items: center;
    height: 40px;
    margin-right: 1.5rem;
}

.custom-logo-container img {
    display: block; /* Helps with potential spacing issues */
    max-height: 100%; /* logo's max height is 100% of container height */
    width: auto; /* Width adjusts automatically to maintain aspect ratio */
  }

.custom-logo-container h4 {
    font-family: "Cairo", sans-serif;
    font-weight: 400;   
    color: #0e7490;
    margin-left: 0.5rem;
    margin-bottom: 0.25rem; /* overiding whmcs styling */
}

.custom-nav-logo {
    font-size: 1.7rem;
}

.custom-logo-container span {
    color: #374151;
    font-weight: 600;
}

/* this class is used to reset whmcs styling */
.custom-navbar-container ul {
    margin-top: initial;
    margin-bottom: initial;
    padding: 0;
}



.custom-nav-menu {
  display: flex;
  list-style: none;
  align-items: center;
  font-family: "Montserrat", sans-serif;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);  
}

.custom-nav-menu-stylingcontainer {
  display: flex;
  list-style: none;
  align-items: center;
  font-family: 'Montserrat', sans-serif;
}

/* this padding and margin is applied so that the nav items match with the ones in the main site*/
.custom-nav-menu li { 
    margin: 0;  
    padding: 0 0.18rem;
}

.custom-nav-item {
    position: relative;
    margin-left: 4px;
    display: flex; /* remove if it messes up the not login links */
    align-items: center ;  
}

.custom-nav-link {
    color: #1f2937 !important;
    font-family: "Montserrat", sans-serif;
    text-decoration: none;
    font-size: 0.94rem;
    font-weight: 500;
    padding: 10px;
    display: flex;
    align-items: center;
    transition: color 0.3s;
    
}

.custom-nav-link:hover {
    color: #ff9900;
}

.custom-nav-link-with-dropdown {
    cursor: pointer;
}

.smlscreen-client-login {
  display: none;
}

.nav-end-container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    column-gap: 0.5rem;
   
}

.custom-nav-end-links {
  list-style-type: none;
  display: flex !important;
  align-items: center;
  column-gap: 1.2rem;
  font-family: "Montserrat", sans-serif;
}

  .custom-nav-end-link {
    /* these styles are similar to custom-nav-link */
    color: #1f2937 !important;
    font-family: "Montserrat", sans-serif;
    text-decoration: none;
    font-size: 0.94rem;
    font-weight: 500;
    /* padding: 10px 0px; */
    display: flex;
    align-items: center;
    justify-content: center;
    
  }

   .custom-nav-end-link:hover {
    /* these styles are similar to custom-nav-link */
    color: #0e7490 !important;
    
  }

  .custom-nav-logout {
    background-color: #dadfe3;
    border-radius: 6px;
    padding:0.2rem;
    cursor: pointer;
    border: 1px solid transparent; /* this border is necessary to stop the items shifting when it is hovered over */
  }

  .custom-nav-logout:hover {
    border: 1px solid #a3a3a3;
  }


.custom-nav-icon {
  width: 1.25rem;
  height: 1.25rem;  
} 

.custom-contact-us {
  box-sizing: border-box;
  /* column-gap: 0.25rem;                  */
  /* border-radius: 10px;              
  border-width: 2px ;                 
  border-style: solid;             
  border-color: #1f2937;             */
  /* background-color: #f5f5f5;       */
  padding: 8px 10px;
  
}

.custom-contact-us a {
  color: #0f3551 !important;
  font-size: 0.75rem;
  line-height: 1rem;
  font-family: "Montserrat", sans-serif;
  font-weight: 500;
  text-transform: uppercase;       
  display: flex;
  align-items: center; 
  justify-content: center;
  column-gap: 0.25rem;                  
}

.custom-client-login {
    position: relative;   
    background-color: #005878;
    color: #f4f1f1 !important;
    margin-left: 0.5rem;
    padding: 0.6rem 1rem;
    border-radius: 10px;     
    /* border-width: 2px ;                 
    border-style: solid;             
    border-color: transparent; */
}

/* i had to create this class to overide whmcs styles, it is not in the next js app */
.custom-client-login a {
    font-size: 0.75rem;
    line-height: 1rem;
    font-family: "Montserrat", sans-serif;
    font-weight: 500; 
    color: #f4f1f1 !important;
    text-transform: uppercase;
    display: flex;
    align-items: center;
    justify-content: center;
    column-gap: 0.25rem;
}

.custom-chevron {
    display: none;
    margin-left: 5px;
    transition: transform 0.3s;
}

.custom-dropdown-menu {
    position: absolute;
    top: 100%;
    left: 0;
    padding: 1rem 0;
    background-color: #1f2937;
    border-radius: 10px;
    border: 1px solid #374151;
    min-width: 250px;  
    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2);
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    transition: opacity 0.2s, visibility 0.2s, transform 0.2s;
    z-index: 100;
}

.custom-dropdown-menu.show {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.custom-dropdown-item {
    padding: 10px 10px;
    color: #fff;
    font-size: 0.92rem;
    text-decoration: none;
    display: block;
    transition: background-color 0.3s;
}

.custom-dropdown-item:hover {
    background-color: #374151;
    color: white;
}

.custom-dropdown-item-link {
    display: flex;            
    align-items: center;        
    column-gap: 0.7rem;        
    white-space: nowrap;        
    color: #fafafa; /* neutral-50 */ 
    padding-left: 1.25rem;     
    padding-right: 1.25rem;
}

.custom-dropdown-item-link span {
    color: #93c5fd !important; /* blue-300 */
    /* the following is to align the icon and title, these styles are not in the next js frontend */
    display: flex;
    align-items: center; 
}

/* .icons-and-client {
    display: flex;
    align-items: center;
    justify-content: space-between;
    column-gap: 0.25rem;
} */

.custom-hamburger {
    display: none;
    cursor: pointer;
    color: #1f2937;
    font-size: 24px;
    background: none;
    border: none;
    padding-left:0;
    padding-right: 0;
}

.custom-close-menu {
    display: none;
    cursor: pointer;
    color: #1f2937;
    font-size: 24px;
    background: none;
    border: none;
    padding-left:0;
    padding-right: 0;
   
}

/* @media screen and (max-width: 768px) {
    .custom-hamburger {
      display: block;
    }

    .custom-close-menu {
      display: none;
    }

    .custom-nav-menu {
      position: absolute;
      top: 70px;
      left: 0;
      width: 100%;
      background-color: #333;
      flex-direction: column;
      align-items: flex-start;
      max-height: 0;
      overflow: hidden;
      transition: max-height 0.25s ease-in-out;
      z-index: 10;
    }

    .custom-nav-menu.active {
      max-height: 1000px;
      box-shadow: 0 10px 10px rgba(0, 0, 0, 0.2);
    }

    .custom-nav-item {
      width: 100%;
      margin: 0;
      border-bottom: 1px solid #444;
    }

    .custom-nav-link {
      width: 100%;
      padding: 15px 20px;
      justify-content: space-between;
    }

    .custom-dropdown-menu {
      position: static;
      width: 100%;
      box-shadow: none;
      max-height: 0;
      overflow: hidden;
      opacity: 1;
      visibility: visible;
      transform: translateY(0);
      transition: max-height 0.25s ease-in-out;
    }

    .custom-dropdown-menu.show {
      max-height: 500px;
    }

    .custom-dropdown-item {
      padding-left: 40px;
    }

    .custom-close-menu.active {
      display: block;
    }

    .custom-hamburger.active {
      display: none;
    }
  } */

  @media screen and (max-width: 1020px) {
  .custom-hamburger {
    display: block;
  }

  .custom-close-menu {
    display: none;
  }

  .custom-nav-menu {
    position: absolute;
    top: 65px;
    left: 0;
    width: 100%;
    background-color: white;
    padding: 0 1rem;
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.25s ease-in-out;
    z-index: 10;
    border-bottom: 1px solid rgb(197, 197, 197);
  }

  .custom-nav-menu.active {
    max-height: 1000px;
    /* box-shadow: 0 10px 10px rgba(0, 0, 0, 0.2); */
  }

  .custom-nav-menu-stylingcontainer {
    width: 100%;
    padding: 1rem 0rem !important;
    margin-bottom: 1.4rem !important;
    flex-direction: column;
    align-items: flex-start;
    background-color: white;
    border: 1px solid #e1dbdb;
    box-shadow: 0 8px 8px rgba(0, 0, 0, 0.15);
  }

  .custom-nav-item {
    width: 100%;
    margin: 0;
  }

  .custom-nav-link {
    width: 100%;
    padding: 15px 24px;
    justify-content: space-between;
    font-size: 1rem;
    font-weight: 600;
  }



  .custom-chevron {
    display: block;
  }

  .smlscrn-client-login {
    display: block;
    background-color: #005878;
    color: white !important;
    padding: 9px 9px;
    border-radius: 9px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 600;
  }

  .custom-dropdown-menu {
    position: static;
    padding: 0 0;
    width: 100%;
    box-shadow: none;
    max-height: 0;
    overflow: hidden;
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    transition: max-height 0.25s ease-in-out;
    background-color: rgb(246, 244, 244);
    border-radius: 0;
  }

  .custom-dropdown-menu.show {
    max-height: 500px;
  }

  .custom-dropdown-menu > :first-child {
    
    margin-top: 0.5rem;
  }

  .custom-dropdown-menu > :last-child {
    
    margin-bottom: 0.5rem;
  }

  .custom-dropdown-item {
    padding-left: 40px;
    font-size: 1rem;
    font-weight: 500;
  }

  .icons-and-client {
    display:none;
  }

  .custom-close-menu.active {
    display: block;
  }

  .custom-hamburger.active {
    display: none;
  }

  .custom-client-login {
    display: none;
  }
}