/*------------------------------------------------------------------
[1. Common]
*/

.section-block{
	width: 100%;
	padding-top: 7rem;
	padding-bottom: 7rem;
	position: relative;
	z-index: 1;
}

body.boxed .section-block{
	padding-left: 1.5rem;
	padding-right: 1.5rem;
}
body.boxed .section-block.featured-media{
	margin-left: -1.5rem;
	margin-right: -1.5rem;
}

/* Background classes */
.background-fixed,
.background-fixed:before,
.background-fixed:after{
	background-attachment: fixed;
}
.mobile .background-fixed,
.mobile .background-fixed:before,
.mobile .background-fixed:after{
	background-attachment: scroll;
}
.background-cover,
.background-cover:before,
.background-cover:after,
.fullscreen-section.background-cover .background-image{
	background-position: center center;
	-webkit-background-size: cover;
	-moz-background-size: cover;
	-o-background-size: cover;
	background-size: cover;
	background-repeat: no-repeat;
}
.background-contain,
.background-contain:before,
.background-contain:after,
.fullscreen-section.background-contain .background-image{
	background-position: center center;
	-webkit-background-size: contain;
	-moz-background-size: contain;
	-o-background-size: contain;
	background-size: contain;
	background-repeat: no-repeat;
}
.background-full,
.fullscreen-section.background-full .background-image{
	background-size: 100%;
	background-position: center center;
	background-repeat: no-repeat;
}

.header .logo{
	height: auto;
	line-height: 1;
	float: left;
}
.header .logo a{
	font-weight:bold;
	text-decoration: none;
	color: #ffffff;
	display: block;
	-webkit-transition-property: opacity, background, color, visibility, -webkit-transform;
	-moz-transition-property: opacity, background, color, visibility, -moz-transform;
	-o-transition-property: opacity, background, color, visibility, -o-transform;
	-ms-transition-property: opacity, background, color, visibility, -ms-transform;
	transition-property: opacity, background, color, visibility, transform;
}
.header .logo a:hover{
	opacity: 0.6 !important;
}
.header .logo img{
	width: 100%;
	height: auto;
	max-height: 100%;
}
.header .navigation{
	float: right;
}
.header.header-sticky .header-inner{
	width: 100%;
	position: fixed;
	top: 0;
	bottom: auto;
	z-index: 100;
}
.header.fixed-width .header-inner{
	max-width: 114rem;
	margin-left: auto;
	margin-right: auto;
}
.header.fixed-width.header-sticky{
	width: 114rem;
	margin-left: auto;
	margin-right: auto;
}
/* Logo swap - if logo should shift colors*/
.header .logo a:first-child{
	display: none;
}
.header .logo a:last-child{
	display: table-cell;
}
.mobie .header .logo a:first-child,
.header-background .logo a:first-child{
	display: table-cell;
}
.header-background .logo a + a{
	display: none !important;
}

/* Animation properties & duration for header elemements */

/* Bkg Color Classes */
.header.header-background .header-inner{
	background: #232323;
}

/* Compacted Header Class*/
.header.header-compact .logo{
	width: 22rem;
	padding-top: 1.5rem;
}
.header.header-compact .logo span{
	font-size: 1.5rem;
	line-height: 2;
}
.header.header-compact .header-inner .navigation{
	padding-top: 2rem;
}
.header-1.header-compact .logo,
.header-2.header-compact .navigation-show,
.header-3.header-compact .logo,
.header-4.header-compact .logo,
.header.header-compact .header-inner .navigation > ul > li > a{
	padding-bottom: 2rem;
}
.header.header-compact .header-inner .navigation > ul > li > a{
	line-height: 2rem;
}
.header.header-compact .navigation-show{
	padding-top: 1.8rem;
}

/* Mobile */
.mobile .header{
	position: static !important;
}
.mobile .header.header-fixed-on-mobile .header-inner{
	width: 100%;
	position: fixed !important;
	left: 0;
	top: 0;
}
.mobile .header.header-sticky .header-inner{
	position: relative;
}
.mobile .header,
.mobile .header .header-inner{
	height: 8rem !important;
	padding-top: 0;
	background: #232323;
}
.mobile .header .header-inner-top{
	display: none;
}
.mobile .header .nav-bar,
.mobile .header .nav-bar-inner,
.mobile .header .navigation-show{
	height: 100%;
}

