/**
 * Name: layout.css
 *	
 *	T.O.C
 *
 * =Wrap
 * =Header wrap
 * =Header
 * =Logo
 * =Menu
 * =Mobile Menu
 * =Mobile menu trigger
 * =Menu right
 * =Sticky Header
 * =Content
 * =Page Header
 * =Footer
 * =Back to top
 * =About
 * =Skills
 * =Portfolio
 * =Services
 * =Education
 * =Experience
 * =Contact 
 *
 */

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

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

		#wrap {}

	}

/* ==========================================================================
   =Header-wrap
   ========================================================================== */   
	
	#header-wrap { position: relative; }

/* =Header Style 1
   ========================================================================== */

	.header-style-1 #header-wrap {}

/* =Header Style 2
   ========================================================================== */

	.header-style-2 #header-wrap { 
		padding-top: 470px;  
		background: #333 url(../../_content/backgrounds/bg-header-style-2.jpg) no-repeat center center;
		-webkit-background-size: cover;
				background-size: cover;	
	}
	
	@media (min-width: 980px) and (max-width: 1024px) {
	
		.header-style-2 #header-wrap { padding-top: 50px; }
	
	}
	
	@media (min-width: 768px) and (max-width: 979px) {
		
		.header-style-2 #header-wrap { padding-top: 50px; }
		
	}
	
	@media (max-width: 767px) {
		
		.header-style-2 #header-wrap { padding-top: 150px; }
		
	}

/* =Header Style 3
   ========================================================================== */   

	.header-style-3 #header-wrap { 
		background: #666 url(../../_content/backgrounds/bg-header-style-3.jpg) no-repeat center center;
		-webkit-background-size: cover;
				background-size: cover;	
	}

/* ==========================================================================
   =Header 
   ========================================================================== */
   	
	#header { 
		margin: 0 auto;
		padding: 0 20px;	
		max-width: 1920px; 
		position: relative;
	}
	
	.header-left,
	.header-right {
		float: left;
		width: 50%;
		position: relative;
		min-height: 1px;
	}
	
	@media (min-width: 1024px) {
		
		#header { padding: 0 40px; }
		
	}
	
	@media (min-width: 1200px) {
		
		#header { padding: 0 100px; }
		
	}
	
	@media (min-width: 1400px) {
		
		#header { padding: 0 50px; }
		
	}
	
	@media (min-width: 1700px) {
		
		#header { padding: 0 175px; }
		
	}

	@media (min-width: 768px) and (max-width: 979px) {

		#header { padding: 0 50px; }

	}

	@media (max-width: 767px) {

		#header { padding: 0 20px; }
		
		.header-left,
		.header-right {
			float: none;
			width: 100%;
			position: static;
		}
		
	}

	@media only screen and (min-width: 480px) and (max-width: 767px) {

		#header{ padding: 0 40px; }
		
	}

	
/* ==========================================================================
   =Logo
   ========================================================================== */
   
	#logo {
		position: relative;
		z-index: 3;
		padding: 95px 0 98px 0; 
	}
	
	#logo a {
		color: #191919;
		text-decoration: none;
	}
	
	#logo h2 {
		margin-bottom: 0;
		letter-spacing: 5px; 
	}
	
	#logo h2 span { font-weight: 400; }
	
	.header-style-2 #logo { display: none; }
	
	@media (max-width: 767px) {

		/**
		 * 1. on mobile devices logo padding right needs to be the width of the
		 *	  mobile menu trigger + some spacing so as to not let the logo <a>
		 *    overlap the mobile menu trigger
		 */
	
		#logo { padding-right: 50px; }
		
	}

/* ==========================================================================
   =Menu 
   ========================================================================== */

/* =Menu Basics
   ========================================================================== */
   
	.sf-menu,
	.sf-menu ul {
		padding: 0;
		margin: 0;
		list-style: none;
	}
	
	.sf-menu > li { float: left; }

	.sf-menu > li > a {
		position: relative;
		display: block;
	}
	
	/**
 	 * 1. z-index is 1025 because the sticky menu is 1020
 	 */
	
	.sf-menu li.menu-item-has-children ul {
		position: absolute;
		z-index: 1025; /* 1 */
		top: 100%;
		left: 0;
		display: none;
	}
	
	.sf-menu li.menu-item-has-children { position: relative; }
	
	.sf-menu li.menu-item-has-children ul ul {
		top: -1px;
		left: 100%;
	}
	
	.sf-menu li.menu-item-has-children:hover > ul,
	.sf-menu li.menu-item-has-children.sfHover > ul { display: block; }

