/* ================= NAVBAR ================= */

.navbar {
  position: absolute;
  left: 0;
  top: 25px;
  padding: 0;
  width: 100%;
  z-index: 2;
  transition: all 0.4s ease;
}

.navbar .container {
  padding-top: 15px;
  padding-bottom: 15px;
}

.navbar .navbar-brand {
  width: 200px;
  transition: 0.3s;
}

.navbar .navbar-brand img {
  width: 100%;
}

/* ================= MOBILE TOGGLER ================= */

.navbar .navbar-toggler {
  position: relative;
  height: 60px;
  width: 60px;
  border: none;
  cursor: pointer;
  outline: none;
}

.navbar .navbar-toggler .menu-icon-bar {
  position: absolute;
  left: 15px;
  right: 15px;
  height: 2px;
  background-color: #FFF;
  opacity: 0;
  transform: translateY(-1px);
  transition: all 0.3s ease-in;
}

.navbar .navbar-toggler .menu-icon-bar:first-child {
  opacity: 1;
  transform: translateY(-1px) rotate(45deg);
}

.navbar .navbar-toggler .menu-icon-bar:last-child {
  opacity: 1;
  transform: translateY(-1px) rotate(135deg);
}

.navbar .navbar-toggler.collapsed .menu-icon-bar {
  opacity: 1;
}

.navbar .navbar-toggler.collapsed .menu-icon-bar:first-child {
  transform: translateY(-7px) rotate(0);
}

.navbar .navbar-toggler.collapsed .menu-icon-bar:last-child {
  transform: translateY(5px) rotate(0);
}

/* ================= NAV LINKS ================= */

.navbar-dark .navbar-nav .nav-link {
  position: relative;
  color: #154f9f;
  font-size: 14px;
  font-family: 'Open Sans', sans-serif;
  font-weight: 600;
  text-transform: uppercase;
  margin-left: 10px;
  transition: 0.3s;
}

.navbar-dark .navbar-nav .nav-link:hover {
  color: var(--primary-color);
}

/* animated underline */

.navbar-dark .navbar-nav .nav-link::after {
  content: "";
  position: absolute;
  width: 0%;
  height: 2px;
  left: 0;
  bottom: 8px;
  background:#154f9f;
  transition: 0.3s;
}

.navbar-dark .navbar-nav .nav-link:hover::after {
  width: 100%;
}


/* default navbar text (transparent navbar) */
.navbar-dark .navbar-nav .nav-link{
  color: #fff !important;
}

/* when navbar becomes white on scroll */
.navbar-dark.scrolled .navbar-nav .nav-link{
  color: #154f9f !important;
}

/* underline color when scrolled */
.navbar-dark.scrolled .navbar-nav .nav-link::after{
  background: #154f9f;
}
/* ================= DROPDOWN ================= */

.navbar .dropdown-menu {
  padding: 0;
  background-color: #FFF;
  transition: opacity .15s ease-in-out;
}

.dropdown-menu {
  border: none;
  border-radius: 0rem;
  box-shadow: 0 0 11px 0 rgba(6,22,58,.14);
}

.navbar .dropdown-menu .dropdown-item {
  position: relative;
  padding: 10px 20px;
  color: var(--headline-color);
  font-size: 13px;
  font-family: 'Open Sans', sans-serif;
  border-bottom: 1px solid rgba(221,221,221,0.7);
  transition: color 0.2s ease-in;
}

.navbar .dropdown-menu .dropdown-item:last-child {
  border-bottom: none;
}

.navbar .dropdown-menu .dropdown-item:hover {
  background: transparent;
  color: var(--primary-color);
}

.navbar .dropdown-menu .dropdown-item::before {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  top: 0;
  width: 5px;
  background-color: var(--primary-color);
  opacity: 0;
  transition: opacity 0.2s ease-in;
}

.navbar .dropdown-menu .dropdown-item:hover::before {
  opacity: 1;
}

/* ================= SCROLL NAVBAR ================= */

.navbar.fixed-top {
  position: fixed;
  top: 0;
  animation: navbar-animation .5s;
  background-color: #FFF;
  box-shadow: 0 10px 25px rgba(0,0,0,0.15);
  backdrop-filter: blur(6px);
}

/* glowing border */