/* Logo Mobile */
.mobile .header .logo{
	height: 100%;
	padding: 0 !important;
	margin: 0 !important;
	display: table;
	float: left;
}
.mobile .header .logo-inner {
	display: table-cell;
	vertical-align: middle;
}
.mobile .header .logo-inner a{
	display: block;
	position: relative;
}
.mobile .header .logo a:first-child{
	display: table-cell;
	vertical-align: middle;
}
.mobile .header .logo a + a{
	display: none !important;
}
.mobile .header .navigation-show{
	height: 100%;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	display: table !important;
	visibility: visible !important;
}
.mobile .header .navigation-show a{
	display: table-cell;
	vertical-align: middle;
}
.mobile .header .header-inner,
.mobile .header .logo,
.mobile .header .logo span,
.mobile .header .navigation-show,
.mobile .header .navigation-show a span{
	transition: none;
}

/* Header Media Queries */
@media only screen and (max-width: 1140px){
	body.boxed .header.header-fixed-on-mobile .header-inner{
		max-width: 96rem;
	}
}
@media only screen and (max-width: 960px){
	.header{
		position: static !important;
	}
	.header.header-fixed-on-mobile .header-inner{
		width: 100%;
		position: fixed !important;
		left: 0;
		top: 0;
	}
	body.boxed .header.header-fixed-on-mobile .header-inner{
		max-width: 76rem;
	}
	.header.header-sticky .header-inner{
		position: relative;
	}
	.header{
		background: none;
	}
	.header .header-inner{
		background: #232323;
	}
	.header,
	.header .header-inner{
		height: 8rem !important;
		padding-top: 0;
		border: none;
	}
	.header .header-inner-top{
		display: none;
	}
	.header .nav-bar,
	.header .nav-bar-inner,
	.header .navigation-show{
		height: 100%;
	}
	.header .logo{
		height: 100%;
		padding: 0 !important;
		margin: 0 !important;
		display: table;
		float: left;
	}
	.header .logo-inner{
		display: table-cell;
		vertical-align: middle;
	}
	.header .logo-inner a{
		display: block;
		position: relative;
	}
	.header .logo a{
		display: table-cell;
		vertical-align: middle;
	}
	.header .logo a:first-child{
		display: table-cell;
	}
	.header .logo a + a{
		display: none !important;
	}
	.header .navigation-show{
		height: 100%;
		padding-top: 0 !important;
		padding-bottom: 0 !important;
		display: table !important;
		visibility: visible !important;
	}
	.header .navigation-show a{
		display: table-cell;
		vertical-align: middle;
	}
	.header .header-inner,
	.header .logo,
	.header .logo span,
	.header .navigation-show,
	.header .navigation-show a span{
		transition: none;
	}
}
@media only screen and (max-width: 768px) {
	body.boxed .header.header-fixed-on-mobile .header-inner{
		max-width: 60rem;
	}
}
@media only screen and (max-width: 600px) {
	body.boxed .header.header-fixed-on-mobile .header-inner{
		max-width: 48rem;
	}
}
@media only screen and (max-width: 480px) {
	body.boxed .header.header-fixed-on-mobile .header-inner{
		max-width: 35rem;
	}
}
@media only screen and (max-width : 350px) {
	body.boxed .header.header-fixed-on-mobile .header-inner{
		max-width: 100%;
	}
}

/*------------------------------------------------------------------
[4. Side Navigation]
*/
.side-navigation-wrapper .navigation-hide,
.side-navigation-header,
.side-navigation-header .logo{
	min-height: 8rem;
	line-height: 8rem;
}
.side-navigation-header,
.side-navigation-footer{
	font-size: 1.4rem;
	line-height: 1.8;
}
.side-navigation-header{
	padding: 0 4rem;
	margin-bottom: 2rem;
	border-bottom: 1px solid #232323;
}
.side-navigation-header .logo{
	width: 100%;
}
.side-navigation-header .logo a{
	font-size: 1.5rem;
	font-weight:bold;
	text-decoration: none;
	color: #666666;
}
.side-navigation-wrapper .navigation-hide{
	position: absolute;
	right: 0;
	top: 0;
}
.side-navigation{
	margin-bottom: 3rem;
}
.side-navigation-footer{
	width: 100%;
	padding: 1rem 4rem;
	font-size: 1.2rem;
	position: absolute;
	bottom: 0;
}
.side-navigation-footer .social-list{
	margin-bottom: 1rem;
}
.side-navigation-footer .social-list a:hover{
	color: #fff;
}
.side-navigation-wrapper.center .logo,
.side-navigation-wrapper.center .side-navigation,
.side-navigation-wrapper.center .side-navigation-footer{
	text-align: center;
}
.side-navigation-wrapper.center .side-navigation .sub-menu a{
	padding-left: 4rem;
}
.mobile .side-navigation-footer{
	position: relative;
}

