/* @group RapidWeaver HTML */

html, body {
	padding: 0;
	margin: 0;
	min-height: 100%;
	height: 100%;
}

body {
	overflow-x: hidden;
}

h1 {
	font-size: 40px;
}

h2 {
	font-size: 35px;
}

h3 {
	font-size: 30px;
}

h4 {
	font-size: 25px;
}

h5 {
	font-size: 20px;
}

h6 {
	font-size: 15px;
}

/* @end */

/* @group FreeStyle and ExtraContent Functionality */

/* Hide FreeStyle and ExtraContent containers, unless they are in their designated placeholders */
#contentWrapper #fs,
#sidebar #fs,
#contentWrapper div[id*='myExtraContent'],
#sidebar div[id*='myExtraContent'] {
	display: none;
}

/* @end */

/* @group Social Bar */

#socialBar {
	z-index: 300;
	width: 100%;
	display: none;
}

#socialBarBackground {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 301;
}

#socialBarSpacer {
	display: block;
	width: 100%;
	position: relative;
}

#extraContainer1 {
	display: block;
	position: relative;
	z-index: 302;
}

#socialBar a {
	text-decoration: none;
	-webkit-transition: all 500ms;
	-moz-transition: all 500ms;
	-o-transition: all 500ms;
	-ms-transition: all 500ms;
	transition: all 500ms;
}

#socialBar [class^="fa fa-"],
#socialBar a [class^="fa fa-"],
#socialBar a:hover [class^="fa fa-"] {
	text-decoration: none;
	-webkit-transition: all 500ms;
	-moz-transition: all 500ms;
	-o-transition: all 500ms;
	-ms-transition: all 500ms;
	transition: all 500ms;
}

/* @end */

/* @group Logo Image Placeholders */

#logoFixedLeft {
	position: fixed;
	top: 0px;
	left: 0px;
	z-index: 200;
	display: none;
}

#logoFixedRight {
	position: fixed;
	top: 0px;
	right: 0px;
	z-index: 200;
	display: none;
}

#logoAbsoluteLeft {
	position: absolute;
	top: 0px;
	left: 0px;
	z-index: 200;
	display: none;
}

#logoAbsoluteRight {
	position: absolute;
	top: 0px;
	right: 0px;
	z-index: 200;
	display: none;
}

#titleLogo {
	display: none;
	position: relative;
	text-align: left;
}

#logoTopLeft {
	position: absolute;
	top: 15px;
	left: 15px;
	z-index: 200;
	display: none;
}

#logoTopRight {
	position: absolute;
	top: 15px;
	right: 15px;
	z-index: 200;
	display: none;
}

#logoBottomLeft {
	position: absolute;
	bottom: 15px;
	left: 15px;
	z-index: 200;
	display: none;
}

#logoBottomRight {
	position: absolute;
	bottom: 15px;
	right: 15px;
	z-index: 200;
	display: none;
}

#headerLogo {
	display: none;
}

/* @end */
/* @group Extra Content Containers */

.ecName {
	display: none;
	border: 2px solid #ff0000;
}

#extraContainer2 {
	display: block;
	line-height: 2.50em;
	text-align: right;
	position: relative;
	padding-left: 20px;
	padding-right: 20px;
}

#extraContainer4 {
	display: block;
	position: relative;
}

#extraContainer9 {
	position: relative;
	z-index: 20;
}

#extraContainer10 {
	display: block;
	position: relative;
}

/* @end */

/* @group Main Wrappers, Padding and Clearers */

#pageWrapper {
	min-height: 100%;
	height: 100%;
}

#wrapperOuter {
	min-height: 100%;
}

#main {
	position: relative;
	margin: 0 auto;
	padding: 0;
}

@media screen and (min-width: 768px) {
	#main {
		padding: 0 0 125px;
	}
}

.floodWidth {
	margin: 0 auto;
}

.floodClearer {
	clear: both;
}

.floodPadding {
	padding-left: 10px;
	padding-right: 10px;
}

.floodSpacer {
	height: 50px;
	display: block;
	position: relative;
}

/* @end */

/* @group Header Container */

#headerMargin {
	display: block;
	position: relative;
}

#header {
	position: relative;
	z-index: 100;
	height: auto;
}

