/* 
 * templates 
 * content width: 1104px
 */

/* 
 * JS scrollbar to replace the native scrollbar 
 */
 
#scroll_area {
	overflow: hidden;
	height: 100%;
}
html, body {
	overflow: hidden;
}
.ps-scrollbar-y-rail {
	z-index: 999!important;
	top: 0!important;
}



/* Automatically clear elements for standards-compliant browsers */
.clearfix:after {
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}
/* Trigger has-layout for IE compatibility */
.clearfix {
	zoom: 1;
}

._hidden {
	display: none;
}

.left {
	float: left;
}

.right {
	float: right;
}

.row {
	clear: both;
	width: 100%;
	/*position: relative; /* experimental *!/*/
}

.col {
	display: inline-block;
	vertical-align: top;
	box-sizing: border-box;
}
.col.col-2 {
	width: 49.9%;
}

.left.col, 
.right.col {
	display: block;
	width: 50%
}
.left.col {
	float: left;
}
.right.col {
	float: right;
}

.last {
	margin: 0!important;
}

.btn {
	display: inline-block;
}

img {
	max-width: 100%;
	height: auto;
}
.map_canvas img { max-width: none; } /* fix the google map issue */

figure > img {
	display: block;
}

a {
	text-decoration: none;
	list-style: none;
	outline: 0;
}

input, 
textarea {
	border-radius: 0;
}

/*.mobile {
	display: none!important;
}*/

.opacityTransition {
	transition: opacity 0.5s linear 0s; 
}

.colorTransition {
	transition: color 0.5s linear 0s; 
}

.content_frame {
	max-width: 1104px;
	min-height: 100px;
	/*margin: 108px auto 96px auto;*/
	margin: 0 auto;
	padding: 108px 0 96px 0;
	box-sizing: padding-box;
	position: relative;
}

#logo, nav#main {
	opacity: 0;
}

#logo.animation, nav#main.animation {
	-webkit-animation-name: logoNavFadeIn;
	-webkit-animation-duration: 1.5s;
	animation-name: logoNavFadeIn;
	animation-duration: 1.5s;
	
	opacity: 1;
}

@-webkit-keyframes logoNavFadeIn {
	0% { opacity: 0; }
/*	20% { opacity: 0; }
	40% { opacity: 0.3; }
	60% { opacity: 0.5; }
	80% { opacity: 0.9; }*/
	100% { opacity: 1; }
}

@keyframes logoNavFadeIn {
	0% { opacity: 0; }
/*	20% { opacity: 0; }
	40% { opacity: 0.3; }
	60% { opacity: 0.5; }
	80% { opacity: 0.9; }*/
	100% { opacity: 1; }
}

/* 
 * nav#main START 
 */

nav#main {
	position: relative;
}

nav#main li {
	display: inline-block;
	margin: 0 15px;
}

nav#main > ul > li {
	/*height: 49px;*/
	padding-bottom: 35px;
}

nav#quicklinks {
	position: relative;
	z-index: 0;
}

nav#quicklinks li > a, 
nav#main li > a {
	border-bottom: 1px solid transparent;
	padding-bottom: 12px;
	
	-webkit-transition: border-color 0.5s linear 0s;
	-moz-transition: border-color 0.5s linear 0s;
	-o-transition: border-color 0.5s linear 0s;
	transition: border-color 0.5s linear 0s;
}

nav#quicklinks li.active > a, 
nav#quicklinks li > a:hover, 
nav#main li.active > a, 
nav#main li > a:hover {
	/*border-bottom-color: #8e8e8e;*/
	border-bottom-color: #ffffff;
}
nav#quicklinks li > a, 
nav#main li > ul > li > a {
	padding-bottom: 8px;
}

nav#quicklinks li > a {
	line-height: 60px;
}

nav#quicklinks ul, 
nav#main li > ul {
	background-color: rgba(102,102,102,0.9);
	position: absolute;
	left: 0;
	width: 100%;
	z-index: 99;
	display: none;
}
nav#main li:hover > ul {
	display: block;

	-webkit-animation-name: subNavFadeIn;
	-webkit-animation-duration: 0.5s;
	animation-name: subNavFadeIn;
	animation-duration: 0.5s;
}

/* to prevent the submenu bar animation when the parent item is active */
nav#main li.opened:hover > ul {
	display: block;

	-webkit-animation-name: none;
	animation-name: none;
}

@-webkit-keyframes subNavFadeIn {
	0% { opacity: 0; }
	20% { opacity: 0; }
	40% { opacity: 0.3; }
	60% { opacity: 0.5; }
	80% { opacity: 0.9; }
	100% { opacity: 1; }
}

@keyframes subNavFadeIn {
	0% { opacity: 0; }
	20% { opacity: 0; }
	40% { opacity: 0.3; }
	60% { opacity: 0.5; }
	80% { opacity: 0.9; }
	100% { opacity: 1; }
}

nav#main li > ul {
	/*top: 63px;*/
	/*top: 62px;*/
	top: 59px;
}

nav#quicklinks ul {
	top: 172px;
}

nav#submenu ul > li, 
nav#main li > ul > li {
	line-height: 49px;
	height: 59px;
}

/* 
 * nav#main END 
 */

header {
	background-color: rgba(0,0,0,1);
	color: #fff;
}

header a {
	color: #fff;
}

header #logo {
	padding: 36px 0;
}

header a.mobile.menu {
	display: none;
}

.background {
	background-repeat: no-repeat;
	background-size: cover;
}

footer, 
footer p, 
footer a {
	background-color: rgba(0,0,0,1);
	color: #adadad;
}

footer p > span:after {
	content: "|";
	margin-right: 6px;
	padding-left: 6px;
}
footer p > span:last-of-type:after {
	content: "";
	margin-right: 0;
	padding-left: 0;
}






/* 
 * animation 
 */

.fadeIn.ng-enter, /* Starting animation for enter*/
.fadeIn.ng-leave  /* Starting animation for leave*/ {
	-webkit-transition: all cubic-bezier(0.250, 0.460, 0.450, 0.940) 0.5s;
	-moz-transition: all cubic-bezier(0.250, 0.460, 0.450, 0.940) 0.5s;
	-o-transition: all cubic-bezier(0.250, 0.460, 0.450, 0.940) 0.5s;
	transition: all cubic-bezier(0.250, 0.460, 0.450, 0.940) 0.5s;
}

.fadeIn.ng-enter /* Starting animation for enter*/{
    -ms-opacity: 0;
    opacity: 0;
}

.fadeIn.ng-enter.ng-enter-active /* Starting animation for leave*/{
	-ms-opacity: 1;
	opacity: 1;
}

/* Terminating animation for enter*/
.fadeIn.ng-enter.ng-enter-active {
	-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;
}

/* Terminating animation for leave*/
.fadeIn.ng-leave.ng-leave-active {
	-webkit-opacity: 0.25;
	-moz-opacity: 0.25;
	opacity: 0.25;
}