nav.primary{display: block; position: relative; padding: 0; margin: 0; width: 100%; font-size: 0;}
nav.primary ul{display: flex; align-items: center;}
nav.primary ul i{margin-left: 10px; font-size: 10px; color: #aaa !important;}
nav.primary ul li.show-mobile{display: none;}
nav.primary ul li a{display: block; position: relative; padding: 20px 10px; margin: 0; font-size: 15px; font-weight: 500; text-align: center;}
nav.primary ul li:hover > a{color: #000;}
nav.primary ul li:hover > ul{display: block; z-index: 100;}

nav.primary ul ul{display: none; justify-content: flex-start; position: absolute; background: #fff; padding: 0; box-shadow: 10px 10px 50px 0px rgba(43,29,103,0.05);}
nav.primary ul ul li{display: block; width: 275px; position: relative; margin: 0;}
nav.primary ul ul li a{padding: 12px 20px; font-size: 14px; font-weight: 300; text-align: left;}
nav.primary ul ul li:hover > a{background: #fafafa; color: #000;}
nav.primary ul ul ul{position: absolute; left: 100%; top: 0;}

/* ANIMATIONS */

nav.primary ul li a:before{content: ''; position: absolute; top: calc(100% - 3px); height: 3px; left: 0px; right: 100%; background: #FB5E0F; -webkit-animation: underlineOut 0.2s; animation: underlineOut 0.2s;}
nav.primary ul li:hover > a:before{-webkit-animation: underlineIn 0.4s; animation: underlineIn 0.4s; -webkit-animation-fill-mode: forwards; animation-fill-mode: forwards;}

nav.primary ul ul li:hover > a:before{-webkit-animation: none; animation: none;}

@-webkit-keyframes underlineIn{
	0%{left: 0; right: 100%;}
	100%{left: 0; right: 0;}
}
@keyframes underlineIn{
	0%{left: 0; right: 100%;}
	100%{left: 0; right: 0;}
}

/* RESPONSIVE */

#menu-button{display: none; width: 100%; z-index: 1000;}
#menu-button .menu-toggle{display: block; padding: 10px 20px; font-size: 18px; font-weight: 700; text-transform: uppercase; text-align: center; color: #aaa; cursor: pointer;}

nav.mobile{display: none; position: fixed; top: 0; left: -300px; width: 300px; height: 100%; background: #fff; overflow: auto; box-shadow: 5px 0px 10px 0px rgba(0, 0, 0, 0.1); z-index: 999999;}
nav.mobile ul i{margin-left: auto;}
nav.mobile ul li a{display: flex; align-items: center; font-size: 15px; font-weight: 600; padding: 15px 20px;}
nav.mobile ul ul li a{background: #F9FAFB; font-size: 14px; font-weight: 300; color: #333;}
nav.mobile ul ul{display: none;}

nav.mobile .mobile-header{display: flex; align-items: center; position: relative; padding: 15px;}
nav.mobile .mobile-header .mobile-title img{display: block; max-width: 150px;}
nav.mobile .mobile-header .menu-toggle{margin-left: auto; padding: 0 5px; font-size: 20px; font-weight: 900; color: #aaa; cursor: pointer;}
nav.mobile .mobile-header .menu-toggle:hover{opacity: .5;}

nav.mobile .mobile-social{margin-top: auto; padding-top: 20px;}
nav.mobile .mobile-social ul{display: flex; align-items: center; justify-content: center; gap: 8px;}
nav.mobile .mobile-social ul li a{display: flex; align-items: center; justify-content: center; background: #F9FAFB; width: 35px; height: 35px; padding: 0; font-size: 14px; text-align: center; color: #666; border: none; border-radius: 50px; opacity: 1;}
nav.mobile .mobile-social ul li a:hover{background: #ddd; color: #333; opacity: 1;}
nav.mobile .mobile-social ul li a i{margin: auto;}

nav.mobile .mobile-copyright{display: block; margin: 20px 0; font-size: 12px; text-align: center; text-transform: uppercase;}

@media screen and (max-width: 1200px){
	nav.primary ul li a{font-size: 14px;}
}
@media screen and (max-width: 1024px){
	#menu-button{display: block;}
	nav.primary{display: none;}
	nav.mobile{display: flex; flex-direction: column;}
}