/**
 * Name: layout.css
 *	
 *	T.O.C
 *
 * =Wrap
 * =Header Top
 * =Header
 * =Logo
 * =Menu
 * =Mobile Menu
 * =Mobile menu trigger
 * =Custom search form
 * =Sticky Header
 * =Content
 * =Page Header
 * =Footer Top
 * =Footer
 * =Footer Bottom
 * =Back to top 
 *
 */

 
/* ==========================================================================
   =Wrap
   ========================================================================== */
  

	#wrap {
		position: relative;
		background-color: #fff;
	}
	
	@media (max-width: 767px) {

		#wrap { border-top: 10px solid #313947; }

	}

/* ==========================================================================
	=Header Top
	========================================================================== */
   
	#header-top {
		padding: 12px 0;
		background-color: #313947;
		color: #fff;
	}
   
   	#header-top a, 
	#header-top h1,
	#header-top h2,
	#header-top h3,
	#header-top h4,
	#header-top h5,
	#header-top h6 { color: #fff; }
	
	#header-top .widget:last-child { margin-bottom: 0; }
	
	#header-top .ewf_widget_contact_info { float: right; }
	
	#header-top .ewf_widget_contact_info ul li {
		display: inline-block; 
		padding-bottom: 0;
		padding-left: 30px;
		margin-right: 30px;
		margin-bottom: 0;
	}
	
	#header-top .ewf_widget_contact_info ul li:last-child { margin-right: 0; }
	
	#header-top .ewf_widget_contact_info ul li span { border: none; }
   
   @media (max-width: 767px) {

		#header-top { display: none; }

	}
   
/* ==========================================================================
   =Header 
   ========================================================================== */
   	
	/**
 	 * 1. z-index is 105 because the tp-bullets has a z-index of 100 
 	 */
	
	#header {
		    position: fixed;
			z-index: 1020; /* 1 */
			top: 0;
			width: 100%;
			
			box-shadow: 0 20px 40px rgba(0, 0, 0, 0.2);
			margin: 0 auto;
			background-color: #fff;
			-webkit-transition: padding 0.3s;
			transition: padding 0.3s;
			
	}
	
	 @media (max-width: 767px) {
		 
		 #header {
			
			 top: 0;
			 background-color: #fff;
		 }
		
	 }
	
/* ==========================================================================
   =Logo
   ========================================================================== */
   
	
	
/* ==========================================================================
   =Menu 
   ========================================================================== */
	
	a.menu-collaps {
		float: right;
		display: block;
		color: #fff;
		text-decoration: none;
		padding-right:20px;
	}
	
	a.menu-collaps i {
		font-size: 32px;
		line-height: 32px;
	}
	
	.nav {
		position: fixed;
		z-index: 1010;
		top: 0;
		width: 375px;
		height: 100%;
		-webkit-box-sizing: border-box;
		   -moz-box-sizing: border-box;
				box-sizing: border-box;
		overflow: auto;
		padding: 80px 80px 80px 50px;
		background-color: #f9f9f9;
		-webkit-transition: all 0.3s;
				transition: all 0.3s;
	}
	
	.nav.right { right: -100%; }
	.nav.right.nav-open { right: 0; }
	
	.nav.left { left: -100%; }
	.nav.left.nav-open { left: 0; }
	
	.nav .close-menu {
		position: absolute;
		top: 30px;
	}
	
	.nav .close-menu i { 
		color: #898989; 
		font-size: 18px;
	}
	
	.nav.right .close-menu { right: 30px; }
	.nav.left .close-menu { left: 30px; }
	
	
	.push-menu-left {
		position: relative;
		left: 260px; 
		-webkit-transition: all 0.3s;
				transition: all 0.3s;
	}
	
	.push-menu-right {
		position: relative;
		right: 260px;
		-webkit-transition: all 0.3s;
				transition: all 0.3s; 
	}
	
	.menu {
		padding: 0;
		margin: 0;
		margin-bottom: 65px;
		list-style: none;
	}
	
	.menu li {}
	
	.menu li a {
		display: block;
		padding-bottom: 15px;
		border-bottom: 1px solid #e0e0e0;
		margin-bottom: 15px;
		color: #898989;
		text-decoration: none;
		text-transform: uppercase;
	}
	
	.menu li:last-of-type a {
		padding-bottom: 0;
		border-bottom: none;
		margin-bottom: 0;
	}
	
	.menu li a:hover,
	.menu li.current a {
		border-bottom-color: #4fb7ff;
		color: #313947;
	}
	
	@media (max-width: 767px) {
		
		.menu-collaps {
			position: absolute;
			top: -70px;
			right: 20px;
		}
		
		.nav { width: 100%; }
		
	}
	
	@media only screen and (min-width: 480px) and (max-width: 767px) {
		
		.menu-collaps { right: 50px; }
			
	}	
		
/* ==========================================================================
   =Custom search form 
   ========================================================================== */
	
	#custom-search-button + .sf-menu { margin-right: 60px; }
	
	#custom-search-button { 
		position: absolute;
		top: 43px;
		right: 0;
		display: block;
		width: 32px;
		height: 32px;
		background: url(../images/bg-search.png) no-repeat center center;
		border: 1px solid #bebebe;
		border-radius: 3px;
	}
	
	/**
 	 * 1. z-index is 1030 because the dropdown menu has a z-index of 1025 
 	 */
	 
	#custom-search-form {
		position: absolute;
		z-index: 1030; /* 1 */
		top: 97px;
		right: -10px;
		display: none;
	}

	#custom-search-form:before {
		position: absolute; 
		z-index: 9; 
		top: -9px; 
		right: 20px; 
		width: 0; 
		height: 0; 
		border-left: 7px solid transparent; 
		border-right: 7px solid transparent; 
		border-bottom: 10px solid #e0e0e0; 
		content:"";
	}
	
	#custom-search-form:after {
		position: absolute;
		z-index: 10; 
		top: -7px; 
		right: 20px; 
		width: 0; 
		height: 0; 
		border-left: 7px solid transparent; 
		border-right: 7px solid transparent; 
		border-bottom: 10px solid #fff; 
		content:"";
	}
	
	#custom-search-submit { display: none; }
	
	#custom-search-form #s {
		width: 220px;
		padding: 8px 10px;
		border-radius: 0;	
		background-color: #fff; 
	}
	
	#custom-search-form #s:focus { border-color: #e0e0e0; }
	
	
	@media (min-width: 768px) and (max-width: 979px) {

		#custom-search-button { right: 50px; }
		#custom-search-form { right: 40px; }
		
	}
	
	@media (max-width: 767px) {

		#custom-search-button { display: none; }
		
	}

