#page:not(.vertical-header) #site-header {
	position: relative;
	z-index: 5;
	-moz-box-shadow: 0 0 2px 0 rgba(56, 69, 84, .2);
	-webkit-box-shadow: 0 0 2px 0 rgba(56, 69, 84, .2);
	box-shadow: 0 0 2px 0 rgba(56, 69, 84, .2);
}

#page #site-header:not(.animated-header) {
	z-index: 7;
}

#site-header .site-title {
	display: table-cell;
	vertical-align: middle;
	padding: 15px 0;
}

#site-header .primary-navigation, #site-header #perspective-menu-buttons {
	display: table-cell;
	width: 99%;
	vertical-align: middle;
	text-align: right;
	position: relative;
	z-index: 10;
}

#site-header .logo-position-right .primary-navigation, #site-header .logo-position-right #perspective-menu-buttons {
	text-align: left;
}

.site-title .site-logo, #site-header .primary-navigation .menu-item-logo .site-logo {
	margin: 0 auto;
	font-size: 0 !important;
	line-height: 0 !important;
}

#site-header .header-main {
	position: relative;
	z-index: 11;
}

#primary-menu, #primary-menu + ul {
	text-align: left;
}

#primary-navigation .menu-toggle, #perspective-menu-buttons .menu-toggle, #perspective-menu-buttons .menu-toggle {
	display: none;
}

#primary-menu.no-responsive {
	text-align: left;
	white-space: nowrap;
	display: inline-block;
	font-size: 0;
	margin: 0 -20px;
}

#primary-menu.no-responsive li {
	position: relative;
}

#primary-menu.no-responsive li > a {
	position: relative;
	display: block;
	text-decoration: none;
}

#primary-menu.no-responsive > li {
	display: inline-block;
	vertical-align: middle;
}

#primary-menu.no-responsive > li > a {
	padding: 35px 20px;
	text-transform: uppercase;
}

.header-style-2 #primary-menu.no-responsive > li > a:before {
	content: "";
	font-family: "thegem-icons";
	font-style: normal;
	font-size: 16px;
	font-weight: normal;
	vertical-align: top;
}

.header-style-3 #primary-menu.no-responsive > li, .header-style-4 #primary-menu.no-responsive > li {
	padding: 33px 3px;
}

.header-style-3 #primary-menu.no-responsive > li.menu-item-current, .header-style-3 #primary-menu.no-responsive > li.menu-item-active, .header-style-4 #primary-menu.no-responsive > li.menu-item-current, .header-style-4 #primary-menu.no-responsive > li.menu-item-active {
	padding: 31px 1px;
}

.header-style-3 #primary-menu.no-responsive > li > a, .header-style-4 #primary-menu.no-responsive > li > a {
	padding: 0px 15px;
}

.header-style-1 #primary-menu.no-responsive > li.menu-item-current > a, .header-style-1 #primary-menu.no-responsive > li.menu-item-active > a {
	padding-bottom: 31px;
	border-bottom: 4px solid #d7dee4;
}

.header-style-2 #primary-menu.no-responsive > li:not(.megamenu-template-enable):not(.menu-item-type-template) li > a, .header-style-3 #primary-menu.no-responsive > li:not(.megamenu-template-enable):not(.menu-item-type-template) li > a {
	border-left: 3px solid transparent;
	padding-left: 27px;
	-o-transition: color .3s, background-color .3s, border-left-color .3s;
	-webkit-transition: color .3s, background-color .3s, border-left-color .3s;
	transition: color .3s, background-color .3s, border-left-color .3s;
}