#headerContent {
	display: block;
	position: relative;
}

h1#siteTitle {
	padding: 0;
	margin: 0;
	line-height: 1.20em;
	font-size: 30px;
}

h1#siteTitle a {
	text-decoration: none;
	font-weight: normal;
	font-style: normal;
	line-height: 1.00em;
	padding: 0;
	margin: 0;
}

h2#siteSlogan {
	font-weight: normal;
	font-style: normal;
	text-decoration: none;
	line-height: 1.00em;
	padding: 0;
	margin: 0 0 8px;
	font-size: 105%;
}

#navContent {
	display: block;
	z-index: 100;
	overflow: visible;
}

/* @end */

/* @group Banner Container */

#bannerOuter {
	display: block;
	position: relative;
	z-index: 5;
	padding: 0;
}

#bannerWrapper {
	display: block;
	position: relative;
	z-index: 5;
	margin: 0 auto;
	padding: 0;
}

#bannerBorder {
	margin-left: 10px;
	margin-right: 10px;
}

#banner {
	display: block;
	position: relative;
	z-index: 5;
}

#banner img {
	width: 100%;
	height: auto;
	-ms-interpolation-mode: bicubic;
}

/* Custom banners added through the RW page inspector */
#rwBanner {
	line-height: 0px;
}

#rwBanner img {
	width: auto;
}

#banner #logoTopLeft,
#banner #logoTopRight,
#banner #logoBottomLeft,
#banner #logoBottomRight {
	max-width: 100%;
	height: auto;
}

#banner .carousel {
	margin: 0;
}

/* FreeStyle banners */
#freeStyle img {
	width: 100%;
	height: auto;
	-ms-interpolation-mode: bicubic;
}

#bannerContentBox {
	position: relative;
	height: 100%;
	display: none;
	z-index: 100;
}

#bannerBoxBackground {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	display: block;
	height: 100%;
	width: 100%;
}

#bannerContentBox h1,
#bannerContentBox h2,
#bannerContentBox h3,
#bannerContentBox h4,
#bannerContentBox h5,
#bannerContentBox h6 {
	font-weight: normal;
	font-style: normal;
	text-decoration: none;
	padding-bottom: 5px;
	line-height: 1.25em;
}

#bannerContentBox a {
	color: #5e5e5e;
}

#bannerContentBox a:hover {
	color: #eaeaea;
}

#extraContainer5 {
	padding: 25px;
	font-size: 110%;
	z-index: 10;
	display: block;
	position: relative;
}

/* @end */

/* @group Horizontal Content Containers */

#upperHorizontalBar {
	width: 100%;
	display: none;
	position: relative;
	background-color: #e6e6e6;
	margin-top: 50px;
}

#upperHorizontalBarContainer {
	display: block;
	position: relative;
	padding: 25px 0;
}

#upperHorizontalBarContainer h1 {
	font-size: 2.00em;
	font-weight: bold;
}

#upperHorizontalBarContainer h2 {
	font-size: 1.75em;
	font-weight: bold;
}

#upperHorizontalBarContainer h3 {
	font-size: 1.50em;
	font-weight: bold;
}

#upperHorizontalBarContainer h4 {
	font-size: 1.25em;
	font-weight: bold;
}

#upperHorizontalBarContainer h5 {
	font-size: 1.00em;
	font-weight: bold;
}

#upperHorizontalBarContainer h6 {
	font-size: 0.75em;
	font-weight: bold;
}

#middleHorizontalBar {
	width: 100%;
	display: none;
	position: relative;
	background-color: #e6e6e6;
	margin-top: 50px;
}

#middleHorizontalBarContainer {
	display: block;
	position: relative;
	padding: 25px 0;
}

#middleHorizontalBarContainer h1 {
	font-size: 2.00em;
	font-weight: bold;
}

#middleHorizontalBarContainer h2 {
	font-size: 1.75em;
	font-weight: bold;
}

#middleHorizontalBarContainer h3 {
	font-size: 1.50em;
	font-weight: bold;
}

#middleHorizontalBarContainer h4 {
	font-size: 1.25em;
	font-weight: bold;
}

#middleHorizontalBarContainer h5 {
	font-size: 1.00em;
	font-weight: bold;
}

#middleHorizontalBarContainer h6 {
	font-size: 0.75em;
	font-weight: bold;
}

