/* @group General HTML */

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

body {
	line-height: 1.50em;
}

.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
	margin-bottom: .5rem;
    font-family: inherit;
    font-weight: 500;
    line-height: 1.1;
    color: inherit;
}

/* @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 Main Wrappers, Padding and Clearers */

#pageWrapper {
	display: flex;
	min-height: 100vh;
	flex-direction: column;
}

#wrapperOuter {
	flex: 1;
}

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

.bootstrapWidth {
	margin: 0 auto;
}

.bootstrapClearer {
	clear: both;
}

/* @end */

/* @group Top Navigation Bar */

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

@media screen and (min-width: 992px) {
	#header {
		width: 100%;
		z-index: 100;
		height: 50px;
	}
}

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

#extraContainer2 {
	display: block;
	float: none;
	line-height: 50px;
	text-align: left;
}

#extraContainer2 a {
	padding: 0px 15px 0px 0;
	display: inline;
	line-height: 40px;
}

@media (min-width: 992px) {
	#extraContainer2 {
		float: right;
		text-align: right;
	}

	#extraContainer2 a {
		padding: 2px 10px;
		display: inline-block;
		line-height: 50px;
	}
}

#extraContainer2 a i {
	font-size: 24px;
}

#siteTitleContent {
	float: left;
}

/* @end */

/* @group Page header */

.bd-pageheader {
    padding: 2rem 0;
}

@media (min-width: 544px) {
	.bd-pageheader {
	    padding-top: 4rem;
	    padding-bottom: 4rem;
	    text-align: left;
	}
}

@media print {
	.bd-pageheader {
	    padding-top: 0;
	    padding-bottom: 0;
	}
}

.bd-pageheader h1 {
	font-size: 3rem;
    font-weight: 400;
    color: #fff;
}

.bd-pageheader h1 a {
	text-decoration: none;
}

@media (min-width: 768px) {
	.bd-pageheader h1 {
	    font-size: 4rem;
	}
}

.bd-pageheader p {
	margin-bottom: 0;
    font-size: 1.25rem;
    font-weight: 300;
}

@media (min-width: 768px) {
	.bd-pageheader p {
		font-size: 1.5rem;
	}
}

/* @end */

/* @group Banner Container */

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

#rwBanner {
	line-height: 0px;
}

#banner .carousel {
	margin: 0;
}

/* @group RAFT Navigation */

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

@media print {
	#bootstrapNavBarWrapper {
		display: none;
	}
}

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

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

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

#RaftNav li {
	padding: 0;
	margin: 0;
	position: relative;

}

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

#RaftNav a i {
	display: none;
}

#RaftNav li a.current,
#RaftNav li a.currentAncestor {
	font-weight: normal;
}

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

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

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

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

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

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

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

#menuToggleTitle:before {
	content: 'Menu';
}

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

#RaftNavButton i {
	font-size: 40px;
	line-height: 50px;
	height: 50px;
	position: relative;
	display: inline;
	margin: 0;
	padding: 0;
}

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

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

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

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

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

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

#RaftNav .more {
	height: 50px;
	float: right;
	min-width: 50px;
	text-align: center;
	cursor: pointer;
	border-radius: 25%;
}

#RaftNav .more i {
	line-height: 50px;
	font-size: 50px;
	transition: transform 0.3s;
}

#RaftNav li.open > .more i {
	transform: rotate(-180deg);
}

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

@media screen and (min-width: 992px) {
	#bootstrapNavBarWrapper {
		float: right;
		display: inline-block;
		width: auto;
	}

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

	#RaftNav {
		background: none;
		margin-bottom: 0;
		max-height: 2000px;
		font-size: 87.5%;
		min-height: 0px;
		overflow: visible;
	}

	#RaftNavButton,
	#RaftNav .more {
		display: none !important;
	}

	#RaftNav ul li {
		display: block;
		float: left;
		margin: 0;
		position: relative;
	}

	#RaftNav li a {
		text-align: left;
		height: auto;
		width: auto;
		line-height: 50px;
		padding: 0 15px;
		position: relative;
	}

	#RaftNav li a.current,
	#RaftNav li a.currentAncestor {
		font-weight: normal;
	}

	#RaftNav a i {
		display: inline;
	}

	#RaftNav ul ul {
		position: absolute;
		top: 100%;
		left: 0;
		width: 200px;
		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 */
		overflow: visible;
		text-align: left;
	}

	#RaftNav ul ul li {
		display: block;
		position: relative;
		width: 100%;
	}

	#RaftNav ul ul ul {
		top: 0;
		left: 100%;
		margin: 0;
	}

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

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

	#RaftNav>ul>li:hover>ul {
		opacity: 1.00;
		visibility: visible;
	}

	#RaftNav ul li:focus-within > ul,
	#RaftNav>ul>li>ul>li:hover>ul,
	#RaftNav>ul>li>ul>li>ul>li:hover>ul,
	#RaftNav>ul>li>ul>li>ul>li>ul>li:hover>ul {
		opacity: 1.00;
		visibility: visible;
	}

	.menu {
		width: 200px;
	}

	.RaftTouchDevice #RaftNav ul ul {
		opacity: 1.00;
		visibility: visible;
		-webkit-transition: none;
		transition: none;
		display: none;
	}

	.RaftTouchDevice #RaftNav>ul>li:hover>ul,
	.RaftTouchDevice #RaftNav>ul>li>ul>li:hover>ul,
	.RaftTouchDevice #RaftNav>ul>li>ul>li>ul>li:hover>ul,
	.RaftTouchDevice #RaftNav>ul>li>ul>li>ul>li>ul>li:hover>ul {
		opacity: 1.00;
		visibility: visible;
		display: block;
	}
}

/* Print styles for nav */

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


/* @group Content Container */

#contentContainer {
	display: flex;
	flex-direction: column;
	position: relative;
	margin-bottom: 2rem;
	margin-top: 2rem;
}

@media screen and (min-width: 768px) {
	#contentContainer {
		flex-direction: row;
	}
}

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

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

#contentWrapper {
	display: block;
	position: relative;

}

/* @end */

/* @group Sidebar */

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

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

#sidebarTitle h3 {
	padding: 0;
	margin: 0 0 5px;
}

#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;
	transition: all .5s ease-in-out;
	padding: 3px 0;
}

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

/* @end */

/* @group Footer Container */

#footer {
	display: block;
	width: 100%;
	position: relative;
	height: auto;
	clear: both;
	text-align: left;
	padding-bottom: 15px;
	font-size: 87.5%;
}

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

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

#footerText {
	position: relative;
}

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

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

#credit {
	display: none;
}

/* @end */

/* @group Footer Navigation Links */

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

#footerNav i {
	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;
	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;
	width: 100%;
	margin-bottom: 10px;
	display: none;
}

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

#breadcrumb i.fa,
#breadcrumb i {
	display: none;
}

.breadcrumbLabel {
	display: inline-block;
}

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

#breadcrumb li {
	display: inline-block;
}

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

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

/* @end */
