/* ===============================
   NAV CSS (FULL REPLACEMENT)
   =============================== */

/* LOGO AND PHONE */
.logo_phone_top{
margin: 20px 0px 20px 0px;
display: flex;          /* make sure it's flex */
align-items: center;
width: 100%;
}

.nav_logo{
flex: 1 1 auto;         /* grow to fill leftover */
text-align: left;
}

.nav_logo img{
height:40px
}

.nav_phone{
flex: 0 0 auto;         /* don't grow, don't shrink */
text-align: right;
display: flex;
align-items: center;
justify-content: flex-end;
}

.nav_phone i{
text-align: right;
font-size: 22px;
display: block;
margin-right: 15px;
}

.nav_number{
flex: 0 0 auto;         /* don't grow, don't shrink */
text-align: left;
}

.nav_24hour{
font-size: 14px;
font-weight: 700;
color:black;
}

.phone_number p{
  padding-top: 0px;
  font-size: 25px;
  color:#28a9e1;
  font-weight: 400;
}

.phone_number p:hover{
color:black;
}

/* NAV  */
.nav_bg{
  display:flex;
  padding:0;
  width:100%;
  background-color: black;
}

/* DESKTOP NAV */
.desktop_nav{
  height:55px;
  background-color: black;
  padding:0px 15px 0px 15px;
  margin:0 auto 0 auto;
  text-align: center;
  width:100%;
}

.nav_item{
  flex: 1 1 0;
  height: 55px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.nav_item_has_children{
  position: relative;
}

.nav_item_has_children p{
  display: inline-flex;
  align-items: center;
}

.nav_item_has_children p::after{
  content: "❯";
  margin-left: 25px;
  transform: rotate(90deg);
  font-size: 18px
}

.nav_item:hover a{
  color: black;
}
.nav_item:hover p{
  color: #9dcadd;
}

.nav_item a{
  text-decoration: none;
  color:white;
}

.nav_item p{
  padding:15px 0px 14px 0px;
  margin:0px auto 0px auto;
  font-size: 17px;
  color: white;
}

.nav_service{
  padding:0px 50px 0px 0px;
  flex: 0 0 auto;     /* do NOT grow */
  white-space: nowrap;
}

/* Service Dropdown Desktop */
.service_dropdown {
  position: absolute;
  top: 100%;
  left: 0;
  margin-top: 0;
  display: none; /* hidden by default */
  background-color: #fff;
  border: 1px solid #ccc;
  min-width: 200px;
  z-index: 1000;
}

.nav_item_has_children:hover .service_dropdown {
  display: block; /* show dropdown on hover */
}

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

.service_dropdown_content ul li {
  position: relative; /* needed for submenu */
}

.service_dropdown_content ul li a {
  display: block;
  padding: 10px 20px;
  text-decoration: none;
  color: #000;
}

/* Hover effect for main dropdown items */
.service_dropdown_content ul li:hover > a {
  background-color: #f0f0f0;
}

/* --- Submenu --- */
.submenu {
  display: none; /* hidden by default */
  position: absolute;
  top: 0;       /* aligns top with parent item */
  left: 100%;   /* positions to the right of parent */
  min-width: 200px;
  background-color: #fff;
  border: 1px solid #ccc;
  z-index: 1000;
}

.service_dropdown_content ul li.has_submenu:hover > .submenu {
  display: block;
}

/* Hover effect for submenu items */
.submenu li a:hover {
  background-color: #f0f0f0;
}

/* Add arrow to items with submenus */
.service_dropdown_content ul li.has_submenu > a::after {
  content: "❯";
  float: right;
  margin-top:4px;
  margin-left: 10px;
  font-size: 12px;
  transition: transform 0.3s ease;
}

.show_block{
  display: block !important;
}

.hide{
  display: none;
}


/* MOBILE NAV */
.mobile_nav{
  display: none;
  padding:0;
  margin:0;
  text-align: center;
  justify-content: center;
}

.mobile_menu_button {
  background-color: #28A9E1; 
  border: none;
  color: black;
  padding: 13px 40px 11px 40px;
  margin-bottom: 20px;
  text-align: center;
  text-decoration: none;
  display: inline-block;
  font-size: 14px;
  border-radius: 0px;
  cursor: pointer;
}
.mobile_menu_button:hover {
  background-color: black; 
  color: white;
  padding: 13px 40px 11px 40px;
  text-align: center;
  text-decoration: none;
  display: inline-block;
  font-size: 14px;
  border-radius: 0px;
  cursor: pointer;
}

.mobile_menu_button:focus,
.mobile_menu_button:active {
  outline: none;
  box-shadow: none;
  background-color: #28A9E1;
  color: black;
}

.mobile_nav_menu{
  display: none;
  background-color:white;
  padding:0px 15px 0px 15px;
  margin:0;
  text-align: left;
  width:100%;
}

.mobile_nav_item{
  margin:0px 0px 0px 0px;
}

.mobile_nav_item:hover{
  cursor: pointer;
}

.mobile_nav_item a{
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  text-transform: uppercase;
  color:black;
  font-weight: bold;
  font-size: 16px;
  background-color: white;
  padding:5px 0px 5px 0px;
  text-decoration: none;
}

.mobile_nav_item a i {
  font-size: 14px;
}

.service_dropdown_mobile{
  display: none;
  width: 100%;
  background-color: white;
  margin:5px 0px 5px 0px;
}

.service_dropdown_mobile ul{
  list-style-type: none;
  padding:0px;
}

.service_dropdown_mobile a{
  font-size: 15px;
  float: none;
  color: black;
  padding:4px 0px 4px 0px;
  text-decoration: none;
  display: block;
  text-align: left;
}

/* Keep dropdown items visually consistent with normal menu items */
.service_dropdown_mobile > ul > li > a{
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  text-transform: uppercase;
  color: black;
  font-size: 16px;
  font-weight: 400; /* normal */
  background-color: white;
  padding: 5px 0px;
  text-decoration: none;
}

.mobile_submenu_toggle i{
font-size: 14px;
}

.service_dropdown_mobile .mobile_submenu a{
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  color: black;
  font-size: 16px;
  font-weight: 400; /* normal */
  background-color: #f2f2f2;
  padding: 5px 0px 5px 5px;
  text-decoration: none;
}

/* Parent items (the ones that have submenus) should be bold */
.service_dropdown_mobile .mobile_submenu_parent > a{
  font-weight: 700;
}

/* Submenu container (hidden by default) */
.service_dropdown_mobile .mobile_submenu{
  list-style: none;
  padding: 0;
  margin: 0;
  display: none;
  width: 100%;
  background-color: #f2f2f2;
}

/* When open */
.service_dropdown_mobile .mobile_submenu_parent.is-open > .mobile_submenu{
  display: block;
}

/* ===============================
   ARROW ROTATION (NEW)
   =============================== */

#nav_service_mobile a i,
.service_dropdown_mobile .mobile_submenu_toggle i{
  display: inline-block;
  transition: transform 0.25s ease;
}

#nav_service_mobile.is-open a i{
  transform: rotate(90deg);
}