#lowerHorizontalBar {
	width: 100%;
	display: none;
	position: relative;
	background-color: #e6e6e6;
	margin-top: 50px;
}

#lowerHorizontalBarContainer {
	display: block;
	position: relative;
	padding: 25px 0;
}

#lowerHorizontalBarContainer h1 {
	font-size: 2.00em;
	font-weight: bold;
}

#lowerHorizontalBarContainer h2 {
	font-size: 1.75em;
	font-weight: bold;
}

#lowerHorizontalBarContainer h3 {
	font-size: 1.50em;
	font-weight: bold;
}

#lowerHorizontalBarContainer h4 {
	font-size: 1.25em;
	font-weight: bold;
}

#lowerHorizontalBarContainer h5 {
	font-size: 1.00em;
	font-weight: bold;
}

#lowerHorizontalBarContainer h6 {
	font-size: 0.75em;
	font-weight: bold;
}

#footerContainer {
	display: none;
	position: relative;
	padding-top: 25px;
	padding-bottom: 25px;
	overflow: hidden;
	z-index: 0;
}

#footerContainer h1 {
	font-size: 2.00em;
	font-weight: bold;
}

#footerContainer h2 {
	font-size: 1.75em;
	font-weight: bold;
}

#footerContainer h3 {
	font-size: 1.50em;
	font-weight: bold;
}

#footerContainer h4 {
	font-size: 1.25em;
	font-weight: bold;
}

#footerContainer h5 {
	font-size: 1.00em;
	font-weight: bold;
}

#footerContainer h6 {
	font-size: 0.75em;
	font-weight: bold;
}

/* @end */




/* @group RAFT Navigation */

#floodNavBarWrapper {
	position: relative;
	width: 100%;
	display: block;
	z-index: 2;
}

@media print {
	#floodNavBarWrapper {
		display: none !important;
	}
}

#floodNavBarFill {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 21;
	display: block;
	opacity: 1.00;
}

#navContent {
	width: 100%;
	z-index: 201;
	position: relative;
}

#nav {
	transition: max-height 500ms;
	-webkit-transition: max-height 500ms;
	-moz-transition: max-height 500ms;
	overflow: hidden;
	font-size: 125%;
	z-index: 30;
	position: relative;
	width: 100%;
}

#nav ul {
	padding: 0;
	margin: 0;
	list-style: none;
	width: 100%;
}

#nav li {
	padding: 0;
	margin: 0;
	position: relative;
	
}

#nav li a {
	display: block;
	text-decoration: none;
	height: 50px;
	line-height: 50px;
	padding: 0 3%;
	transition: all 300ms ease-in-out;
	-webit-transition: all 300ms ease-in-out;
	-moz-transition: all 300ms ease-in-out;
	width: 100%;
	text-align: left;
}

#nav li a.current,
#nav li a.currentAncestor {
	font-weight: bold;
}

#nav li ul {
	display: block;
	max-height: 0;
	overflow: hidden;
	transition: all 0.3s ease-in-out;
	-webkit-transition: all 0.3s ease-in-out;
	-moz-transition: all 0.3s ease-in-out;
}

#nav ul ul a {
	padding: 0 10%;
}

#nav ul ul ul a {
	padding: 0 20%;
}

#nav ul ul ul ul a {
	padding: 0 30%;
}

#nav ul ul ul ul ul a {
	padding: 0 40%;
}

#mobileNavButton {
	text-align: left;
	height: 50px;
	line-height: 50px;
	font-size: 100%;
	display: block;
	width: 100%;
	cursor: pointer;
	padding: 0px;
	position: relative;
}

#mobileNavButton .mobileNavTitle {
	position: absolute;
	left: 65px;
	top: 50%;
	padding: 0;
	margin: 0;
	display: block;
	font-size: 20px;
	line-height: 50px;
	margin-top: -25px;
}

#mobileNavButton .mobileNavTitle:before {
	content: 'Menu';
}

#mobileNavButton .menu-opened {
	display: none;
	float: right;
	font-size: 30px;
	width: 50px;
	text-align: center;
}

#mobileNavButton .fa {
	font-size: 40px;
	line-height: 50px;
	height: 50px;
	position: relative;
	display: inline;
	margin: 0;
	margin-left: 15px;
	margin-right: 15px;
	padding: 0;
}

