.clear {
	clear: both;
}

.menu-toggle.exit-click {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, .4);
    z-index: 9998;
    opacity: 0;
    visibility: hidden;
    height: 100%;
    width: 100%;
}

.menu-toggle.exit-click.active {
    opacity: 1;
    visibility: visible;
}

.menu-toggle.exit-click:before,
.menu-toggle.exit-click:after {content: none !important;}
	
	/*==============================
		Mobile Nav Styles			
	================================*/
	nav.primary {
		display: none;
	}
	#menu-button {
		width: fit-content !important;
    	    padding: 15px;
    line-height: 1 !important;
		display: inline-block;
		font-size: 18px;
		position: relative;
		line-height: 2;
		z-index: 1000;
		text-align: right;
	}
	#menu-button a {
		color: #000;
		text-decoration: none;
		font-weight: normal;
		text-align: left;
		font-weight: 600;
	}
	.menu-toggle {
position: relative;
    display: block;
    width: 20px;
    height: 18px;
    cursor: pointer;
}

.menu-toggle span,
.menu-toggle:before,
.menu-toggle:after {
    content: "";
    position: absolute;
    left: 0;
    width: 100%;
    height: 3px;
    background: #000;
    transition: all 0.3s ease;
}

.menu-toggle:before {
    top: 0;
}

.menu-toggle span {
    top: 50%;
    transform: translateY(-50%);
}

.menu-toggle:after {
    bottom: 0;
}

/* X state */
.menu-toggle.active:before {
    top: 50%;
    transform: translateY(-50%) rotate(45deg);
}

.menu-toggle.active span {
    opacity: 0;
}

.menu-toggle.active:after {
    bottom: auto;
    top: 50%;
    transform: translateY(-50%) rotate(-45deg);
}
/*

nav.mobile {
    display: none;
	min-height: 550px;
transform: translateX(-100%);
    transition: transform .25s ease;

}
*/

/* visible when JS adds .open */

nav.mobile.open {
    opacity: 1;
    visibility: visible;
}

nav.mobile {
   min-height: 550px;
  
position: absolute;
    top: 165px;

  
  right: 5%;
    left: auto;

    width: min(90vw, 800px);

    background: #fff;
    border-radius: 14px;
    border: 4px solid var(--offwhite);
    box-shadow: 0 15px 40px rgba(0,0,0,.2);

    z-index: 9999;


    opacity: 0;
    visibility: hidden;
    transition: opacity .25s ease, visibility .25s ease;

}

.mobile_top {
    display: none;
}
#menu-primary {
    width: 220px;
    height: 100%;
    margin: 0;
    padding: 0;
    list-style: none;
    background: #fff;
    border-right: 1px solid #e5e5e5;
    padding: 20px 0;
}

#menu-primary > li {
    position: static;
    border: 0;
}

#menu-primary > li > a {
display: flex;
    align-items: center;
    justify-content: space-between;
    font-family: var(--header);
    padding: 5px 15px;
    text-transform: uppercase;
    text-decoration: none;
    font-size: 18px;
    font-weight: 700;
    color: #000;
    border: 0;
    background: transparent;
}

#menu-primary > li:hover > a {
    color: var(--primary);
}

#menu-primary > li > .sub-menu {
       position: absolute;
    top: 0; height: 100%;
    left: 220px;
  border: 5px solid #fff;
    background: #f5f5f5;
    display: none;
    border-radius: 10px !important;
    overflow: hidden !important;
    right: 0 !important;
    box-sizing: border-box !important;
}


#menu-primary > li > .sub-menu.multi-column {
    column-count: 3;
    column-gap: 5px;
}

#menu-primary > li:hover > .sub-menu {
    display: block;    
}

.sub-menu {padding-inline-start: 0px !important;}

#menu-primary .sub-menu li {
    border: 0;
	list-style: none !important;

    break-inside: avoid;
}

#menu-primary .sub-menu a {
    text-decoration: none;
    display: block;
    text-decoration: none;
	padding: 10px;
    color: var(--black);
    font-family: var(--header);
    font-size: 18px;
    font-style: normal;
    line-height: 100%;
    text-transform: uppercase;
    cursor: pointer;
    font-weight: 700;

    border: 0;
    background: transparent;
}
#menu-primary .sub-menu a:hover {
    color: #f0c300;
}

#menu-primary > li > a i {
    display: none;
}

#menu-primary > li.menu-item-has-children > a::after {
    content: "\f35a";
	    font-family: "Font Awesome 5 Free";
	font-weight: 900;
    font-size: 16px;

    color: #000;

    margin-left: auto;
}

.mega-title {
     display: block !important;
    width: 100%;
    padding: 10px 25px !important;
    font-family: var(--header);
    background: var(--primary);
    color: #000;
    font-size: 18px;border-radius: 10px 10px 0 0;
    font-weight: 800;
    text-transform: uppercase;
    list-style: none;
    border: 0 !important;
    column-span: all;
}

	.nav-footer {
		color: #277eab;
		position: relative;
		text-align: center;
		font-size: 14px;
		line-height: 16px;
		padding: 15px 0;
	}
	/* FONT AWESOME ICONS */
	nav.mobile ul li a .fa {
		width: 25px;
		font-weight: 100;
		padding: 8px 3px;
		margin: 0 6px 0 0;
		text-align: center;
		background: #292929;
		-webkit-border-radius: 30px;
		-moz-border-radius: 30px;
		border-radius: 30px;
		text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3);
	}
	nav.mobile ul li .fa-chevron-down {
		color: #999;
	}



@media (max-width: 900px) {
	
nav.mobile {
	min-height: 650px;}	
	
}



@media (max-width: 776px) {

    nav.mobile {
        position: absolute;
        top: 100%;
        right: 0;

        width: 100vw;
        max-width: none;

        min-height: auto;
        max-height: calc(100vh - 80px);
        overflow-y: auto;

        opacity: 0;
        visibility: hidden;
		box-shadow: none !important;
        transform: translateY(-15px);

        transition:
            opacity .25s ease,
            transform .25s ease,
            visibility .25s ease;

        border-radius: 0;
        border: 0;
    }

    nav.mobile.open {
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
    }

    #menu-primary {
        width: 100%;
        border-right: 0;
    }

    #menu-primary > li > .sub-menu {
              display: none;
        position: static;
        height: auto;
        left: auto;
        border: 0;
        border-radius: 0;
        background: #f5f5f5;
    }
	#menu-primary > li > a {font-size: 22px;padding: 10px 30px;}
    #menu-primary > li > .sub-menu.multi-column {
        column-count: 2;
    }
	.header-wrap {position: relative;background:#fff;z-index: 9999;}
	#menu-primary > li.menu-item-has-children > a::after {    transform: rotate(90deg);font-size: 18px;}
	.mega-title{display: none !important;}
	#menu-primary > li:hover > a {
    background: var(--primary);color:#000;
}
	
	#menu-primary .sub-menu a {padding: 15px 20px;}
}