.service_dropdown_mobile .mobile_submenu_parent.is-open > .mobile_submenu_toggle i{
  transform: rotate(90deg);
}


/* ===============================
   RESPONSIVE
   =============================== */
   .nav_service{
     padding:0px 50px 0px 0px;
     flex: 0 0 auto;     /* do NOT grow */
     white-space: nowrap;
   }
@media only screen and (max-width: 1200px) {
.nav_service{
  padding:0px 40px 0px 0px;
}  
}

@media only screen and (max-width: 992px) {
.nav_service{
  padding:0px 3 0px 0px 0px;
}

@media only screen and (max-width: 768px) {

  /* LOGO & PHONE */
.logo_phone_top{
  margin: 20px 0px 10px 0px;
  flex-direction: column;
  align-items: center;
}
 .nav_logo{
   width:100%;
   text-align: center;
 }
 .nav_logo img{
   display: inline-block;
 }
  .nav_phone{
  width: 100%;
  justify-content: center;
  margin:50px 0px 15px 0px;
  }
  .nav_phone i{
  margin-right: 0;
  }
  .nav_number{
  width:100%;
  text-align: center;
  margin-bottom: 30px ;
  }
  .nav_number p{
  margin:0;
  }

  /* NAV */
  .nav_bg{
    background-color: white;
    margin-bottom: 5px;
  }

  /* Desktop NAV */
  .desktop_nav{
    display: none;
  }

  /* MOBILE NAV */
  .mobile_nav{
    display: block;
  }
}

@media only screen and (max-width: 576px) {

}