#mobileNavButton.menu-closed .fa.fa-minus {
	display: none;
}

#mobileNavButton.menu-closed .fa.fa-bars {
	display: inline;
}

#mobileNavButton.menu-open .fa.fa-minus {
	display: inline;
}

#mobileNavButton.menu-open .fa.fa-bars {
	display: none;
}

#nav.menu-closed {
	max-height: 0px;
}

#nav.menu-open,
#nav .open > ul {
	max-height: 2000px;
}

#nav .more {
	height: 50px;
	float: right;
	min-width: 50px;
	text-align: center;
	cursor: pointer;
}

#nav .more [class^="fa fa-"] {
	line-height: 50px;
	font-size: 50px;
	-webkit-transition: -webkit-transform 0.3s;
	-moz-transition: -moz-transform 0.3s;
	transition: transform 0.3s;
}

#nav li.open > .more [class^="fa fa-"] {
	transform: rotate(-180deg);
	-webkit-transform: rotate(-180deg);
	-moz-transform: rotate(-180deg);
}

/* Styling applied on screens 992px and wider */

@media screen and (min-width: 992px) {
	#floodNavBarWrapper {
		float: right;
		width: 60%;
		position: absolute;
		bottom: 0;
		right: 0;
	}
	
	#navContent {
		z-index: 201;
		position: relative;
		display: block;
		width: auto;
		float: right;
	}
	
	#nav {
		background: none;
		margin-bottom: 0;
		max-height: 2000px;
		font-size: 100%;
		min-height: 0px;
		overflow: visible;
	}

	#mobileNavButton,
	#nav .more {
		display: none !important;
	}
	
	#nav ul li {
		display: block;
		float: left;
		margin: 0;
		position: relative;
	}
		
	#nav li a {
		text-align: left;
		height: auto;
		width: auto;
		line-height: 30px;
		padding: 0 15px;
		position: relative;
	}
	
	#nav ul ul {
		position: absolute;
		top: 100%;
		left: 0;
		width: 150px;
		padding: 0;
		margin: 0;
		z-index: 149;
		max-height: none;	
		opacity: 0;
		visibility: hidden;
		-webkit-transform: translateZ(0); /* Fixes missing elements when the parent is fixed-positioned */
		-webkit-transition: all 300ms ease-in-out;
		transition: all 300ms ease-in-out;
		overflow: visible;
	}
	
	#nav ul ul li,
	#nav ul ul li a {
		display: block;
		position: relative;
		width: 100%;
	}
	
	#nav ul ul ul {
		top: 0;
		left: 100%;
		margin: 0;
		margin-top: -1px !important;
	}

	#nav ul ul > li {
		display: block;
		margin: 0;
		position: relative;
	}

	#nav ul ul a,
	#nav ul ul ul a,
	#nav ul ul ul ul a,
	#nav ul ul ul ul ul a,
	#nav ul ul ul ul ul ul a {
		float: none;
		display: block;
		padding: 10px 15px;
		line-height: 1.50em;
	}

	#nav>ul>li:hover>ul {
		opacity: 1.00;
		visibility: visible;
	}
	
	#nav>ul>li>ul>li:hover>ul, 
	#nav>ul>li>ul>li>ul>li:hover>ul, 
	#nav>ul>li>ul>li>ul>li>ul>li:hover>ul {
		opacity: 1.00;
		visibility: visible;
		margin-top: -1px;
	}
	
	.menu {
		width: 200px;
	}
	
	.RaftTouchDevice #nav ul ul {	
		opacity: 1.00;
		visibility: visible;
		-webkit-transition: none;
		transition: none;
		display: none;
	}
	
	.RaftTouchDevice #nav>ul>li:hover>ul,
	.RaftTouchDevice #nav>ul>li>ul>li:hover>ul, 
	.RaftTouchDevice #nav>ul>li>ul>li>ul>li:hover>ul, 
	.RaftTouchDevice #nav>ul>li>ul>li>ul>li>ul>li:hover>ul {
		opacity: 1.00;
		visibility: visible;
		display: block;
	}
}

/* Print styles for nav */

@media print {
	#nav {
		display: none !important;
	}
}
/* @end */