/* =Menu Skin
   ========================================================================== */
	
	.sf-menu {
		position: relative;
		z-index: 3; 
		float: right;
		margin-top: 65px;
	}
	
	.sf-menu a {
		display: block;
		padding: 10px 0;
		border-bottom: 1px solid rgba(0, 0, 0, 0.15);
		font: 14px 'Open Sans', Arial, sans-serif;
		color: #191919; 
		text-decoration: none;
	}
	
	.sf-menu li.menu-item-has-children a { padding: 10px 15px; }
	
	.sf-menu li:last-child > a { border-bottom: none; }
	
	.sf-menu > li > a,
	.sf-menu > li.menu-item-has-children > a {
		padding: 43px 10px 39px;
		border: none;
		color: #191919;
		font-size: 14px;
		font-weight: 800;
		text-transform: uppercase;	
	}
	
	.header-style-2 .sf-menu > li > a,
	.header-style-2 .sf-menu > li.menu-item-has-children > a { color: #fff; }
	
	.sf-menu > li a i { margin-right: 5px; }
	
	.sf-menu > li.active > a,
	.sf-menu > li.active > a:focus,
	.header-style-2 .sf-menu > li.active > a,
	.sf-menu li.sfHover > a,
	.sf-menu a:hover,
	.header-style-2 .sf-menu a:hover,
	.sf-menu li.sfHover a:hover {
		color: #d4ae60;
		text-decoration: none;	
	}
	
	.sf-menu > li > a:focus,
	.sf-menu > li.menu-item-has-children > a:focus { color: #191919; }

/* =DropDown
   ========================================================================== */
	
	/**
 	 * 1. allow long menu items to determine submenu width
 	 */
	
	.sf-menu li.menu-item-has-children ul {
		min-width: 180px; /* 1 */
		border: 1px solid rgba(0, 0, 0, 0.1);	
		background-color: #191919;			
	}

	.sf-menu > li.menu-item-has-children > ul { border-top: 3px solid #d4ae60; }	
	
	.sf-menu > li.menu-item-has-children > ul li a { color: #fff; }
	
/* =Menu Arrows
   ========================================================================== */
	
	.sf-menu .sf-arrows .sf-with-ul:after {
		position: absolute;
		top: 50%;
		right: 0;
		width: 0;
		height: 0;
		border: 4px solid transparent;
		border-top-color: #999;
		margin-top: 0;
		content: "";
	}
		
	.sf-arrows > li > .sf-with-ul:focus:after,
	.sf-arrows > li:hover > .sf-with-ul:after,
	.sf-arrows > .sfHover > .sf-with-ul:after { border-top-color: rgba(0, 0, 0, 0.7); }
		
	.sf-arrows ul .sf-with-ul:after {
		border-color: transparent;
		border-left-color: #fff;
		margin-top: -5px;
		margin-right: 10px;
	}
	
	.sf-arrows ul li > .sf-with-ul:focus:after,
	.sf-arrows ul li:hover > .sf-with-ul:after,
	.sf-arrows ul .sfHover > .sf-with-ul:after { border-left-color: rgba(255, 255, 255, 0.7); }
	
	@media (min-width: 1400px) {
		
		.sf-menu > li > a,
		.sf-menu > li.menu-item-has-children > a { padding: 43px 15px 39px; }
		
	}
	
	@media (min-width: 768px) and (max-width: 991px) {

		.sf-menu { display: none; }

	}
	
	@media (max-width: 767px) {

		.sf-menu { display: none; }
	
	}
        
        .menu-right .sub-menu li { display:none; }
	
/* ==========================================================================
   =Mobile Menu 
   ========================================================================== */
			
	#mobile-menu {
		border-bottom: 1px solid #e0e0e0;
		margin-bottom: 0;
		background-color: #191919;
	}
	
	.header-style-2 #mobile-menu { margin-top: 60px; }
	
	#mobile-menu li {	
		display: block;
		margin: 0;
	}
		
	#mobile-menu > li > ul, 
	#mobile-menu > li > ul > li > ul {
		display: none;
		margin-left: 0;
	}

	#mobile-menu li a {
		position: relative;
		display: block;
		padding: 15px 25px;
		border-top: 1px solid #e0e0e0;
		color: #fff;
		font-size: 13px;
		text-align: left;
		text-decoration: none;
	}
	
	#mobile-menu ul a { padding-left: 45px; }
	
	#mobile-menu ul li ul a  { padding-left: 65px; }
	
	#mobile-menu .mobile-menu-submenu-arrow {
		position: absolute;
		top: 0;
		right: 0;
		width: 70px;
		height: 100%;
		border-left: 1px solid #e0e0e0;
		color: #fff;
		font-size: 20px;
		line-height: 50px;
		text-align: center;
		cursor: pointer;
	}
	
	#mobile-menu .mobile-menu-submenu-arrow:hover { background-color: #d4ae60; }
	
	#mobile-menu li a:hover {}
	
	#mobile-menu { display: none; }
	
	@media (max-width: 767px) {
		
		.header-style-2 #mobile-menu { margin-top: 0; }
	
	}