.navbar.fixed-top::after{
  content:"";
  position:absolute;
  bottom:0;
  left:0;
  width:100%;
  height:3px;
  background: linear-gradient(90deg,#c0ca33,#ffffff,#c0ca33);
  background-size:200%;
  animation: navGlow 4s linear infinite;
  color: #154f9f;
}

/* shrink logo slightly on scroll */

.navbar.fixed-top .navbar-brand{
  width:170px;
}

/* ================= MOBILE ================= */

@media screen and (max-width: 991px) {

  .navbar-nav {
    padding: 20px;
    background-color: #FFF;
  }

  .navbar-collapse .navbar-nav .nav-link {
    color: var(--primary-heading);
    border-bottom: 1px solid rgba(221,221,221,0.7);
    line-height: 2;
    margin-left: 0px;
    font-size: 13px;
  }

  .navbar-collapse .navbar-nav .last-link-item {
    border-bottom: none;
  }

  .navbar .navbar-brand {
    width: 150px;
    margin-left: 10px;
  }

  .dropdown-menu {
    box-shadow: none;
  }

}

/* ================= DESKTOP ================= */

@media screen and (min-width: 992px) {

  .navbar-dark .navbar-nav .nav-link {
    padding: 23px 15px;
  }

  .dropdown-menu {
    min-width: 200px;
    animation: dropdown-animation 0.4s;
    transform-origin: top;
  }

}

/* ================= ANIMATIONS ================= */

@keyframes navbar-animation {

  0% {
    opacity: 0;
    transform: translateY(-100%);
  }

  100% {
    opacity: 1;
    transform: translateY(0);
  }

}

@keyframes dropdown-animation {

  0% { transform: scaleY(0); }

  75% { transform: scaleY(1.1); }

  100% { transform: scaleY(1); }

}

@keyframes navGlow {

  0% { background-position:0%; }

  100% { background-position:200%; }

}

/* ================= IMPROVED MOBILE NAVBAR ================= */

@media (max-width:991px){

/* navbar background */

.navbar{
background:#fff;
top:0;
position:fixed;
width:100%;
box-shadow:0 5px 15px rgba(0,0,0,0.08);
}

/* logo size */

.navbar .navbar-brand{
width:140px;
}

/* mobile menu container */

.navbar-collapse{
background:#fff;
border-radius:6px;
margin-top:10px;
}

/* menu items */

.navbar-nav{
padding:10px 15px;
}

/* links */

.navbar-dark .navbar-nav .nav-link{
color:#154f9f !important;
padding:12px 0;
font-size:15px;
border-bottom:1px solid rgba(0,0,0,0.08);
}

/* remove underline animation on mobile */

.navbar-dark .navbar-nav .nav-link::after{
/*display:none;*/
}

/* dropdown menu */

.dropdown-menu{
position:static;
width:100%;
box-shadow:none;
border:none;
background:#f8f8f8;
margin-top:0;
padding-left:10px;
}

/* submenu links */

.dropdown-menu .dropdown-item{
padding:10px 15px;
font-size:14px;
color:#154f9f;
border-bottom:1px solid rgba(0,0,0,0.05);
}

/* show submenu when parent active */

.navbar-nav .dropdown.show .dropdown-menu{
display:block;
}

/* hamburger icon color */

.navbar-toggler .menu-icon-bar{
background:#154f9f;
}

}

/* FIX MOBILE SUBMENU VISIBILITY */

@media (max-width:991px){

.navbar-collapse{
max-height:80vh;
overflow-y:auto;
}

.dropdown-menu{
/*display:none;*/
}

.navbar-nav .dropdown.show .dropdown-menu{
display:block;
}

}

/* ===== MOBILE NAVBAR FIX ===== */

@media (max-width:991px){

/* prevent slider from hiding under navbar */
.home-slider{
margin-top:100px;
}

/* mobile menu container */
.navbar-collapse{
background:#fff;
max-height:80vh;
overflow-y:auto;
}

/* mobile links */
.navbar-nav .nav-link{
color:#154f9f !important;
padding:12px 0;
border-bottom:1px solid rgba(0,0,0,0.08);
}

/* dropdown menu inside mobile */

.navbar .dropdown-menu{
position:static !important;
transform:none !important;
float:none;
width:100%;
box-shadow:none;
border:none;
margin:0;
padding-left:15px;
/*background:#f7f7f7;*/
/*display:none;*/
color : blue;
}

/* dropdown items */

.dropdown-menu .dropdown-item{
padding:10px 15px;
font-size:14px;
color:#154f9f;
}

/* show submenu */

.navbar-nav .dropdown.show .dropdown-menu{
display:block;
}

}

/* ===== FINAL MOBILE DROPDOWN FIX ===== */

@media (max-width:991px){

/* make sure dropdown is positioned correctly */

.navbar .dropdown-menu{
position:static !important;
/*display:none;*/
width:100%;
background:#f5f5f5;
padding-left:15px;
border:none;
box-shadow:none;
}

/* show submenu when dropdown active */

.navbar .dropdown.show .dropdown-menu{
display:block !important;
}

/* dropdown item styling */

.navbar .dropdown-menu .dropdown-item{
color:#154f9f !important;
font-size:14px;
padding:10px 15px;
border-bottom:1px solid rgba(0,0,0,0.05);
}

/* hover color */

.navbar .dropdown-menu .dropdown-item:hover{
color:#0d3b77 !important;
background:transparent;
}

/* fix slider cropping */

.home-slider{
margin-top:110px;
}

}
/* ===== KEEP DROPDOWN OPEN WHILE HOVERING ===== */

/*@media (min-width:992px){*/

/* show dropdown on hover */

/*.navbar .dropdown:hover > .dropdown-menu{*/
/*display:block;*/
/*margin-top:0;*/
/*}*/

/* prevent disappearing when moving mouse */

/*.navbar .dropdown-menu{*/
/*display:none;*/
/*position:absolute;*/
/*}*/

/*.navbar .dropdown-menu:hover{*/
/*display:block;*/
/*}*/

/*}*/
/*.dropdown-menu{*/
/*z-index:9999;*/
/*}*/


/* ===== DESKTOP DROPDOWN FIX ===== */

@media (min-width:992px){

/* remove gap between menu and dropdown */
.navbar .dropdown{
position:relative;
}

.navbar .dropdown-menu{
display:none;
position:absolute;
top:100%;
left:0;
margin-top:0;
z-index:9999;
}

/* open dropdown on hover */
.navbar .dropdown:hover > .dropdown-menu{
display:block;
}

/* keep open when hovering inside */
.navbar .dropdown-menu:hover{
display:block;
}

}

/* ===== FIX DROPDOWN DISAPPEARING ===== */

@media (min-width: 992px){

/* make parent relative */
.navbar .dropdown{
position:relative;
}

/* attach dropdown directly under menu item */
.navbar .dropdown-menu{
top:100%;
left:0;
margin-top:0;
display:none;
position:absolute;
z-index:9999;
}

/* show dropdown on hover */
/*.navbar .dropdown:hover > .dropdown-menu{*/
/*display:block;*/
/*}*/

}