.header-style-2 #primary-menu.no-responsive > li:not(.megamenu-template-enable):not(.menu-item-type-template) li.menu-item-current > a, .header-style-2 #primary-menu.no-responsive > li:not(.megamenu-template-enable):not(.menu-item-type-template) li.menu-item-active > a, .header-style-2 #primary-menu.no-responsive > li:not(.megamenu-template-enable):not(.menu-item-type-template) li:hover > a, .header-style-3 #primary-menu.no-responsive > li:not(.megamenu-template-enable):not(.menu-item-type-template) li.menu-item-current > a, .header-style-3 #primary-menu.no-responsive > li:not(.megamenu-template-enable):not(.menu-item-type-template) li.menu-item-active > a, .header-style-3 #primary-menu.no-responsive > li:not(.megamenu-template-enable):not(.menu-item-type-template) li:hover > a {
	padding-left: 27px;
	border-left: 3px solid transparent;
	-o-transition: color .3s, background-color .3s, border-left-color .3s;
	-webkit-transition: color .3s, background-color .3s, border-left-color .3s;
	transition: color .3s, background-color .3s, border-left-color .3s;
}

#primary-menu.no-responsive > li:not(.megamenu-template-enable):not(.menu-item-type-template) ul, #primary-menu.no-responsive > li .megamenu-template {
	position: absolute;
	visibility: hidden;
	white-space: normal;
	width: 280px;
	transition: transform .1s linear .5s, opacity .1s linear .5s, visibility .1s linear .5s;
	-moz-transition: transform .1s linear .5s, opacity .1s linear .5s, visibility .1s linear .5s;
	-webkit-transition: transform .1s linear .5s, opacity .1s linear .5s, visibility .1s linear .5s;
	opacity: 0;
}

#primary-menu.no-responsive > li:not(.megamenu-template-enable) > ul:before {
	content: "";
	position: absolute;
	bottom: -3px;
	left: -3px;
	right: -3px;
	height: 3px;
}

#primary-menu.no-responsive > li:not(.megamenu-template-enable) > ul, #primary-menu.no-responsive > li .megamenu-template {
	transform: translateY(20px);
	-o-transform: translateY(20px);
	-ms-transform: translateY(20px);
	-moz-transform: translateY(20px);
	-webkit-transform: translateY(20px);
}

.header-main:not(.header-layout-overlay) #primary-menu.no-responsive:hover li:not(.megamenu-template-enable):hover > ul, .header-main:not(.header-layout-overlay) #primary-menu.no-responsive:hover li.megamenu-template-enable:hover .megamenu-template, #thegem-perspective .perspective-navigation #primary-menu.no-responsive:hover li:not(.megamenu-template-enable):hover > ul, #thegem-perspective .perspective-navigation #primary-menu.no-responsive:hover li.megamenu-template-enable:hover .megamenu-template {
	visibility: visible;
	transition: transform .3s linear, opacity .3s linear, visibility .3s linear;
	-moz-transition: transform .3s linear, opacity .3s linear, visibility .3s linear;
	-webkit-transition: transform .3s linear, opacity .3s linear, visibility .3s linear;
	opacity: 1;
	transform: translateY(0);
	-o-transform: translateY(0);
	-ms-transform: translateY(0);
	-moz-transform: translateY(0);
	-webkit-transform: translateY(0);
}

#primary-menu.no-responsive:hover > li:not(.megamenu-template-enable):not(.menu-item-type-template) ul, #primary-menu.no-responsive:hover > li .megamenu-template {
	visibility: hidden;
	transition: transform .1s linear, opacity .1s linear, visibility .1s linear;
	-moz-transition: transform .1s linear, opacity .1s linear, visibility .1s linear;
	-webkit-transition: transform .1s linear, opacity .1s linear, visibility .1s linear;
	opacity: 0;
}

#primary-menu.no-responsive > li > ul, #primary-menu.no-responsive > li > .megamenu-template {
	top: 100%;
	left: 0;
}

#primary-menu.no-responsive > li > ul a {
	padding: 15px 30px;
}

@media (max-width: 767px) {
	#site-header .header-main {
		position: relative;
		display: table;
		width: 100%;
		z-index: 11;
	}
	
	#primary-navigation .menu-toggle, #perspective-menu-buttons .menu-toggle {
		display: inline-block;
		vertical-align: middle;
	}
}