/* ==========================================================================
   =Mobile menu trigger
   ========================================================================== */
				
	#mobile-menu-trigger {
		position: relative;
		z-index: 3; 
		float: right;
		display: none;
		font-size: 32px;
	}

	@media (min-width: 768px) and (max-width: 991px) {

		#mobile-menu-trigger { 
			display: block;
			margin-top: 102px;
			margin-right: 0;
		}	

	}

	@media (max-width: 767px) {

		#mobile-menu-trigger { 
			position: absolute;
			top: 92px;
			right: 20px;
			display: block;
			padding: 10px;
			margin-top: 0;
		}
		
		.header-style-2 #mobile-menu-trigger { top: -110px; }

	}

	@media only screen and (min-width: 480px) and (max-width: 767px) {

		#mobile-menu-trigger { right: 30px; }
	
	}	
	
/* ==========================================================================
   =Menu right
   ========================================================================== */
	
	a.menu-collaps {
		position: relative;
		z-index: 3;
		float: right;
		display: block;
		margin-top: 102px;
		color: #d4ae60;
		text-decoration: none;
		-webkit-transition: transform 0.3s;
				transition: transform 0.3s;
	}
	
	a.menu-collaps.open {
		-webkit-transform: rotate(90deg);
			-ms-transform: rotate(90deg);
				transform: rotate(90deg);
	}
	
	a.menu-collaps.close {
		-webkit-transform: rotate(0);
			-ms-transform: rotate(0);
				transform: rotate(0);
	}
	
	a.menu-collaps i {
		font-size: 32px;
		line-height: 32px;
	}
	
	.nav:before {
		position: absolute;
		top: -10px;
		right: 12px;
		width: 0; 
		height: 0; 
		border-right: 10px solid transparent; 
		border-bottom: 15px solid #191919;
		border-left: 10px solid transparent;
		content: "";
		-moz-transform: scale(0.9999);
	}
	
	.nav {
		position: absolute;
		z-index: 1010;
		top: 210px;
		right: -10px;
		display: none;
		width: 130px;
		padding: 35px 40px 35px 40px;
		background-color: #191919;
	}
	
	.menu-right {
		padding: 0;
		margin: 0;
		list-style: none;
	}
	
	.menu-right li {}
	
	.menu-right li a {
		display: block;
		padding: 5px 0;
		font-weight: 800;
		text-transform: uppercase;
		text-decoration: none;
		-webkit-transition: all 0.3s;
				transition: all 0.3s;
	}
	
	.menu-right li a:hover,
	.menu-right li.active a { color: #fff; }
	
	@media (min-width: 1200px) {
		
		.nav { right: -36px; }
		.nav:before { right: 40px; }
		
	}
	
	@media (max-width: 767px) {
		
		a.menu-collaps {
			position: absolute;
			top: 102px;
			right: 20px;
			float: none;
			margin-top: 0; 
		}
		
		.nav { 
			top: 170px; 
			right: 4px; 
		}
		
		.nav:before { right: 20px; }
		
		.header-style-2 a.menu-collaps { top: -100px; }
		
		.header-style-2 .nav { top: 0; }
		
	}
	
	@media only screen and (min-width: 480px) and (max-width: 767px) {
		
		a.menu-collaps { right: 40px; }
		.nav:before { right: 40px; }
		
	}
	
/* ==========================================================================
   =Sticky Header
   ========================================================================== */

	@media (min-width: 1025px) {
		
		.header-style-1 #header-wrap { height: 235px; }
		
		/**
		 * 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 
		 * 2. This value should be the height of the #header-top	
		 */
		
		#header {
			position: absolute;
			top: 0; 				/* 2 */	
			right: 0;
			left: 0;
			margin: 0 auto; 
			
		}
		
		/**
		 * 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;
			left: 0;
			width: 100%;
			-webkit-box-sizing: border-box;
			   -moz-box-sizing: border-box;
					box-sizing: border-box;		
			padding-top: 10px;
 			margin: 0 auto;
			background-color: rgba(255, 255, 255, 0.95);
			box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
			-webkit-transition: padding-top 0.3s;
					transition: padding-top 0.3s;
		}
		
		#header.stuck #logo { 
			padding-top: 1px;
			padding-bottom: 12px;
		}
		
		#header.stuck #logo h2 { 
			font-size: 18px;
			letter-spacing: 4px;
		}
		
		.header-style-2 #header.stuck #logo { display: block; }
		
		#header.stuck a.menu-collaps { margin: 7px 0 14px 0; }
		
		#header.stuck .nav { top: 130px; }
		
		#header.stuck .sf-menu { margin-top: 0; }

		#header.stuck .sf-menu > li > a,
		#header.stuck .sf-menu > li.menu-item-has-children > a { padding: 13px 10px 23px 10px; }

		#header.stuck .sf-arrows .sf-with-ul:after { margin-top: -6px; }
		
		.header-style-2 #header.stuck .sf-menu > li > a,
		.header-style-2 #header.stuck .sf-menu > li.menu-item-has-children > a { color: #191919; }
		
		.header-style-2 #header.stuck .sf-menu > li.active > a,
		.header-style-2 #header.stuck .sf-menu a:hover { color: #d4ae60; }
	
	}
	
	@media (min-width: 1400px) {
		
		#header.stuck .sf-menu > li > a,
		#header.stuck .sf-menu > li.menu-item-has-children > a { padding: 13px 15px 23px 15px; }
		
	}
	
/* ==========================================================================
   =Content
   ========================================================================== */
   	
	#content {
		padding-top: 150px;  
		padding-bottom: 50px;
	}
	
	.header-style-1 #content { padding-top: 0; }

