.stickynav {
    /* Properties for the bar itself */
    display: block;
    position: sticky;
    top: 0;
    z-index: 99;
    /* Bar coloration and spacing */

    padding: 0px;
    width: 100%;
    text-shadow: var(--nav-text-shadow);
}

.anchor-top-margin {
	scroll-margin-top: 40px;
}

/* * Stellarnav.js 2.5.0 * Responsive, lightweight, multi-level dropdown menu. * Copyright (c) 2018 Vinny Moreira - http://vinnymoreira.com * Released under the MIT license */
/* all nav */
 
:root {
	/* --- Backgrounds ---------------------------
	   The bar, and the two dropdown levels below
	   it. The -hover pair is used on li:hover. */
	--bottomlevel-bg-color: rgba(0,0,0,0.8);
	--bottomlevel-bg-color-hover: rgba(0,0,0,0.85);

	--firstlevel-bg-color: rgba(0,0,0,0.8);
	--firstlevel-bg-color-hover: rgba(0,0,0,0.85);

	--secondlevel-bg-color: rgba(0,0,0,0.8);
	--secondlevel-bg-color-hover: rgba(0,0,0,0.85);

	/* --- Foreground ----------------------------
	   --nav-color is the one most themes need.
	   The dropdown arrows and the sliding hover
	   underline are drawn with currentColor, so
	   they follow it without further work. */
	--nav-color: #fff;

	/* Hamburger bars, the +/- toggle and the close
	   x. Deliberately separate from --nav-color:
	   they are chrome, not text. */
	--nav-icon-color: #777;

	/* Hairlines between stacked items on mobile,
	   and between the optional call/location/close
	   buttons. */
	--nav-divider-color: rgba(255,255,255,.15);
	--nav-divider-color-faint: rgba(255,255,255,.1);

	/* Mobile panel backgrounds. Transparent by
	   default so the panel shows the bar colour. */
	--nav-mobile-bg: transparent;
	--nav-mobile-subnav-bg: transparent;

	/* --- Effects -------------------------------
	   Set any of these to none for a flat bar. */
	--nav-text-shadow: 1px 1px 1px #000;
	--nav-dropdown-shadow: 0px 0px 5px #000;
	--nav-hover-shadow: 0px 0px 5px #000;
 }
 .stellarnav {
     position: relative;
     width: 100%;
     z-index: 9900;
     line-height: normal;
     background-color: var(--bottomlevel-bg-color);
}
 .stellarnav a {
     color: var(--nav-color);
}
 .stellarnav ul {
     margin: 0;
     padding: 0;
     text-align: center;
}

.stellarnav ul ul {
    box-shadow: var(--nav-dropdown-shadow);
    transition: box-shadow .3s ease-in-out;
}

.stellarnav ul li:hover {
    background-color: var(--bottomlevel-bg-color-hover);
    box-shadow: var(--nav-hover-shadow);
    transition: background-color .3s ease-in-out;
    transition: box-shadow .3s ease-in-out;
}
.stellarnav ul li li:hover {
    background-color: var(--firstlevel-bg-color-hover);
    transition: background-color .3s ease-in-out;
}
.stellarnav ul li li li:hover {
    background-color: var(--secondlevel-bg-color-hover);
    transition: background-color .3s ease-in-out;
}

 .stellarnav li {
     list-style: none;
     display: block;
     margin: 0;
     padding: 0;
     position: relative;
     line-height: normal;
     vertical-align: middle;
}
 .stellarnav li a {
     padding: 15px;
     display: block;
     text-decoration: none;
     color: var(--nav-color);
     font-size: inherit;
     font-family: inherit;
     box-sizing: border-box;
     -webkit-transition: all .3s ease-out;
     -moz-transition: all .3s ease-out;
     transition: all .3s ease-out;
}

/* Scrolling underline text effect */
.stellarnav a {
    position: relative;
    text-decoration: none;
}

.stellarnav a::before {
    content: '';
    position: absolute;
    width: 100%;
    height: 4px;
    border-radius: 4px;
    background-color: currentColor;
    bottom: 0;
    left: 0;
    transform-origin: right;
    transform: scaleX(0);
    transition: transform .3s ease-in-out;
}

.stellarnav a:hover::before {
    transform-origin: left;
    transform: scaleX(1);
}

/* END Scrolling underline text effect */