#primary-navigation .menu-toggle, #perspective-menu-buttons .menu-toggle, #perspective-menu-buttons .perspective-toggle {
	border: none;
	width: 36px;
	height: 30px;
	text-indent: 100%;
	font-size: 0;
	line-height: 0;
	overflow: hidden;
	position: relative;
	cursor: pointer;
	outline: none;
	background: transparent;
	padding: 0;
}

#primary-navigation .menu-toggle .menu-line-1, #primary-navigation .menu-toggle .menu-line-2, #primary-navigation .menu-toggle .menu-line-3, #perspective-menu-buttons .menu-toggle .menu-line-1, #perspective-menu-buttons .menu-toggle .menu-line-2, #perspective-menu-buttons .menu-toggle .menu-line-3, #perspective-menu-buttons .perspective-toggle .menu-line-1, #perspective-menu-buttons .perspective-toggle .menu-line-2, #perspective-menu-buttons .perspective-toggle .menu-line-3 {
	position: absolute;
	height: 4px;
	width: 100%;
	left: 0;
	background: #3c3950;
	-webkit-transition: all .5s, top .3s, height .3s;
	transition: all .5s, top .3s, height .3s;
}

#primary-navigation .menu-toggle .menu-line-1, #perspective-menu-buttons .menu-toggle .menu-line-1, #perspective-menu-buttons .perspective-toggle .menu-line-1 {
	top: 3px;
}

#primary-navigation .menu-toggle .menu-line-2, #perspective-menu-buttons .menu-toggle .menu-line-2, #perspective-menu-buttons .perspective-toggle .menu-line-2 {
	top: 13px;
}

#primary-navigation .menu-toggle .menu-line-3, #perspective-menu-buttons .menu-toggle .menu-line-3, #perspective-menu-buttons .perspective-toggle .menu-line-3 {
	top: 23px;
}

#primary-navigation .menu-toggle .menu-line-1, #primary-navigation .menu-toggle .menu-line-2, #primary-navigation .menu-toggle .menu-line-3, #perspective-menu-buttons .menu-toggle .menu-line-1, #perspective-menu-buttons .menu-toggle .menu-line-2, #perspective-menu-buttons .menu-toggle .menu-line-3 {
	height: 2px;
	width: 18px;
	left: 9px;
}

#primary-navigation .menu-toggle .menu-line-1, #perspective-menu-buttons .menu-toggle .menu-line-1 {
	top: 9px;
}

#primary-navigation .menu-toggle .menu-line-2, #perspective-menu-buttons .menu-toggle .menu-line-2 {
	top: 14px;
}

#primary-navigation .menu-toggle .menu-line-3, #perspective-menu-buttons .menu-toggle .menu-line-3 {
	top: 19px;
}

@media (max-width: 767px) {
	.mobile-menu-layout-default .primary-navigation .dl-menu {
		position: absolute;
		left: 0;
		right: 0;
		opacity: 0;
	}
}

@-webkit-keyframes MenuAnimOut {
	0% {}
	
	50% {
		-webkit-transform: translateZ(-250px) rotateY(30deg);
	}
	
	75% {
		-webkit-transform: translateZ(-372.5px) rotateY(15deg);
		opacity: .5;
	}
	
	100% {
		-webkit-transform: translateZ(-500px) rotateY(0deg);
		opacity: 0;
	}
}

@keyframes MenuAnimOut {
	0% {}
	
	50% {
		-webkit-transform: translateZ(-250px) rotateY(30deg);
		transform: translateZ(-250px) rotateY(30deg);
	}
	
	75% {
		-webkit-transform: translateZ(-372.5px) rotateY(15deg);
		transform: translateZ(-372.5px) rotateY(15deg);
		opacity: .5;
	}
	
	100% {
		-webkit-transform: translateZ(-500px) rotateY(0deg);
		transform: translateZ(-500px) rotateY(0deg);
		opacity: 0;
	}
}

