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


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

body, html {
	background: #ffffff;
	font-family: 'Lato', Helvetica, Arial, sans-serif;
	font-size: 100%;
	line-height: 1.6;
	font-weight: 400;
	color: #777;
	text-rendering: optimizelegibility; 
	margin: 0;
	padding: 0;
}
input, textarea { font-family: 'Lato', Helvetica, Arial, sans-serif; }

h1, h2, h3, h4, h5, h6 {
	font-family: 'Open Sans', Helvetica, Arial, sans-serif;
	color: #444;
}

p { font-size: 1.1em; }

.wrapper {
	position: relative;
	width: 1200px;
	margin: 0 auto;
}

#content a,
#footer a { color: #777; -webkit-transition: color .5s; -moz-transition: color .5s; -o-transition: color .5s; transition: color .5s; }
#content a:hover,
#footer a:hover { color: #333; }

/**
 * HEADER
 */
#header {  
	position: relative;
	width: 100%;
	height: auto;
	padding: 30px 0;
	text-align: center;
	background: #fff;
}

#logo { display: inline-block; margin: 0; }
#logo h1 { font-size: 2em; margin: 0; padding: 0; }
#logo h2 { font-size: 1.1em; margin: 0; padding: 0; color: #666; }


#nav-toggle { 
	position: absolute;
	right: 0;
	top: 50%;
	display: none;
	vertical-align: middle;
 	font-size: 30px;
 	line-height: 30px;
 	margin: -15px 0 0 0;
 	padding: 0;
 	text-align: right;
 	color: #555;
 	text-decoration: none;
 	-webkit-transition: color .5s;
 	   -moz-transition: color .5s;
 	     -o-transition: color .5s;
 	        transition: color .5s;
}
#nav-toggle:hover { color: #333; }

/**
 * NAVIGATION
 */
#navigation { 
	display: block;
	width: 100%;
	height: auto;
	background: #41403c;
	z-index: 100;
}
#navigation #menu {
	display: block;
	text-align: center;
	font-size: 0; /* To avoid unwanted margins */
	-webkit-box-shadow: inset 0 -4px 0 #aaa;
	   -moz-box-shadow: inset 0 -4px 0 #aaa;
	        box-shadow: inset 0 -4px 0 #aaa;
}
#navigation #menu > ul { 
	display: inline-block; 
	list-style: none inside;
	padding: 0;
	margin: 0;
}
#navigation #menu > ul > li { 
	display: inline-block; 
	height: auto;
	padding: 0;
	margin: 0;
	font-size: 16px; /* Re-Set */
}
#navigation #menu > ul > li > a { 
	position: relative;
	display: block;
	width: auto;
	height: auto;
	line-height: 65px;
	padding: 0 20px;
	margin: 0;
	color: #fff;
	border-bottom: 4px solid transparent;
	font-size: 1em;
	font-weight: 400;
	text-decoration: none;
	-webkit-transition: background .5s, border-bottom .5s;
	   -moz-transition: background .5s, border-bottom .5s;
	     -o-transition: background .5s, border-bottom .5s;
	        transition: background .5s, border-bottom .5s;
}
#navigation #menu > ul > li.active > a,
#navigation #menu > ul > li:hover > a { 
	background: rgba(0,0,0,.2);
	border-bottom: 4px solid #1e71bec;
}


/* Sub */

#navigation #menu > ul div.sub { 
	position: absolute;
	display: block;
	border: 1px solid #ddd;
	background: #fff;
	opacity: 0;
	/*z-index: -1;*/
	-webkit-animation: hideSubnavigation .2s; 
	   -moz-animation: hideSubnavigation .2s; 
	     -o-animation: hideSubnavigation .2s; 
	        animation: hideSubnavigation .2s; 	
}
#navigation #menu > ul > li div.sub:hover,
#navigation #menu > ul > li:hover div.sub { 
	display: block; 
	opacity: 1; 
	z-index: 150;
	-webkit-animation: showSubnavigation .5s; 
	   -moz-animation: showSubnavigation .5s; 
	     -o-animation: showSubnavigation .5s; 
	        animation: showSubnavigation .5s; 
}

/* Show Subnav */ 
@-webkit-keyframes showSubnavigation {
	from { opacity: 0; z-index: 150; }
    to { opacity: 1; }
} 
@-moz-keyframes showSubnavigation {
	from { opacity: 0; z-index: 150; }
    to { opacity: 1; }
} 
@-o-keyframes showSubnavigation {
	from { opacity: 0; z-index: 150; }
    to { opacity: 1; }
} 
@keyframes showSubnavigation {
	from { opacity: 0; z-index: 150; }
    to { opacity: 1; }
}

