@import url(/css/font-awesome.min.css);
@import url(https://fonts.googleapis.com/css?family=Oxygen:400,700,300|Roboto+Slab:400,300,700);


html { overflow-y: scroll; }
img { vertical-align: middle; max-width: 100%; }

body, html {
	background: #1f1f1f; /* same as bottom, when page is too small */
	font-family: 'Oxygen', Helvetica, Arial, sans-serif;
	font-size: 100%;
	line-height: 1.5;
	font-weight: 300;
	color: #555;
	text-rendering: optimizelegibility; 
	margin: 0;
	padding: 0;
}
input, textarea { font-family: 'Oxygen', Helvetica, Arial, sans-serif; }

/* page main styles */
.wrap {
	position: relative;
	margin: 0 auto;
	padding: 0 20px;
	max-width: 1020px;
}

#header .wrap { max-width: 96%; }

/* banner styles */


/*#banner_wrapper.banner-fixed #banner_background { position: fixed; }*/


#banner h2, #content .banner h2 {
	text-shadow: none;
	font-size: 3em;
	font-weight: 800;
	color: rgba(255,255,255,.9);
	border: none;
}
#banner h3, #content .banner h3 {
	text-shadow: none;
	font-size: 1.6em;
	font-style: italic;
	color: rgba(255,255,255,.7);
}


/* header styles */
#header {
	position: relative;
	left:0;
	width: 100%;
	display: block;
	height: auto;
	z-index: 50;
	background: #1f1f1f;
	padding: 30px 0;
	-webkit-transition: padding 1s;
	   -moz-transition: padding 1s;
	     -o-transition: padding 1s;
	        transition: padding 1s;
}
#header.fixed {
	top:0;
	position: fixed;
	padding: 16px 0;
	border-bottom: 1px solid rgba(0,0,0,.2);
}

#logo { float: left; margin: 1px 0 2px 0; }
#logo h1 {
	font-weight: normal;
	color: rgba(255,255,255,1);
	margin:0;
	padding:0;
	font-size: 1.6em;
	line-height: 1;
}
h2#slogan {
	font-weight: 300;
	color: rgba(255,255,255,.7);
	margin:7px 0 0 0;
	padding:0;
	font-size: 1em;
	line-height: 1;
}

#header #nav-toggle {
	position: relative;
	display: none;
	float:right;
	height: 45px;
	width: 45px;
	padding: 0;
	text-align: center;
	text-decoration: none;
	margin: 0;
	line-height: 45px;
	background: transparent;
	border: 2px solid rgba(255,255,255,.6);
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	border-radius: 5px;
	text-shadow: none;
	color: rgba(255,255,255,.6);
	font-size: 26px;
	font-weight: 300;
	-webkit-transition: border-color, color .5s, .5s;
	-moz-transition: border-color, color .5s, .5s;
	-o-transition: border-color, color .5s, .5s;
	transition: border-color, color .5s, .5s;
}
#header #nav-toggle:hover {
	border: 2px solid rgba(255,255,255,.9);
	color: rgba(255,255,255,.9);
}

#header #menu {
	float: right;
	margin:7px 0 0 0;
	padding: 0;
}
#header #menu ul { list-style: none; margin:0; padding: 0; }
#header #menu li {
	float: left;
	margin:0;
	padding:0;
	position: relative;
}
#header #menu li a {
	display: inline-block;
	text-decoration: none;
	font-weight: 300;
	font-size: .8em;
	line-height: 40px;
	text-transform: uppercase;
	color: rgba(255,255,255,.5);
	margin: 0 0 0 20px;
	-webkit-transition: color .5s;
	-moz-transition: color .5s;
	-o-transition: color .5s;
	transition: color .5s;
}
#header #menu li a.active,
#header #menu li a:hover {
	color: rgba(255,255,255,.9);
}

/* sub */
#header #menu ul li div.sub {
	display: none;
	position: absolute;
	right: auto;
	left: 0;
	margin: 0;
	padding: 10px 10px 0 0;
	height:auto;
}
#header #menu ul li.menu-sub:last-of-type div.sub {
	left: auto;
	right: 0;
}
#header #menu ul li div.sub ul { 
	margin: 0; 
	padding:0;
	list-style: none inside; 
	max-height: 0; 
	overflow: hidden;
	-webkit-transition: max-height 1s;
	-moz-transition: max-height 1s;
	-o-transition: max-height 1s;
	transition: max-height 1s;
}
#header #menu ul li:hover div.sub { display: block; }
#header #menu ul li a:hover + .sub ul,
#header #menu ul li .sub:hover ul { max-height: 500px; }


#header #menu ul li .sub li {
	margin: 0;
	padding: 0;
	float: none;
	background: rgba(0,0,0,.8);
	width: 100%;
}
#header #menu ul li .sub li a {
	display: block;
	line-height: 40px;
	color: #dedede;
	margin: 0;
	font-size: .8em;
	padding: 0 28px;
	text-align: left;
	white-space: nowrap;
}
#header #menu ul li .sub li a:hover { color: #fff; }
#header #menu ul li .sub li:first-of-type a { padding-top: 10px; }
#header #menu ul li .sub li:last-of-type a { padding-bottom: 10px; }



/* content */
#content {
	position: relative;
	color: #777;
}

#content p { 
	font-size: 1em; 
} 
#content h2 {
	font-family: 'Roboto Slab', serif;
	display:block;
	font-weight: 300;
	font-size: 1.7em;
	color: #555;
}
#content h2.center { display: inline-block; }
#content .ed-headline { text-align: center; }

