/*
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: left;
   clear: both;
   width: 100%;
   font-size: 0;
   z-index: 9999;   
}

.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:#4a4a4a;
	
	/* 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 {
	
}

.nav-menu > li > a { color:#000; font-weight:500;}

.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:#000;
}

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

/* 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 {
	
}

.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:left;	
}

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

.rex-menu a {
	font-weight: 400;
	font-family: 'Poppins', sans-serif;
	text-rendering: optimizeLegibility;
	text-transform:uppercase;
	padding:28px 6px;
}

/* Sub-menus - font size and text alignment*/
.rex-menu ul ul a {   
    font-size:13px;	
    text-align:left;
	text-transform:none;
	padding: 12px 15px;
}

.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;   
}

.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;   
}

.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: 768px) {
	.rex-menu 
	{		 
		height: auto !important;
	}
	.rex-menu ul {	
      text-align:left;
	  float:right;
    }
	.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;
   }

   
	/*-----------------------------------------------------------------------------------*/
	/*  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:0px 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:200px;	/* <- 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: 767px) {
   .rex-menu .row [class*="col-"] {
       float: left!important;
       width: 100%!important;
       margin-left: 0!important;
       margin-right: 0!important;
    }
	.rex-menu-toggle
	{
		margin:14px 0px 12px 0px;
	}
	.rex-menu-toggle:hover
	{
	  color:#fff !important;
	}
    .rex-menu a
   {
	   padding:12px 6px;
   }
	.nav-menu > li > a {
		border-bottom:1px solid #ddd;
	}
	
	.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: 14px 18px;	
		cursor:pointer;
		line-height: 15px;
		background: none;
		border-left: 1px solid #ddd;		
		
		/* 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: 13px 18px;	
		cursor:pointer;
		line-height: 15px;
		border-left:1px solid #ddd;		
		
		/* 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:12px;
		cursor:pointer;
		background:#f6f3ed;		
		color:#000;
		font-size:13px;
		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-toggle i
	{
		color:#fff;
	}
	
	.rex-menu-close {
    	height: 0;		
    	overflow: hidden!important;
	}
	
	/*Menu Toggle Appearance*/
	.rex-menu-toggle {      
		padding: 8px 14px;
		display: block;
		background: #134b97;
		position: relative;
		cursor:pointer;		
		border-bottom: 2px solid #e21f26; 	
		border-radius:3px;	
		color: #eee;
		font-size: 16px;
		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:0px; 
	}
	nav.rex-menu 
	{
      max-height: 350px;
      overflow-y: auto;
	  box-shadow: inset 0 14px 20px -20px rgba(0,0,0,0.5);
    }
	
}

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

/************************************************
	Transitions
************************************************/
@media screen and (min-width: 768px) {
	.rex-menu ul ul {
		opacity: 0;
		display: block;
		visibility: hidden;	
		transform: translateY(10px);
	}

	.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 {    
		 opacity: 1;
		 visibility:visible;		
		 transform: translateY(0px);
	}	
}