/* ==========================================================================
   =Sticky Header
   ========================================================================== */

	@media (min-width: 1025px) {
		
	/**
 	 * We want to allow the header to be sticky on resolutions > 1024. In order to do this
	 * we position it absolute and when the sticky trigger point is reached we give the #header
     * the .stuck class	and change it's positioning to fixed
	 * 
	 * 1. This value should be the height of the #header 	
 	 */
	
		
		#header-top { 
			margin-bottom: 120px; 	/* 1 */	
		}
		
		/**
		 * 1. The z-index has to be 1020 so it is bigger than the back to top buttons z-index that is 1010
		 */
		
		#header.stuck {
			position: fixed;
			z-index: 1020; /* 1 */
			top: 0;
			width: 100%;
			padding-top: 15px;
			box-shadow: 0 20px 40px rgba(0, 0, 0, 0.2);
			margin: 0 auto;
			background-color: #fff;
			-webkit-transition: padding 0.3s;
					transition: padding 0.3s;
		}
		
		#header.stuck #logo { padding: 6px 0 10px 0; }	
	
		#header.stuck #custom-search-button { top: 12px; }
		#header.stuck #custom-search-form { top: 72px; }
		
		#header.stuck a.menu-collaps {
			margin-top: 10px;
			color: #4fb7ff; 
		}
		
	}
	
/* ==========================================================================
   =Content
   ========================================================================== */
   	
	#content { padding-bottom: 0px;  }

/* ==========================================================================
   =Page Header
   ========================================================================== */
   	
	#page-header {}
	
	#page-header {
		position: relative;
		padding: 80px 0 85px 0;
		margin-bottom: 100px;
		background: no-repeat center center;
		color: #fff;
	}
	
	#page-header h3 {
		margin-right: 60px;
		margin-bottom: 0;
		color: #fff;
		line-height: 24px;
		font-weight: 700;
		text-align: right;
		text-transform: lowercase;
	}
	
	#page-header-overlay { 
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		background-color: rgba(0, 33, 56, 0.75) ;
	}
	
	@media (max-width: 767px) {
		
		#page-header { padding: 40px 0; }
		
		#page-header h3 { text-align: left; }
		
	}
	
/* ==========================================================================
   =Footer Top
   ========================================================================== */

	#footer-top { background-color: #f9f9f9; }
	
	#footer-top-widget-area-1 {}
   
/* ==========================================================================
   =Footer
   ========================================================================== */		
	
	#footer { 
		padding-top: 10px;
		border-top: 1px solid #e0e0e0;
		background:#888;
	}
	
	#footer a, 
	#footer h1,
	#footer h2,
	#footer h3,
	#footer h4,
	#footer h5,
	#footer h6 { color: #6d6d6d; }
	
	#footer .widget-title { text-transform: none; }
	
	#footer .widget { }
	
	#footer-widget-area-1 {}
	#footer-widget-area-2 {}
	#footer-widget-area-3 {}
	#footer-widget-area-4 {}
	
	#footer a.social-icon:hover { color: #fff; }
	
/* ==========================================================================
   =Footer Bottom
   ========================================================================== */	
  
	#footer-bottom { padding-bottom: 30px; background:#ccc; padding-top:20px; }
	
	#footer-bottom a, 
	#footer-bottom h1,
	#footer-bottom h2,
	#footer-bottom h3,
	#footer-bottom h4,
	#footer-bottom h5,
	#footer-bottom h6 { color: #6d6d6d; }
	
	#footer-bottom .widget:last-child { margin-bottom: 0; }
	
	#footer-bottom .ewf_widget_social_media { }
	
	#footer-bottom-widget-area-1 {}
	#footer-bottom-widget-area-2 {}
	
	@media (max-width: 767px) {
		
		#footer-bottom .ewf_widget_social_media { float: none; }
	
		.nav { height:auto;}
	}
	
	
	
/* ==========================================================================
   =Back to top
   ========================================================================== */

	#back-to-top {
		position: fixed;
		z-index: 1010;
		right: -40px;
		bottom: 20px;
		width: 40px;
		height: 40px;
		border-radius: 3px;
		background-color: #111;
		color: #fafafa;
		font-size: 30px;
		line-height: 40px;
		text-align: center;	
		text-decoration: none;				
		opacity: 0.5;
		cursor: pointer;
		-webkit-transition: all 0.4s ease 0s;
				transition: all 0.4s ease 0s;
	}
	
	#back-to-top i {
		font-size: 28px;
		line-height: 40px;
		font-weight: normal;
		vertical-align: top;
		-webkit-transition: all 0.4s ease 0s;
				transition: all 0.4s ease 0s;
	}
	
	#back-to-top:hover { background-color: rgba(0, 0, 0, 0.7); }
	#back-to-top:hover i { color: #fff; }
	#back-to-top.visible { right: 40px; }
	#back-to-top.gone { right: -40px; }	