/* main level */
 .stellarnav > ul > li {
     display: inline-block;
}
 .stellarnav > ul > li > a {
     padding: 20px 40px;
}
/* first level dd */
 .stellarnav ul ul {
     top: auto;
     width: 220px;
     position: absolute;
     z-index: 9900;
     text-align: left;
     display: none;
     background-color: var(--firstlevel-bg-color);
}
 .stellarnav li li {
     display: block;
}
/* second level dd */
 .stellarnav ul ul ul {
     top: 0;
    /* dd animtion - change to auto to remove */
     left: 220px;
	 background-color: var(--secondlevel-bg-color);
}
 .stellarnav > ul > li:hover > ul > li:hover > ul {
     opacity: 1;
     visibility: visible;
     top: 0;
}
/* .drop-left */
 .stellarnav > ul > li.drop-left > ul {
     right: 0;
}
 .stellarnav li.drop-left ul ul {
     left: auto;
     right: 220px;
}
/* light theme
   Opt in with theme: 'light' in navigation-options.php.
   These reassign the variables above and nothing else,
   so a theme that sets its own tokens is not fighting
   a second set of hard-coded colours. */
 .stellarnav.light {
     --nav-color: #000;
     --nav-icon-color: #000;
     --nav-divider-color: rgba(0, 0, 0, .15);
     --nav-divider-color-faint: rgba(0, 0, 0, .1);
     --nav-mobile-bg: rgba(255, 255, 255, 1);
     --bottomlevel-bg-color: rgba(255, 255, 255, 1);
     --bottomlevel-bg-color-hover: rgba(255, 255, 255, 1);
     --firstlevel-bg-color: rgba(255, 255, 255, 1);
     --firstlevel-bg-color-hover: rgba(255, 255, 255, 1);
     --secondlevel-bg-color: rgba(255, 255, 255, 1);
     --secondlevel-bg-color-hover: rgba(255, 255, 255, 1);
}
/* dark theme */
 .stellarnav.dark {
     --nav-color: #FFF;
     --nav-icon-color: #FFF;
     --nav-mobile-bg: rgba(0, 0, 0, 1);
     --nav-mobile-subnav-bg: rgba(255, 255, 255, .08);
     --bottomlevel-bg-color: rgba(0, 0, 0, 1);
     --bottomlevel-bg-color-hover: rgba(0, 0, 0, 1);
     --firstlevel-bg-color: rgba(0, 0, 0, 1);
     --firstlevel-bg-color-hover: rgba(0, 0, 0, 1);
     --secondlevel-bg-color: rgba(0, 0, 0, 1);
     --secondlevel-bg-color-hover: rgba(0, 0, 0, 1);
}
/* sticky nav */
 .stellarnav.fixed {
     position: fixed;
     width: 100%;
     top: 0;
     left: 0;
     z-index: 9999;
}
/* only used when 'scrollbarFix' is set to true in the js. This fixes horizontal scrollbar caused by the dd menus that are very long.*/
 body.stellarnav-noscroll-x {
     overflow-x: hidden;
}
/* general styling */
 .stellarnav li.has-sub > a:after {
     content: '';
     margin-left: 10px;
     border-left: 6px solid transparent;
     border-right: 6px solid transparent;
     border-top: 6px solid currentColor;
     display: inline-block;
}
 .stellarnav li li.has-sub > a:after {
     margin-left: 10px;
     float: right;
     border-top: 6px solid transparent;
     border-bottom: 6px solid transparent;
     border-left: 6px solid currentColor;
     position: relative;
     top: 4px;
}
 .stellarnav li.drop-left li.has-sub > a:after {
     float: left;
     margin-right: 10px;
     border-left: 0;
     border-top: 6px solid transparent;
     border-bottom: 6px solid transparent;
     border-right: 6px solid currentColor;
}
 .stellarnav.hide-arrows li.has-sub > a:after, .stellarnav.hide-arrows li li.has-sub > a:after, .stellarnav.hide-arrows li.drop-left li.has-sub > a:after {
     display: none;
}
 .stellarnav .menu-toggle, .stellarnav .close-menu, .stellarnav .call-btn-mobile, .stellarnav .location-btn-mobile {
     display: none;
     text-transform: uppercase;
     text-decoration: none;
}
 .stellarnav .dd-toggle {
     display: none;
     position: absolute;
     top: 0;
     right: 0;
     padding: 0;
     width: 48px;
     height: 48px;
     text-align: center;
     z-index: 9999;
     border: 0;
}
 .stellarnav.desktop li.has-sub a {
     padding-right: 5px;
}
 .stellarnav.desktop.hide-arrows li.has-sub a {
     padding-right: 15px;
}
 .stellarnav.mobile > ul > li > a.dd-toggle {
     padding: 0;
}
 .stellarnav li.call-btn-mobile, .stellarnav li.location-btn-mobile {
     display: none;
}
/* svg icons */
 .stellarnav svg {
     fill: currentColor;
     width: 1em;
     height: 1em;
     position: relative;
     top: 2px;
}
/* svg icons */
 .stellarnav a.dd-toggle .icon-plus {
     box-sizing: border-box;
     transition: transform 0.3s;
     width: 12px;
     height: 100%;
     position: relative;
     vertical-align: middle;
     display: inline-block;
}
 .stellarnav a.dd-toggle .icon-plus:before {
     content: '';
     display: block;
     width: 12px;
     height: 0px;
     border-bottom: solid 3px var(--nav-icon-color);
     position: absolute;
     top: 50%;
     transform: rotate(90deg);
     transition: width 0.3s;
}
 .stellarnav a.dd-toggle .icon-plus:after {
     content: '';
     display: block;
     width: 12px;
     height: 0px;
     top: 50%;
     border-bottom: solid 3px var(--nav-icon-color);
     position: absolute;
}
 .stellarnav li.open > a.dd-toggle .icon-plus {
     -webkit-transform: rotate(135deg);
     -ms-transform: rotate(135deg);
     -o-transform: rotate(135deg);
     transform: rotate(135deg);
}
 .stellarnav .icon-close {
     box-sizing: border-box;
     width: 12px;
     height: 12px;
     position: relative;
     display: inline-block;
}
 .stellarnav .icon-close:before {
     content: '';
     display: block;
     width: 12px;
     height: 0px;
     border-bottom: solid 3px var(--nav-icon-color);
     position: absolute;
     top: 50%;
     transform: rotate(45deg);
}
 .stellarnav .icon-close:after {
     content: '';
     display: block;
     width: 12px;
     height: 0px;
     top: 50%;
     border-bottom: solid 3px var(--nav-icon-color);
     position: absolute;
     transform: rotate(-45deg);
}
/* mobile nav */
 .stellarnav .menu-toggle, .stellarnav .call-btn-mobile, .stellarnav .location-btn-mobile, .stellarnav .close-menu {
     padding: 15px;
     box-sizing: border-box;
}
 .stellarnav .menu-toggle span.bars {
     display: inline-block;
     margin-right: 7px;
     position: relative;
     top: 3px;
}
 .stellarnav .menu-toggle span.bars span {
     display: block;
     width: 15px;
     height: 2px;
     border-radius: 6px;
     background: var(--nav-icon-color);
     margin: 0 0 3px;
}
 .stellarnav .full {
     width: 100%;
}
 .stellarnav .half {
     width: 50%;
}
 .stellarnav .third {
     width: 33%;
     text-align: center;
}
 .stellarnav .location-btn-mobile.third {
     text-align: center;
}
 .stellarnav .location-btn-mobile.half {
     text-align: right;
}
 .stellarnav .third, .stellarnav .half {
     border-left: 1px solid var(--nav-divider-color);
}
 .stellarnav.left .third, .stellarnav.left .half {
     border-bottom: 1px solid var(--nav-divider-color);
}
 .stellarnav.right .third, .stellarnav.right .half {
     border-bottom: 1px solid var(--nav-divider-color);
}
 .stellarnav .third:first-child, .stellarnav .half:first-child {
     border-left: 0;
}
 .stellarnav.left .menu-toggle, .stellarnav.right .menu-toggle {
     border-bottom: 0;
}
 .stellarnav.mobile {
     position: static;
}
 .stellarnav.mobile.fixed {
     position: static;
}
 .stellarnav.mobile ul {
     position: relative;
     display: none;
}
 .stellarnav.mobile.active {
     padding-bottom: 0;
}
 .stellarnav.mobile.active > ul {
     display: block;
}
 .stellarnav.mobile ul {
     text-align: left;
}
 .stellarnav.mobile > ul > li {
     display: block;
}
 .stellarnav.mobile > ul > li > a {
     padding: 15px;
}
 .stellarnav.mobile ul ul {
     position: relative;
     opacity: 1;
     visibility: visible;
     width: auto;
     display: none;
     -moz-transition: none;
     -webkit-transition: none;
     -o-transition: color 0 ease-in;
     transition: none;
}
 .stellarnav.mobile ul ul ul {
     left: auto;
     top: auto;
}
 .stellarnav.mobile li.drop-left ul ul {
     right: auto;
}
 .stellarnav.mobile li a {
     border-bottom: 1px solid var(--nav-divider-color);
}
 .stellarnav.mobile > ul {
     border-top: 1px solid var(--nav-divider-color);
}
 .stellarnav.mobile li a.dd-toggle {
     border: 0;
}
 .stellarnav.mobile .menu-toggle, .stellarnav.mobile .dd-toggle, .stellarnav.mobile .close-menu, .stellarnav.mobile .call-btn-mobile, .stellarnav.mobile .location-btn-mobile {
     display: inline-block;
}
 .stellarnav.mobile li.call-btn-mobile {
     border-right: 1px solid var(--nav-divider-color-faint);
     box-sizing: border-box;
}
 .stellarnav.mobile li.call-btn-mobile, .stellarnav.mobile li.location-btn-mobile {
     display: inline-block;
     width: 50%;
     text-transform: uppercase;
     text-align: center;
}
 .stellarnav.mobile li.call-btn-mobile.full, .stellarnav.mobile li.location-btn-mobile.full {
     display: block;
     width: 100%;
     text-transform: uppercase;
     border-right: 0;
     text-align: left;
}
 .stellarnav.mobile ul {
     background: var(--nav-mobile-bg);
}
 .stellarnav.mobile ul ul {
     background: var(--nav-mobile-subnav-bg);
}
 .stellarnav.mobile.top {
     position: absolute;
     width: 100%;
     top: 0;
     left: 0;
     z-index: 9999;
}
 .stellarnav.mobile li.has-sub > a:after, .stellarnav.mobile li li.has-sub > a:after, .stellarnav.mobile li.drop-left li.has-sub > a:after {
     display: none;
}
/* left and right positions */
 .stellarnav.mobile.right > ul, .stellarnav.mobile.left > ul {
     position: fixed;
     top: 0;
     bottom: 0;
     width: 100%;
     max-width: 280px;
     overflow-x: hidden;
     overflow-y: auto;
     -webkit-overflow-scrolling: touch;
}
 .stellarnav.mobile.right > ul {
     right: 0;
}
 .stellarnav.mobile.right .close-menu, .stellarnav.mobile.left .close-menu {
     display: inline-block;
     text-align: right;
}
 .stellarnav.mobile.left > ul {
     left: 0;
}
 .stellarnav.mobile.right .location-btn-mobile.half, .stellarnav.mobile.right .call-btn-mobile.half, .stellarnav.mobile.right .close-menu.half {
     text-align: center;
}
 .stellarnav.mobile.right .location-btn-mobile.third, .stellarnav.mobile.right .call-btn-mobile.third, .stellarnav.mobile.right .close-menu.third {
     text-align: center;
}
 .stellarnav.mobile.left .location-btn-mobile.half, .stellarnav.mobile.left .call-btn-mobile.half, .stellarnav.mobile.left .close-menu.half {
     text-align: center;
}
 .stellarnav.mobile.left .location-btn-mobile.third, .stellarnav.mobile.left .call-btn-mobile.third, .stellarnav.mobile.left .close-menu.third {
     text-align: center;
}
 .stellarnav.mobile.left .menu-toggle.half, .stellarnav.mobile.left .menu-toggle.third, .stellarnav.mobile.right .menu-toggle.half, .stellarnav.mobile.right .menu-toggle.third {
     text-align: left;
}
 .stellarnav.mobile.left .close-menu.third span, .stellarnav.mobile.right .close-menu.third span {
     display: none;
}
/* left and right positions */
/* mega dd */
 .stellarnav.desktop li.mega ul ul {
     background: none;
}
 .stellarnav.desktop li.mega li {
     display: inline-block;
     vertical-align: top;
     margin-left: -4px;
}
 .stellarnav.desktop li.mega li li {
     display: block;
     position: relative;
     left: 4px;
}
 .stellarnav.desktop li.mega ul ul {
     width: auto;
}
 .stellarnav.desktop > ul > li.mega {
     position: inherit;
}
 .stellarnav.desktop > ul > li.mega > ul {
     width: 100%;
}
 .stellarnav.desktop > ul > li.mega > ul li.has-sub ul {
     display: block;
     position: relative;
     left: auto;
}
 .stellarnav.desktop > ul > li.mega > ul > li {
     padding-bottom: 15px;
     box-sizing: border-box;
}
 .stellarnav.desktop li.mega li li a {
     padding: 5px 15px;
}
 .stellarnav.desktop li.mega li.has-sub a:after {
     display: none;
}
 .stellarnav.desktop > ul > li.mega > ul > li > a {
     color: var(--nav-color);
}
/* mega dd */
/* Fallback for slow javascript load */
 @media only screen and (max-width : 768px) {
     .stellarnav {
         overflow: hidden;
         display: block;
    }
     .stellarnav ul {
         position: relative;
         display: none;
    }
}
/* mobile nav */
 @media only screen and (max-width : 420px) {
     .stellarnav.mobile .call-btn-mobile.third span, .stellarnav.mobile .location-btn-mobile.third span {
         display: none;
    }
}
 