/*
Author: Mad Rex Themes
Author URI: http://madrexthemes.com
Description: Rex Menu is a fully responsive, easy-to-use, highly customized and creative Mega Menu
Version: 1.0.1
*/
/*-----------------------------------------------------------------------------------*/
/*	GLOBAL CSS THAT ARE APPLIED FOR ALL SCREEN SIZES
/*-----------------------------------------------------------------------------------*/
.rex-menu {
   float: right;
   clear: both;
   width: 100%;
   font-size: 0;
   z-index: 9999;
   background: #1c1c1c;
   x-webkit-box-shadow: 0 2px 5px rgba(0, 0, 0, .2);
   x-moz-box-shadow: 0 2px 5px rgba(0, 0, 0, .2);
   xbox-shadow: 0 2px 5px rgba(0, 0, 0, .2);
}

.rex-menu ul,
.rex-menu li,
.rex-menu p,
.rex-menu a,
.rex-menu div,
.rex-menu i {
   border: 0;
   margin: 0;
   padding: 0;
}

.rex-menu li {
   display: block;
   vertical-align: top;
   position: relative;
}

.rex-menu a {
   display: block;
   padding: 16px;
}

.rex-menu .row {
    float: left;
    width: 100%;
    position: relative;
}

/*-----------------------------------------------------------------------------------*/
/*	SUB-MENUS SETTINGS 
/*-----------------------------------------------------------------------------------*/
/* Hide sub-menus */
.rex-menu ul ul {
	position: absolute;
   top: 100%;
   width: 100%;
   display: none;	
}

.rex-menu ul ul.visible, .rex-menu ul .rex-mega-menu ul.visible ul.sub-menu {	
	display:block;
   z-index: 17;
}

/* Adjust position of mega-menu */
.rex-menu li:hover > ul.mega-menu > li > ul {
    position:relative;
}

/*-----------------------------------------------------------------------------------*/
/*	SUB-MENUS APPEARANCE 
/*-----------------------------------------------------------------------------------*/
/* Place border bottom */
.rex-menu ul ul li {
    border-bottom:1px solid rgba(0, 0, 0, .05);
}

/* Remove border bottom on last li*/
.rex-menu ul ul li:last-child {
    border-bottom:none;
}

/* Puts shadow on sub-menus */
.rex-menu .sub-menu, .mega-menu {
	-webkit-box-shadow: 0px 4px 13px -3px #232323;
    -moz-box-shadow: 0px 4px 13px -3px #232323;
    -ms-box-shadow: 0px 4px 13px -3px #232323;
    -o-box-shadow: 0px 4px 13px -3px #232323;
    box-shadow: 0px 4px 13px -3px #232323;
}

/*-----------------------------------------------------------------------------------*/
/*  APPEARANCE SETTINGS 
/*-----------------------------------------------------------------------------------*/
.rex-menu a {
    color:#fff;
	
	/* Remove the blue Webkit background when element is tapped */
	-webkit-tap-highlight-color:rgba(0,0,0,0);
}

.nav-menu > li > a:hover, .nav-menu > .current_page_item > a, .nav-menu > .current-menu-item > a, .nav-menu > .current-menu-ancestor > a {
	color:#d7d7d7;
	background:#000;
	
	-webkit-box-shadow:0 2px 2px rgba(0, 0, 0, .1);
	-moz-box-shadow:0 2px 2px rgba(0, 0, 0, .1);
	box-shadow:0 2px 2px rgba(0, 0, 0, .1);
}

