nav.primary{display: block; position: relative; padding: 0; margin: 0; width: 100%; font-size: 0;}
nav.primary i, nav.primary svg{margin-left: 9px; font-size: 11px; opacity: .75;}
nav.primary ul{text-align: center;}
nav.primary ul li{display: inline-block; margin: 0;}
nav.primary ul li a{display: flex; align-items: center; justify-content: center; position: relative; padding: 8px 2px; margin: 0 15px; font-family: trumpgothicpro, sans-serif; font-size: 20px; font-weight: 500; text-align: center; text-transform: uppercase; letter-spacing: 3px; color: #fff;}
nav.primary ul li:hover > a{opacity: 1;}
nav.primary ul li:hover > ul{display: block; z-index: 100;}

nav.primary ul ul{display: none; position: absolute; top: calc(100% + 3px);}
nav.primary ul ul li{display: block; width: 275px; position: relative; margin: 0;}
nav.primary ul ul li a{background: #222; justify-content: flex-start; padding: 12px 20px; font-size: 16px; letter-spacing: 2px; color: #eee;}
nav.primary ul ul li:hover a{background: #333; color: #fff;}

/* ANIMATIONS */

nav.primary ul li a:before{content: ''; position: absolute; top: 100%; height: 3px; left: 0px; right: 100%; background: #E41C38; -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 */

nav.mobile, #menu-button{display: none;}
nav.mobile ul li a{display: flex; align-items: center; padding: 15px; font-family: trumpgothicpro, sans-serif; font-size: 15px; font-weight: 700; text-transform: uppercase; letter-spacing: 2px; color: #fff; opacity: .75; border-bottom: 1px #333 solid;}
nav.mobile ul li a:hover{opacity: 1;}

nav.mobile ul li{background: #222;}
nav.mobile ul ul li{background: #2e2e2e;}
nav.mobile ul ul ul li{background: #333;}
nav.mobile ul ul ul ul li{background: #3e3e3e;}
nav.mobile ul ul ul ul ul li{background: #444;}
nav.mobile ul ul{display: none;}

@media screen and (max-width: 1500px){
	nav.primary ul li a{margin: 0 8px; font-size: 18px;}
}
@media screen and (max-width: 1100px){
	.navigation .wrap{padding: 0;}
	
	#menu-button{display: block; width: 100%; z-index: 1000;}
	#menu-button a{display: block; padding: 12px 24px; font-size: 18px; font-weight: 700; text-transform: uppercase; text-align: center; color: #fff;}
	#menu-primary i, #menu-primary svg{margin-left: auto;}
	
	nav.primary{display: none;}
	nav.mobile{display: block; position: fixed; top: 42px; left: -280px; width: 280px; height: 100vh; background: #222; overflow: auto; box-shadow: 5px 0px 10px 0px rgba(0, 0, 0, 0.1); z-index: 999999;}
	nav.mobile .mobile-header{display: flex; align-items: center; position: relative; padding: 20px 15px; border-bottom: 1px #333 solid;}
	nav.mobile .mobile-header .mobile-title{font-family: trumpgothicpro, sans-serif; font-size: 20px; font-weight: 700; text-transform: uppercase; letter-spacing: 2px; color: #eee;}
	nav.mobile .mobile-header .menu-toggle{margin-left: auto; font-size: 16px; font-weight: 900; color: #ccc; cursor: pointer;}
	nav.mobile .mobile-header .menu-toggle:hover{opacity: .5;}
	nav.mobile .mobile-copyright{display: block; opacity: .5; margin-top: 20px; font-size: 11px; text-transform: uppercase; text-align: center; color: #fff;}
}