/* Hide Subnav */ 
@-webkit-keyframes hideSubnavigation {
	from { opacity: 1; z-index: 150; }
    to { opacity: 0; z-index: -1; }
} 
@-moz-keyframes hideSubnavigation {
	from { opacity: 1; z-index: 150; }
    to { opacity: 0; z-index: -1; }
} 
@-o-keyframes hideSubnavigation {
	from { opacity: 1; z-index: 150; }
    to { opacity: 0; z-index: -1; }
} 
@keyframes hideSubnavigation {
	from { opacity: 1; z-index: 150; }
    to { opacity: 0; z-index: -1; }
}


#navigation #menu > ul div.sub li.first:after,
#navigation #menu > ul div.sub li.first:before { 
	position: absolute;
	content: "";
	bottom: 100%;
	left: 20px;
	border-left: 8px solid transparent;
	border-right: 8px solid transparent;
	border-bottom: 8px solid #fff;
	-webkit-transition: border-bottom .3s;
	   -moz-transition: border-bottom .3s;
	     -o-transition: border-bottom .3s;
	        transition: border-bottom .3s;
}
#navigation #menu > ul div.sub li.first:before {
	border-bottom: 9px solid #ddd;
	border-left: 9px solid transparent;
	border-right: 9px solid transparent;
	margin-left: -1px;
}

#navigation #menu > ul div.sub li.first:hover:after { border-bottom-color: #eee; }

#navigation #menu > ul div.sub ul { 
	list-style: none inside;
	padding: 0;
	margin: 0;	
}
#navigation #menu > ul div.sub ul li { 
	margin: 0;
	padding: 0;
	text-align: left;
	border-bottom: 1px solid rgba(0,0,0,.1);
}
#navigation #menu > ul div.sub ul li.end { border-bottom: 0 solid; }
#navigation #menu > ul div.sub ul li a {
	display: block;
	white-space: nowrap;
	line-height: 36px;
	padding: 0 30px 0 10px;
	font-size: .875em;
	color: #555;
	-webkit-transition: background-color .3s, color .3s;
	   -moz-transition: background-color .3s, color .3s;
	     -o-transition: background-color .3s, color .3s;
	        transition: background-color .3s, color .3s;
	text-decoration: none;
} 
#navigation #menu > ul div.sub ul li a.active { text-decoration: underline; }
#navigation #menu > ul div.sub ul li a:hover {
	color: #000;
	background: #eee;
}

/**
 * BANNER
 */
#banner { display: block; }

#banner h2 {
	display: inline-block;
	background: rgba(0,0,0,.5);
	padding: 5px 10px;
	text-shadow: none;
	font-size: 2em;
}
#banner h3 {
	display: inline-block;
	background: rgba(0,0,0,.5);
	padding: 5px 10px;
	text-shadow: none;
	font-size: 1.5em;
}

#banner_content {
	position: absolute;
	width: 1200px;
	top: auto;
	bottom: 5%;
	left: 50%;
	margin-left: -600px;
}

/**
 * CONTENT
 */
#content { display: block; z-index: 50; }


/* Headlines */
#content .ed-headline { text-align: center; } /* if it's left/right this is overridden */
#content .ed-headline h2.center { 
	display: inline-block;
	padding-left: 5px;
	padding-right: 5px;
	border-bottom: 3px solid #1e71be;
}

#content h2 { 
	font-size: 2.5em; 
	letter-spacing: -.02em; 
	line-height: 1.4; 
	font-weight: normal; 
	color: #444; 
}
#content h3 { font-size: 2em; font-weight: normal; color: #444; }

/* Selection */
::selection { background: #1e71be; color: #fff; }
::-moz-selection { background: #1e71be; color: #fff; }

/* Forms */
div.ed-form div.element input, 
div.ed-form div.element select, 
div.ed-form div.element textarea {
	border: 1px solid #ddd;
	-webkit-border-radius: 0;
	   -moz-border-radius: 0;
	        border-radius: 0;
	padding: 8px;
}
div.ed-form div.element select { height: 34px; background: #fff; }

div.ed-form .ed-form-button div.element input {
	-webkit-appearance: none;
	background: #41403c;
	font-size: .875em;
	color: #eee;
	-webkit-border-radius: 0;
	   -moz-border-radius: 0;
	        border-radius: 0;
}
div.ed-form .ed-form-button div.element input:hover { background: #61605c; color: #eee; }

div.ed-form div.ed-form-captcha div.captcha-right a:after { content: none !important; }

/**
 * FOOTER
 */
#footer { 
	display: block; 
	background: #efefef;
	margin: 0;
	padding: 20px 0;
}
#footer p {
	margin: 0;
	padding: 0;
	font-size: 1em;
	color: #999;
}
#footer p a {
	color: #888;
	text-decoration: none;
	font-weight: 400;
}

#footer a.scroll-link {
	display: block;
	position: absolute;
	right: 0px;
	top: -8px;
	width: 36px;
	height: 36px;
	background: #fff;
	text-decoration: none;
	text-align: center;
	color: #aaa;
	line-height: 34px;
	font-size: .8em;
	overflow: hidden;
	-webkit-transition: color .5s, background .5s;
	   -moz-transition: color .5s, background .5s;
	     -o-transition: color .5s, background .5s;
	        transition: color .5s, background .5s;
}
#footer a.scroll-link:hover { color: #fff; background: #aaa; }