.nav-menu > li > a { color:#d7d7d7; }

.rex-menu ul ul li:hover > a, .nav-menu ul .current-menu-item a, .nav-menu ul .current_page_item a, .mega-menu li p a:hover {    
    color: #4a4a4a;
    background: #ddd;
}

.rex-menu ul ul {
    background-color:#0863B0;
}

/* Modifies position of icons on the menu */
.rex-menu li i {
	margin-right:10px;
	font-size:16px;
	/* Make the font smoother for Chrome */
	transform:translate3d(0, 0, 0);    
}

/* Put down arrows */
.nav-menu .rex-mega-menu > a span:after, .nav-menu > .menu-item-has-children > a span:after {
    content:"\f107";
    font-family:FontAwesome;
    float:right;
    margin:2px 0 0 5px;
}

.mega-menu h1, .mega-menu h2, .mega-menu h3 {
	margin-bottom:24px;
}

.nav-menu > li > a {
	-webkit-box-shadow: -1px 0 0 0 rgba(0,0,0,.1);
	-moz-box-shadow: -1px 0 0 0 rgba(0,0,0,.1);
	box-shadow: -1px 0 0 0 rgba(0,0,0,.1);
}

.nav-menu li .mega-menu li a {    
    padding:0;
	width:auto;
	display:inline-block;
}

/*-----------------------------------------------------------------------------------*/
/*  Typography
/*-----------------------------------------------------------------------------------*/
.rex-menu ul {	
    /* Put "center" to align the center menu */	
    text-align:right;
}

.rex-menu li {
    font-size:14px;
}

.rex-menu a {
	font-weight: 400;
	font-family: 'Oswald', sans-serif;
	text-rendering: optimizeLegibility;
}

/* Sub-menus - font size and text alignment*/
.rex-menu ul ul a {   
    font-size:14px;	
    text-align:left;
}

.mega-menu p {
	margin:12px 0;
}

.mega-menu li p a {
	font-size:16px;
    font-family: "Open Sans",sans-serif;
}

/*-----------------------------------------------------------------------------------*/
/*  MEGA MENU
/*-----------------------------------------------------------------------------------*/
.nav-menu {
    position:relative;
}

.nav-menu .rex-mega-menu {
    position: relative;
}

   .nav-menu .mega-menu {
      left: 0;
      width: 100%;
      min-height: 250px;
      position: absolute;
      background-color: #0863B0;
   }

.nav-menu .mega-menu .mega-menu-container {
	float:left;
	width:100%;
	position:relative;
	padding:16px 16px 0 16px;
}

   .nav-menu .mega-menu .sub-menu {
      display: block;
      position: relative;
      width: auto;
      padding: 0;
      min-height: initial;
      box-shadow: none;
      background-color: #0863B0;
   }

.nav-menu .mega-menu .sub-menu a {
	padding:12px;
}

.nav-menu .mega-menu .sub-menu li, .nav-menu .mega-menu .sub-menu a {
    width:100%;
}

.nav-menu .mega-menu .sub-menu a:hover {
	color:#fff;
	background:#232323;
}

/*-----------------------------------------------------------------------------------*/
/*  MEGA MENU - IMAGES
/*-----------------------------------------------------------------------------------*/
.nav-menu .mega-menu li div.mega-menu-img a {
	float:left;
	width:100%;
	min-height:230px;
	padding:12px;
	background:#F6F3ED;
}

.nav-menu .mega-menu li div.mega-menu-img a:hover {
	background:#232323;
}

.nav-menu .mega-menu li div.mega-menu-img a:hover h1 {
	color:#fff;
}

/*Hover Effect Images*/
.nav-menu .mega-menu li div.mega-menu-img a:hover img {
    -webkit-transform: scale(1.1);
    -moz-transform: scale(1.1);
    -o-transform: scale(1.1);
    -ms-transform: scale(1.1);
    transform: scale(1.1);
}

.nav-menu .mega-menu-img h1 {
	font-size:16px;
	margin:12px 0 0 0;
}

.nav-menu .mega-menu > li .mega-menu-img-meta {
    padding:0;
    width:auto;
    position:relative;
    height:auto;
    overflow:hidden;
    -webkit-backface-visibility:hidden;
}

/*-----------------------------------------------------------------------------------*/
/*  MEGA MENU - MAP
/*-----------------------------------------------------------------------------------*/
#map {
	height:500px;
}

/*-----------------------------------------------------------------------------------*/
/*  TRANSITIONS AND EFECTS
/*-----------------------------------------------------------------------------------*/
.nav-menu ul {
    -webkit-transition:all .3s ease-in-out;
    -moz-transition:all .3s ease-in-out;
    -ms-transition:all .3s ease-in-out;
    -o-transition:all .3s ease-in-out;
    transition:all .3s ease-in-out
}

.mega-menu-img-meta img {
    -webkit-transition:-webkit-transform .3s ease-in-out;
    -moz-transition:-moz-transform .3s ease-in-out;
    -o-transition:-o-transform .3s ease-in-out;
    -ms-transition:-ms-transform .3s ease-in-out;
    transition:transform .3s ease-in-out
}

/*-----------------------------------------------------------------------------------*/
/*  LINE
/*-----------------------------------------------------------------------------------*/
.rex-menu .line {
	padding-bottom:12px;
	border-bottom:1px solid rgba(0, 0, 0, .05);
}