@-webkit-keyframes MenuAnimIn {
	0% {
		-webkit-transform: translateZ(-500px) rotateY(0deg);
		opacity: 0;
	}
	
	20% {
		-webkit-transform: translateZ(-250px) rotateY(30deg);
		opacity: .5;
	}
	
	100% {
		-webkit-transform: translateZ(0px) rotateY(0deg);
		opacity: 1;
	}
}

@keyframes MenuAnimIn {
	0% {
		-webkit-transform: translateZ(-500px) rotateY(0deg);
		transform: translateZ(-500px) rotateY(0deg);
		opacity: 0;
	}
	
	20% {
		-webkit-transform: translateZ(-250px) rotateY(30deg);
		transform: translateZ(-250px) rotateY(30deg);
		opacity: .5;
	}
	
	100% {
		-webkit-transform: translateZ(0px) rotateY(0deg);
		transform: translateZ(0px) rotateY(0deg);
		opacity: 1;
	}
}

@-webkit-keyframes SubMenuAnimIn {
	0% {
		-webkit-transform: translateX(50%);
		opacity: 0;
	}
	
	100% {
		-webkit-transform: translateX(0px);
		opacity: 1;
	}
}

@keyframes SubMenuAnimIn {
	0% {
		-webkit-transform: translateX(50%);
		transform: translateX(50%);
		opacity: 0;
	}
	
	100% {
		-webkit-transform: translateX(0px);
		transform: translateX(0px);
		opacity: 1;
	}
}

@-webkit-keyframes SubMenuAnimOut {
	0% {
		-webkit-transform: translateX(0%);
		opacity: 1;
	}
	
	100% {
		-webkit-transform: translateX(50%);
		opacity: 0;
	}
}

@keyframes SubMenuAnimOut {
	0% {
		-webkit-transform: translateX(0%);
		transform: translateX(0%);
		opacity: 1;
	}
	
	100% {
		-webkit-transform: translateX(50%);
		transform: translateX(50%);
		opacity: 0;
	}
}

@media (max-width: 768px) {
	.site-title .site-logo {
		max-width: 60vw;
	}
}

#site-header-wrapper {
	position: static;
	z-index: 1000;
	width: 100%;
}

#site-header .site-title a, #site-header .menu-item-logo a {
	white-space: nowrap;
}

#site-header .logo-position-right .site-title, #site-header .logo-position-right .site-title a {
	text-align: right;
}

#site-header .site-title a img, #site-header .menu-item-logo a img {
	position: relative;
}

#site-header .site-title a img.default, #site-header .menu-item-logo a img.default {
	opacity: 1;
	-webkit-transition: opacity .3s ease-in;
	-moz-transition: opacity .3s ease-in;
	transition: opacity .3s ease-in;
}

#site-header .site-title a img.small, #site-header .menu-item-logo a img.small {
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
	filter: alpha(opacity=0);
	-moz-opacity: 0;
	-khtml-opacity: 0;
	opacity: 0;
	-webkit-transition: opacity .3s ease-out;
	-moz-transition: opacity .3s ease-out;
	transition: opacity .3s ease-out;
}

.site-title .logo, .menu-item-logo .logo {
	display: inline-block;
	vertical-align: middle;
	min-height: 1px;
	min-width: 1px;
}

@media (max-width: 767px) {
	#site-header .site-title a img.default, #site-header .menu-item-logo a img.default {
		display: none;
	}
	
	#site-header .site-title a img.small, #site-header .menu-item-logo a img.small {
		-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
		filter: alpha(opacity=100);
		-moz-opacity: 1;
		-khtml-opacity: 1;
		opacity: 1;
		display: inline-block !important;
		margin: 0 !important;
	}
}

@keyframes spin {
	0% {
		transform: rotate(0deg);
	}
	
	100% {
		transform: rotate(360deg);
	}
}

.top-area-background, .header-background {
	position: relative;
}

.top-area-background:before, .header-background:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}