.col-main {
	background: #fff;
}

aside {
	background: rgba(0,0,0,0.5);
	padding: 30px;
	margin-left: -30px;
	margin-top: 30px;
	color: #fff;
}

aside h2 {
	margin-bottom: 15px;
}

aside a {
	color: inherit;
}

/**/

.side-nav ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.side-nav .item {
	display: block;
	position: relative;
	padding-right: 10px;
}

.side-nav > ul > li {
	border-bottom: 1px solid rgba(255,255,255,0.3);
}

.side-nav > ul > li:last-child {
	border-bottom: 0;
}

.side-nav a {
	padding: 10px;
	display: block;
	text-decoration: none;
}

.side-nav li.active > .item {
	background: #fff;
	margin-left: -30px;
}

.side-nav li.active > .item > a {
	color: #000;
}

.side-nav ul ul {
	padding-right: 20px;
}

.side-nav .arrow {
	position: absolute;
    top: 12px;
    right: 0;
	
	font-family: 'FontAwesome';
	font-style: normal;
	font-size: 80%;
	
	color: #fff;
}

.side-nav .arrow:before {
	content: "\f10c";
}

.side-nav .has-childrens > .arrow:before {
	content: "\f053";
}

.side-nav .has-childrens.on > .arrow:before {
	content: "\f078";
}

.side-nav .contains-external-link > .arrow:before {
	content: "\f08e";
}

.side-nav ul > li.on > ul {
	display: none;
}

.side-nav ul > li > ul {
	display: none;
}

.side-nav ul > li > ul > li:first-child {
	border-top: 1px dotted rgba(255,255,255,0.2);
}

.side-nav ul > li > ul > li {
	border-bottom: 1px dotted rgba(255,255,255,0.2);
}

.side-nav ul > li > ul > li:last-child {
	border-bottom: 0;
}

.side-nav ul > li > ul > li > a {
	padding: 10px 0;
	display: block;
	text-decoration: none;
}

.side-nav > ul > li > ul > li > ul > li.on {
	background: #fff;
}

.side-nav > ul > li > ul > li > ul > li.on > a {
	color: #000;
}

.side-nav a:hover,
.side-nav a:focus,
.side-nav a.on {
	font-weight: bold;
}

.side-nav li.on > a:first-child {
	font-weight: bold;
}

.side-nav .has-children {
	position: absolute;
	left: 0;
	top: 0;
	margin: 15px 10px;
	font-size: 14px;
}

.side-nav .external-link {
	position: absolute;
	left: 0;
	top: 0;
	margin: 15px 10px;
	font-size: 14px;
}

/**/

@media (max-width: 991px) {
	aside {
		display: none;
	}
}

/**/

.page-nav-toggle {
	display: none;
}

@media (max-width: 767px) {
	.page-nav-toggle {
		display: block;
		float: left;
		padding: 5px 10px 10px 10px;
		background: rgba(0,0,0,0.1);
		color: #fff;
		border: 0;
	}
}

.page-nav-toggle:before {
	content: '\f078';
}

.page-nav {
	display: none;
	
	position: absolute;
	top: 100%;
	width: 100%;
	background: #fff;
	margin: 0 -15px;
	z-index: 99;
}

.page-nav ul {
	list-style: none;
	padding: 0;
	margin: 0;
}

.page-nav ul a {
	display: block;
	padding: 15px;
	border-bottom: 1px solid #ddd;
}

.page-nav ul ul {
	display: none;
}