/*-----------------------------------------------------------------------------------*/
/*  RESPONSIVE IMAGES
/*-----------------------------------------------------------------------------------*/
.rex-menu img {
	max-width:100%;	
    height:auto;
    -ms-interpolation-mode:bicubic
}

/*-----------------------------------------------------------------------------------*/
/*  MEDIA QUERIES
/*-----------------------------------------------------------------------------------*/
@media screen and (min-width: 500px) {
	.rex-menu h1 {
		font-size: 3.8rem;
		line-height: 1.2em;
	}

	.rex-menu h2 {
		font-size: 2rem;
		line-height: 1.2em;
	}

	.rex-menu h3 {
		font-size: 3.3rem;
	}

	.rex-menu h4 {
		font-size: 2.8rem;
	}
}

@media screen and (min-width: 900px) {
	.rex-menu {
		border:1px solid #000;    
		height: auto !important;
	}
	
	.rex-menu h1 {
		font-size: 3.2rem;
		line-height: 1.2em;
	}

	.rex-menu h2 {
		font-size: 2.5rem;
		line-height: 1.2em;
	}

	.rex-menu h3 {
		font-size: 2rem;
	}
	
	.rex-menu h4 {
		font-size: 1rem;
	}
	
	/* Grid */
   .rex-menu .row [class*="col-"] {
      display: block;
      width: 100%;
      min-height: 5px;
      -webkit-box-sizing: border-box;
      -moz-box-sizing: border-box;
      -ms-box-sizing: border-box;
      box-sizing: border-box;
      float: left;
      margin-left: 2.5%;
   }

   .rex-menu .row [class*="col-"]:first-child {
      margin-left: 0 !important;
   }

   .rex-menu .row .col-12 {
      width: 100%;
   }

   .rex-menu .row .col-11 {
      width: 91.45833333333334%;
   }

   .rex-menu .row .col-10 {
      width: 82.91666666666667%;
   }

   .rex-menu .row .col-9 {
      width: 74.375%;
   }

   .rex-menu .row .col-8 {
      width: 65.83333333333334%;
   }

   .rex-menu .row .col-7 {
      width: 57.29166666666667%;
   }

   .rex-menu .row .col-6 {
     width: 48.75%;
   }

   .rex-menu .row .col-5 {
     width: 40.208333333333336%;
   }

   .rex-menu .row .col-4 {
      width: 31.666666666666668%;
   }

   .rex-menu .row .col-3 {
      width: 23.125%;
   }

   .rex-menu .row .col-2 {
      width: 14.583333333333334%;
   }

   .rex-menu .row .col-1 {
      width: 6.041666666666667%;
   }
	/*-----------------------------------------------------------------------------------*/
	/*  RESPONSE MENU
	/*-----------------------------------------------------------------------------------*/
	.rex-menu li {
    	display:inline-block;
	}
	
	.nav-menu .rex-mega-menu {
    	position: static;
	}
	
	.rex-menu ul ul.visible {
		visibility: hidden;
    	opacity:0;
	}
	
	/* Remove arrows if not in mobile */
	.nav-menu .menu-item-has-children > span, .nav-menu .rex-mega-menu > span {
		display:none;
	}
	
	/* Remove Menu Toggle if not in mobile */	
	.rex-menu-toggle {
		display:none;
	}
	
	/* Remove Menu Close if not in mobile */
	.nav-menu div.sub-menu-close {
		display:none;
	}
	
	/* Insert arrows down */
	.nav-menu .rex-mega-menu > a:after, .nav-menu > .menu-item-has-children > a:after {
		content:"\f107";
		font-family:FontAwesome;
		float:right;
		margin:2px 0 0 5px;
	}
	
	/* Put arrows to the right */
	.nav-menu ul .menu-item-has-children > a:after {
		content:"\f105";
		font-family:FontAwesome;
		float:right;
	}

	/* Show sub-menus in hover */
	.rex-menu li:active > ul, .rex-menu li:focus > ul, .rex-menu li:hover > ul, .rex-menu li:hover > ul.mega-menu > li > ul, .rex-menu li:hover ul.mega-menu .sub-menu {		
		display:block;
		z-index: 17;	
	}

	/* Adjust position the sub-menus in the left */
	.rex-menu ul ul li > ul {
		left:100%;
	}
	
	/* Adjust position the sub-menus on the top */
	.rex-menu ul ul ul {
		top:0;
	}	
	
	.rex-menu ul ul {
		width:auto;
	}
	
	/* Sub-menus - width */
	.rex-menu ul ul a {
		width:285px;	/* <- Modify for width change */
	}
	
	.nav-menu .mega-menu li div.mega-menu-img a {	
		width:25%;
	}
	
	.nav-menu .mega-menu > li .mega-menu-img-meta {
    	height:135px;
	}
	
	.nav-menu .mega-menu .mega-menu-container {		
		padding: 16px;
	}
		
}