/*------------------------------------------------------------------
[5. Overlay Navigation]
*/
.overlay-navigation-wrapper .navigation-hide{
	min-height: 4rem;
	line-height: 4rem;
	position: absolute;
	right: 3rem;
	top: 0;
}
.overlay-navigation-header .logo{
	width: 13rem;
	margin: 0 auto;
}
.overlay-navigation{
	margin-bottom: 6rem;
}
.overlay-navigation-footer{
	font-size: 1.2rem;
	position: absolute;
	bottom: 3rem;
}
.overlay-navigation-footer .copyright{
	font-size: 1.1rem;
}

/*------------------------------------------------------------------
[17. Fullscreen Sections]
*/
.section-block.fullscreen-sections-wrapper,
.section-block.fullscreen-section{
	padding-top: 0;
	padding-bottom: 0;
}
.fullscreen-sections-wrapper{
	position: relative;
	z-index: 1;
}
.fullscreen-section{
	width: 100%;
	height: 100%;
	height: 100vh;
	display: table;
	table-layout: fixed;
	overflow: hidden;
	position: relative;
	z-index: 0;
}
body.boxed .fullscreen-section{
	padding-left: 0;
	padding-right: 0;
}
.fullscreen-section.in-view{
	z-index: 1;
}
.fullscreen-section .background-image{
	width: 100%;
	height: 100vh;
	position: absolute;
	z-index: 0;
}
.fullscreen-section.background-fixed .background-image{
	width: 100%;
	height: 100vh;
	position: absolute;
	background-attachment: fixed;
	z-index: 0;
}

/* webkit specific to achieve higher frame rate */
.webkit .fullscreen-section .background-image-wrapper{
	width: 100%;
	height: 100%;
	position: absolute;
	-webkit-backface-visibility: hidden;
	top: 0;
	left: 0;
}
.webkit .fullscreen-section.background-fixed .background-image-wrapper{
	position: fixed;
}
.webkit .fullscreen-section.background-fixed .background-image{
	position: relative;
	background-attachment: scroll;
}

/* Fixed position fix when content is transformed */
.webkit.side-nav-open .background-fixed .background-image-wrapper{
	position: absolute;
}

/* Mobile */
.mobile .fullscreen-section{
	height: auto;
}
.mobile .fullscreen-section .background-image-wrapper,
.mobile .fullscreen-section.background-fixed .background-image-wrapper,
.mobile .fullscreen-section .background-image{
	width: 100vw;
	position: relative !important;
}



/* Fullscreen Content */
.fullscreen-section .fullscreen-inner{
	width: 100%;
	height: 100%;
	padding-top: 7rem;
	padding-bottom: 7rem;
	background: rgba( 0, 0, 0, 0.6);
	display: table-cell;
	vertical-align: middle;
	position: relative;
	z-index: 2;
}
.fullscreen-section.no-overlay .fullscreen-inner{
	background: rgba( 0, 0, 0, 0);
}
body.boxed .fullscreen-sections-wrapper .fullscreen-inner,
body.boxed .fullscreen-section .fullscreen-inner{
	padding-left: 1.5rem;
	padding-right: 1.5rem;
}
.fullscreen-section footer{
	width: 100%;
	padding-top: 1rem;
	padding-bottom: 1rem;
	position: absolute;
	bottom: 0;
	z-index: 3;
}
.fullscreen-section .copyright{
	margin-bottom: 0;
	font-size: 1.1rem;
	font-weight: normal;
	letter-spacing: 0.1rem;
	color: #000000;
}
.fullscreen-section .social-list{
	margin-bottom: 0;
}
.fullscreen-inner.v-align-top{
	vertical-align: top;
}
.fullscreen-inner.v-align-bottom{
	vertical-align: bottom;
}