/* @group Content Container */

#contentContainer {
	display: block;
	position: relative;
	margin-bottom: 50px;
	margin-top: 50px;
}

#contentContainer::before {
	display: table;
	content: ' ';
}

#contentContainer #content {
	padding: 0;
	margin: 0;
	position: relative;
}

#contentWrapper {
	display: block;
	position: relative;
	
}

/* @end */

/* @group Back To Top */

#backToTopWrapper {
	display: none;
	position: fixed;
	bottom: 20%;
	right: 5%;
	z-index: 100;
	line-height: 50px;
	font-size: 50px;
	height: 50px;
	overflow: hidden;
	float: none;
	width: 53px;
	text-align: center;
	border-radius: 50px;
	border: none;
	outline: none;
}

#backToTopWrapper a [class^="fa fa-"] {
	transition: all 300ms ease-in-out;
	-webkit-transition: all 300ms ease-in-out;
}

/* @end */

/* @group Sidebar */

#aside {
	display: block;
	margin-top: 10px;
}

@media screen and (min-width: 768px) {
	#aside {
		margin-top: 0;
	}
}

#sidebarTitle h3 {
	
}

#sidebar {
	display: block;
	position: relative;
}

#pluginSidebar {
	display: block;
	position: relative;
}

/* @end */

/* @group Sidebar Block Navigation */

#navSource {
	display: none;
}

#blockNav {
	display: none;
	position: relative;
	margin-bottom: 20px;
}

#blockNav ul {
	list-style: none;
	padding: 0;
	margin: 0;
}

#blockNav li {
	padding: 0;
	margin: 0;
}

#blockNav a {
	display: block;
	text-decoration: none;
	-webkit-transition: all .5s ease-in-out;
	transition: all .5s ease-in-out;
	padding: 3px 0;
}

#blockNav a:hover {
	padding-left: 5px;
}

#blockNav ul ul li {
	padding-left: 20px;
}

/* @end */

/* @group Footer Container */

#footer {
	display: block;
	width: 100%;
	position: relative;
	height: auto;
	clear: both;
}

#footer a {
	-webkit-transition: color 300ms ease-in-out;
	-moz-transition: color 300ms ease-in-out;
	transition: color 300ms ease-in-out;
}

@media screen and (min-width: 768px) {
	#footer {
		margin-top: -125px;
		height: 124px;
	}
}

#footerContent {
	padding: 15px 0px;
	display: block;
	position: relative;
}

#footerText {
	position: relative;
}

#lastUpdated {
	position: relative;
	display: none;
}

#lastUpdated:before {
	content: 'Last Updated: ';
}

/* @end */

/* @group Footer Navigation Links */

#footerNav {
	display: none;
	position: relative;
	height: auto;
	overflow: auto;
	margin-bottom: 10px;
}

#footerNav [class^="fa fa-"] {
	display: none;
}

#footerNav ul {
	display: block;
	list-style: none;
	padding: 0;
	margin: 0;
}

#footerNav li {
	display: inline-block;
	padding: 0 0 0 15px;
	margin: 0;
}

#footerNav li:first-child {
	padding-left: 0;
}

#footerNav li:last-child {
	padding-right: 0;
}

#footerNav li a {
	display: block;
	text-decoration: none;
	z-index: 20;
	margin: 0;
}

#footerNav li p {
	display: block;
	text-decoration: none;
	cursor: default;
	z-index: 30;
	margin: 0;
}

#footerNav ul ul {
	display: none;
}

/* @end */
/* @group Breadcrumb */

#breadcrumb {
	position: relative;
	line-height: 1.25em;
	width: 100%;
	margin-bottom: 10px;
}

#breadcrumb:before {
	content: 'Currently Viewing: ';
}

#breadcrumb [class^="fa fa-"] {
	display: none;
}

#breadcrumb ul {
	list-style: none;
	margin: 0 0 0 0;
	padding: 0;
	display: inline;
}

#breadcrumb li {
	display: inline-block;
}

#breadcrumb li a {
	display: inline;
	text-decoration: none;
	z-index: 20;
	margin: 0;
}

#breadcrumb li p {
	display: inline;
	text-decoration: none;
	cursor: default;
	z-index: 30;
	margin: 0;
}

/* @end */