#footer a.scroll-link:before {
	font-family: FontAwesome;
	content: "\f077";
}

#footer a:after { background: #999; }


/**
 * RESPONSIVENESS 
 */

/* Graded widths */

@media screen and (max-width: 1240px) {
		
	.wrapper { width: 1080px; }
	#banner_content { width: 1080px; margin-left: -540px; }

}

@media screen and (max-width: 1120px) {
		
	.wrapper { width: 960px; }
	#banner_content { width: 960px; margin-left: -480px; }

}



@media screen and (min-width: 1024px) {

	/* Makes sure nav is displayed on size-up */
	#navigation { display: block !important; }

	/* Submenu hint for desktops */
	#navigation #menu > ul > li > a.sub-trigger { padding-right: 40px; }
	#navigation #menu > ul > li > a.sub-trigger:after {
		position: absolute;
		right: 20px;
		top: 50%;
		margin: -4px 0 0 0;
		display: inline-block;
		font-family: FontAwesome;
		content: '\f107';
		line-height: 10px;
		color: #aaa;
	}


}



/* iPad */
@media screen and (max-width: 1023px) {
	
	#header { padding: 20px 0; text-align: left; }
	#header #logo { width: 70%; }

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

	#navigation { 
		width: 960px;
		margin: 0 auto;
		position: relative; 
		z-index: -1;
	}
	#navigation.nav-visible { z-index: 150; }

	#navigation #menu > ul { 
		position: absolute;
		display: block;
		opacity: 0; 
		z-index: -1;
		right: 30px;
		top: -30px;
		background: #fff;
		border: 1px solid #ddd;
		-webkit-box-shadow: 0 0 10px rgba(0,0,0,.5);
		   -moz-box-shadow: 0 0 10px rgba(0,0,0,.5);
		        box-shadow: 0 0 10px rgba(0,0,0,.5);
		-webkit-animation: hideSubnavigation .2s; 
		   -moz-animation: hideSubnavigation .2s; 
		     -o-animation: hideSubnavigation .2s; 
		        animation: hideSubnavigation .2s; 			
	}
	#navigation #menu > ul > li { 
		position: relative;
		display: block;
		border-bottom: 1px solid rgba(0,0,0,.1);
	}
	#navigation #menu > ul > li.end { border-bottom: 0 solid; }
	#navigation #menu > ul > li > a.active,
	#navigation #menu > ul > li:hover > a,
	#navigation #menu > ul > li > a { 
		line-height: 36px;
		background: transparent;
		color: #555;
		font-size: .875em;
		border-bottom: 0 solid;
		text-align: right;
		padding-left: 40px;
		padding-right: 10px;
		-webkit-transition: background-color .3s, color .3s;
		   -moz-transition: background-color .3s, color .3s;
		     -o-transition: background-color .3s, color .3s;
		        transition: background-color .3s, color .3s;
		text-decoration: none;
	} 
	#navigation #menu > ul > li > a.active { text-decoration: underline; }
	#navigation #menu > ul > li > a:hover {
		color: #000;
		background: #eee;
	}


	#navigation #menu > ul > li > a.sub-trigger:before { 
		font-family: FontAwesome;
		content: "\f0d9";
		position: absolute;
		left: 10px;
		color: rgba(0,0,0,.1);
	}


	#navigation.nav-visible #menu > ul { 
		display: block; 
		opacity: 1; 
		z-index: 150;
		-webkit-animation: showSubnavigation .5s; 
		   -moz-animation: showSubnavigation .5s; 
		     -o-animation: showSubnavigation .5s; 
		        animation: showSubnavigation .5s; 
	}

	#navigation #menu > ul div.sub {
		right: 100%;
		top: 0;
		-webkit-box-shadow: 0 0 10px rgba(0,0,0,.5);
		   -moz-box-shadow: 0 0 10px rgba(0,0,0,.5);
		        box-shadow: 0 0 10px rgba(0,0,0,.5);
	}

	#navigation #menu > ul div.sub li.first:after,
	#navigation #menu > ul div.sub li.first:before { 
		position: absolute;
		content: "";
		bottom: auto;
		top: 10px;
		left: 100%;
		border-bottom: 8px solid transparent;
		border-top: 8px solid transparent;
		border-left: 8px solid #fff;
		border-right: 0 solid;
		-webkit-transition: border-left .3s;
		   -moz-transition: border-left .3s;
		     -o-transition: border-left .3s;
		        transition: border-left .3s;
	}
	#navigation #menu > ul div.sub li.first:before {
		border-bottom: 9px solid transparent;
		border-top: 9px solid transparent;
		border-left: 9px solid #ddd;
		margin: -1px 0 0 0;
		border-right: 0 solid;
	}

	#navigation #menu > ul div.sub li.first:hover:after { border-left-color: #eee; border-bottom-color: transparent; }


	/* Optional: Navigation full width */

	#navigation {
		display: none;
		width: 100%;
		background: #fff;
		z-index: 90;
	}

	#navigation #menu > ul {
		position: relative;
		left: 0;
		right: 0;
		top: 0;
		opacity: 1;
		border-left: 0 solid;
		border-right: 0 solid;
		-webkit-box-shadow: none;
		   -moz-box-shadow: none;
		        box-shadow: none;
		-webkit-animation: none;
		   -moz-animation: none;
		     -o-animation: none;
		        animation: none;		        
		z-index: 100;
	}

	#navigation #menu > ul > li.menu-sub { border-bottom: 0 solid; }


	#navigation #menu > ul > li div.sub:hover,
	#navigation #menu > ul > li:hover div.sub,
	#navigation #menu > ul div.sub,
	#navigation #menu > ul div.sub:hover {
		left: 0;
		right: 0;
		position: relative;
		overflow: hidden;
		max-height: 0;
		-webkit-box-shadow: none;
		   -moz-box-shadow: none;
		        box-shadow: none;
		opacity: 1;
		-webkit-animation: none;
		   -moz-animation: none;
		     -o-animation: none;
		        animation: none;
		border-left: 0 solid;
		border-right: 0 solid;
		border-top: 0 solid;		
		-webkit-transition: max-height 1s;		
		   -moz-transition: max-height 1s;		
		     -o-transition: max-height 1s;		
		        transition: max-height 1s;
	}
	#navigation #menu > ul > li:hover div.sub,
	#navigation #menu > ul > li.active div.sub,
	#navigation #menu > ul div.sub:hover { max-height: 1000px; }
	
	#navigation #menu > ul div.sub ul li.first { border-top: 1px solid rgba(0,0,0,.1); }

	#navigation #menu > ul > li > a.active, 
	#navigation #menu > ul > li:hover > a,
	#navigation #menu > ul > li > a {
		text-align: left;
		font-size: .9em;
		line-height: 45px;
	}
	
	#navigation #menu > ul > li > a.active {
		border-left: 5px solid #1e71be;
		padding-left: 35px;
		text-decoration: none;
	}

	#navigation #menu > ul div.sub ul li a.active {
		border-left: 10px solid #fff;
		-webkit-box-shadow: inset 5px 0 0 #1e71be;
		   -moz-box-shadow: inset 5px 0 0 #1e71be;
		        box-shadow: inset 5px 0 0 #1e71be;
		padding-left: 50px;
		text-decoration: none;
	}



	#navigation #menu > ul div.sub ul li a {
		padding-right: 10px;
		padding-left: 60px;
		font-size: .9em;
		color: #777;
		line-height: 40px;
	}

	#navigation #menu > ul > li > a.sub-trigger:before { left: auto; right: 10px; content: '\f0d7'; }
	#navigation #menu > ul > li:hover > a.sub-trigger:before { left: auto; right: 10px; content: '\f0d8'; }

	#navigation #menu > ul div.sub li.first:before,
	#navigation #menu > ul div.sub li.first:after { content: none; }


}


@media screen and (max-width: 1000px) {
		
	.wrapper { width: 768px; }
	#navigation { width: 768px; }

	/* Optional: Navigation full width */
	#navigation { width: 100%; }

	#banner_content { width: 768px; margin-left: -384px; }

}

@media screen and (max-width: 800px) {
		
	.wrapper { width: 94%; }

	#navigation { width: 94%; }
	/* Optional: Navigation full width */
	#navigation { width: 100%; }

	#banner_content { width: 94%; margin-left: 0; left: 3%; }

}

@media screen and (max-width: 768px) {
	
	/* Grid */
	.ed-grid [class*="span"] {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}

}

/* iPhone */
@media screen and (max-width: 568px) {
	
	html, body { font-size: 105%; }

	/* Reduce Banner Heading Size */

	#banner h2 { font-size: 1.5em; }
	#banner h3 { font-size: 1em; }
}