/* Hero */
.fullscreen-section .hero-4,
.fullscreen-section .hero-5,
.fullscreen-section .hero-6,
.fullscreen-section .hero-7{
	height: 100vh;
}


/* 404 */
.error-404 .background-image{
	background-image:url(none);
}
.error-404 h1{
	font-size: 15rem;
	line-height: 1;
}
.error-404 .search-form-container{
	max-width: 60rem;
	margin-left: auto;
	margin-right: auto;
}
.error-404 .form-submit{
	width: 100%;
}

/* 500 */
.error-500 .background-image{
	background-image:url(none);
}
.error-500 h1{
	font-size: 15rem;
	line-height: 1;
}
.error-500 .button{
	margin-right: 2rem;
}
.error-500 .button:last-child{
	margin-right: 0;
}
[class*="error-"] .background-image,
[class*="coming-soon-"] .background-image{
	background-repeat: no-repeat;
	background-position: center center;
	-webkit-background-size: cover;
	-moz-background-size: cover;
	-o-background-size: cover;
	background-size: cover;
}

/* Fullscreen Media Queries */
@media only screen and (max-width: 768px) {
	.fs-pagination{
		display: none;
	}
	.fullscreen-section footer{
		position: relative;
	}

	/* Clear margin for last child in last column */
	.fullscreen-section .column:last-child > *:last-child:not(.hero-content){
		margin-bottom: 0;
	}

	/* Change display for content that appears below image */
	.fullscreen-section.content-below-on-mobile{
		height: auto;
		display: block;
	}
	.fullscreen-section.content-below-on-mobile .fullscreen-inner{
		padding-top: 7rem !important;
		padding-bottom: 7rem !important;
		display: block;
		text-align: left;
	}
	.fullscreen-section.no-overlay.content-below-on-mobile .background-on-mobile{
		padding: 0;
		margin-bottom: 0;
		background-color: #f4f4f4;
	}

	/* Default text color on mobile when positioned below image or
	when there is a background content wrapper on mobile */
	.fullscreen-section.no-overlay.content-below-on-mobile *,
	.fullscreen-section .background-on-mobile *{
		color: #666;
	}
	.fullscreen-section.content-below-on-mobile .alt-color-on-mobile{
		color: #fff;
	}

	/* Change position and bkg attachment so image scrolls with content */
	.fullscreen-section .background-image-wrapper,
	.webkit .fullscreen-section .background-image-wrapper,
	.fullscreen-section.background-fixed .background-image-wrapper,
	.webkit .fullscreen-section.background-fixed .background-image-wrapper,
	.fullscreen-section .background-image,
	.fullscreen-section.background-fixed .background-image,
	.webkit .fullscreen-section.background-fixed .background-image{
		max-width: 100vw;
		background-attachment: scroll;
	}
	.fs-image-scale .background-image-wrapper,
	.fs-image-scale .background-image,
	.content-below-on-mobile .background-image-wrapper,
	.content-below-on-mobile .background-image{
		position: relative !important;
	}
	.fullscreen-section.background-contain .background-image,
	.fullscreen-section.background-contain .background-image{
		background-position: center !important;
		background-size: 100% !important;
	}
	.mobile .fullscreen-section .background-image{
		max-width: 114rem;
		height: inherit;
	}
	.mobile .fullscreen-section{
		margin-top: -1px;
	}
	.error-404 .form-submit{
		width: auto;
	}
	.error-404 h1,
	.error-500 h1{
		font-size: 10rem;
	}
}
.mobile .fullscreen-section[class*="error-"],
.mobile .fullscreen-section[class*="coming-soon-"]{
	height: 100vh;
	display: table;
}
.mobile [class*="error-"] .fullscreen-inner,
.mobile [class*="coming-soon-"] .fullscreen-inner{
	display: table-cell;
}
.mobile .fullscreen-section[class*="error-"] .background-image-wrapper,
.mobile .fullscreen-section[class*="coming-soon-"] .background-image-wrapper{
	position: fixed;
}