/*-----------------------------------------------------------------------------------*/
/*  ARROWS FIXES IN IE
/*-----------------------------------------------------------------------------------*/
@media screen and (min-width:0\0) {
	.rex-menu img {
    	width:100%;    	
	}
	
    .nav-menu .menu-item-has-children a, .nav-menu .rex-mega-menu a {
        padding-right:24px
    }
	
    .nav-menu .menu-item-has-children a:after, .nav-menu .rex-mega-menu a:after {
        position:static;
        float:right;
        margin:0 -16px 0 0
    }   
}

@media only screen and (max-width: 899px) {
   .rex-menu .row [class*="col-"] {
       float: left!important;
       width: 100%!important;
       margin-left: 0!important;
       margin-right: 0!important;
    }
   
	.nav-menu > li > a {
		border-bottom:1px solid #131313;
	}
	
	.nav-menu > li:last-child > a {
    	border-bottom:none;
	}
	
	.nav-menu span.rex-menu-parent i { 
		margin:0;
	}
	
	.nav-menu > .menu-item-has-children > span.rex-menu-parent, .nav-menu .rex-mega-menu > span.rex-menu-parent {		
		display: block;
		position: absolute;
		right: 0;
		top: 0;
		padding: 20px;	
		cursor:pointer;
		line-height: 15px;
		background: #181818;
		border-left: 1px solid #131313;		
		
		/* Remove the blue Webkit background when element is tapped */
		-webkit-tap-highlight-color:rgba(0,0,0,0);    
	}	
	
	.nav-menu > .menu-item-has-children > span.rex-menu-parent:hover, .nav-menu .rex-mega-menu > span.rex-menu-parent:hover {	
		color: #fff;
	}
	
	.nav-menu > .menu-item-has-children .sub-menu .menu-item-has-children span.rex-menu-parent {		
		display: block;
		position: absolute;
		right: 0;
		top: 0;
		padding: 20px;	
		cursor:pointer;
		line-height: 15px;
		border-left:1px solid rgba(0, 0, 0, .05);		
		
		/* Remove the blue Webkit background when element is tapped */
		-webkit-tap-highlight-color:rgba(0,0,0,0);    
	}

	/*Options Menu Closed*/
	.nav-menu div.sub-menu-close {
		float:left;
		width:100%;
		padding:16px;
		cursor:pointer;
		background:#f6f3ed;
		
		color:#000;
		font-size:14px;
		text-align:center;		
	}
	
	.nav-menu div.sub-menu-close i {		
		font-size:16px;
		margin-right: 5px;
	}
	
	.rex-menu .sub-menu {
		-webkit-box-shadow: 0 0 20px rgba(0,0,0,.15);
		-moz-box-shadow: 0 0 20px rgba(0,0,0,.15);
		-ms-box-shadow:  0 0 20px rgba(0,0,0,.15);
		-o-box-shadow:  0 0 20px rgba(0,0,0,.15);
		box-shadow:  0 0 20px rgba(0,0,0,.15);
	}
	
	.rex-menu-close {
    	height: 0;		
    	overflow: hidden!important;
	}
	
	/*Menu Toggle Appearance*/
	.rex-menu-toggle {      
		padding: 16px;
		display: block;
		background: #222;
		position: relative;
		cursor:pointer;		
		border-bottom: 2px solid #000; 
		
		color: #eee;
		font-size: 12px;
		text-transform: uppercase;
		
		/* Remove the blue Webkit background when element is tapped */
		-webkit-tap-highlight-color:rgba(0,0,0,0);
	}
	
	.rex-menu-toggle i {
		margin-right:10px; 
	}
	
}

@media only screen and (max-width: 1080px) {	
	.nav-menu > li > a i {
		display:none;
	}
}

@media only screen and (min-width: 1117px) {
	.rex-menu a {    
    	padding:20px;
	}
}