#content h3 {
	font-family: 'Roboto Slab', serif;
	display:block;
	font-weight: 300;
	font-size: 1.2em;
	color: #555;
}
#content h3.center { display: inline-block; }

#content a { color: #555; -webkit-transition: color .5s; -moz-transition: color .5s; -o-transition: color .5s; transition: color .5s; }
#content a:hover { color: #000; }

#content input[type="text"],
#content textarea {
	border: 1px solid #ddd;
	-webkit-border-radius: 0;
	-moz-border-radius: 0;
	border-radius: 0;
	padding-top: 10px;
	padding-bottom: 10px;
	outline: 0 solid;
	background: #fff;
}
#content input[type="text"]:focus,
#content textarea:focus {
	border: 1px solid #bbb;
}

#content .ed-form input[type="submit"] {
	padding: 4px 16px;
	margin: 10px 0 0;
	font-weight: 300;
	line-height: 24px;
	font-weight: normal;
	background-color: #343434;
	border: 2px solid rgba(0,0,0,0);
	color: #fff;
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	border-radius: 3px;
	-webkit-transition: background-color,color,border-color .6s,.6s,.6s;
	-moz-transition: background-color,color,border-color .6s,.6s,.6s;
	-o-transition: background-color,color,border-color .6s,.6s,.6s;
	transition: background-color,color,border-color .6s,.6s,.6s;
	cursor: pointer;
}
#content input[type="submit"]:hover {
	background: transparent;
	border-color: #343434;
	color: #343434;
}
/* footer */
#footer {
	position: relative;
	background: #242424;
	color: #999;
	font-size: .95em;
	z-index: 4;
	margin: 0;
	padding:0px 0;
}
#footer p { 
	margin: 0; 
	font-size: .95em; 
	line-height: 1.8;
}

#footer h2,
#footer h3 {
	color: #999;
	margin:0;
}

#footer a {
	color: #999;
	text-decoration: none;
}
#footer a:hover {
	color: #eee;
}

#footer label { font-size: .9em; line-height: 1; }

#footer input,
#footer textarea {
	font-size: .9em;
	background: rgba(255,255,255,.2);
	padding-top: 2px;
	padding-bottom: 2px;
	border: 0 solid;
	-webkit-border-radius: 0;
	-moz-border-radius: 0;
	border-radius: 0;
	-webkit-transition: background .5s;
	-moz-transition: background .5s;
	-o-transition: background .5s;
	transition: background .5s;
}
#footer input:focus,
#footer textarea:focus {
	background: rgba(255,255,255,.25);
}
#footer input[type="submit"] {
	background: rgba(255,255,255,.2);
	color: #aaa;
	margin-top: 0;
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	border-radius: 3px;
	-webkit-transition: background 1s;
	-moz-transition: background 1s;
	-o-transition: background 1s;
	transition: background 1s;
}
#footer input[type="submit"]:hover {
	background: rgba(0,0,0,0);
}


/* bottom */
#bottom {
	position: relative;
	background: #1f1f1f;
	font-size: .9em; 
	color: #aaa;
	z-index: 3;
	margin:0;
	padding: 20px 0;
}
#bottom p {
	font-size: .9em; 
}
#bottom a {
	color: #aaa;
	text-decoration: none;
}
#bottom a:hover { color: #eee; }

#bottom a.to-top {
	display: block;
	position: absolute;
	right: 20px;
	top: -8px;
	width: 40px;
	height: 40px;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	border-radius: 5px;
	background: #262626;
	text-decoration: none;
	text-align: center;
	color: #4c4c4c;
	line-height: 40px;
	font-size: 1em;
	overflow: hidden;
	-webkit-transition: line-height .5s;
	-moz-transition: line-height .5s;
	-o-transition: line-height .5s;
	transition: line-height .5s;
}
#bottom a.to-top:before {
	font-family: FontAwesome;
	content: "\f077";
}
#bottom a.to-top:hover { line-height: 100px; }



/* Responsive */
@media screen and (max-width: 1024px) {

	body #header #menu { 
		background: #2b2b2b;
		overflow: auto;
		position: fixed !important;
		left: 0;
		top: 112px;
		margin: 0;
		padding: 20px 20px;
		width: 100%;
		display: none;
		max-height: 250px; /* Fallback */
		max-height: -webkit-calc( 100% - 152px );
		max-height: -moz-calc( 100% - 152px );
		max-height: calc( 100% - 152px );
	}

	body #header.fixed #menu {
		top: 85px;
		max-height: -webkit-calc( 100% - 125px );
		max-height: -moz-calc( 100% - 125px );
		max-height: calc( 100% - 125px );
	}

	body #header #menu ul li {
		float: none;
		width: 100%;
	}
	body #header #menu ul li a {
		margin:0;
		color: #ddd;
		padding: 8px 0;
		font-weight: normal;
	}
	body #header #menu ul li a.active {
		-webkit-border-radius: 0px;
		-moz-border-radius: 0px;
		border-radius: 0px;
		border: 0px solid;
		color: #fff;
		padding: 8px 0px;
	}
	body #header #menu ul li a:hover { color: #fff; }
	body #header #menu ul li .sub {
		padding: 0 !important;
		position: relative !important;
		right: auto !important;
		display: block !important;
		max-height: 100% !important;
	}
	body #header #menu ul li .sub li { background: transparent; }


	#header #nav-toggle { display: block; }


}