/* ==========================================================================
   =Page Header
   ========================================================================== */
   	
	#page-header {}
   
/* ==========================================================================
   =Footer
   ========================================================================== */		
	
	#footer { 
		max-width: 1920px;
		padding: 50px 0 100px 0;
		border-top: 1px solid #191919;
		margin: 0 20px;
	}
	
	#footer-left,
	#footer-right {
		float: left;
		width: 50%;
	}
	
	@media (min-width: 1024px) {
		
		#footer { margin: 0 40px; }
		
	}
	
	@media (min-width: 1200px) {
		
		#footer { margin: 0 100px; }
		
	}
	
	@media (min-width: 1400px) {
		
		#footer { margin: 0 50px; }
		
	}
	
	@media (min-width: 1700px) {
		
		#footer { margin: 0 175px; }
		
	}

	@media (min-width: 768px) and (max-width: 979px) {

		#footer { margin: 0 50px; }

	}

	@media (max-width: 767px) {

		#footer { margin: 0 20px; }
		
		#footer-left,
		#footer-right {
			float: none;
			width: 100%;
		}
		
	}

	@media only screen and (min-width: 480px) and (max-width: 767px) {

		#footer { margin: 0 40px; }
		
	}
	
/* ==========================================================================
   =Back to top
   ========================================================================== */

	#back-to-top {
		position: fixed;
		z-index: 1010;
		right: -40px;
		bottom: 20px;
		width: 40px;
		height: 40px;
		border-radius: 3px;
		background-color: #191919;
		color: #fafafa;
		font-size: 30px;
		text-align: center;					
		opacity: 0.5;
		cursor: pointer;
		text-decoration: none;
		-webkit-transition: all 0.4s ease 0s;
				transition: all 0.4s ease 0s;
	}
	
	#back-to-top i {
		font-size: 24px;
		line-height: 37px;
		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; }	
        
/* ==========================================================================
   =Parallax
   ========================================================================== */

        .nfw-parallax.video {
            position:relative;
            pointer-events:none !important;
            overflow:hidden;
            top:0;
            left:0;
            right:0;
            bottom:0
        }
        
        .nfw-parallax.video iframe {
            margin-bottom:0 !important;
            display:block !important;
            max-width:none !important;
            max-height:none !important
        }
        
        .parallax-inner { min-height:150px }
        