
#wrapper{
	}
	
.sidenav-toggle .icon-close,
body.sidenav-open .sidenav-toggle .icon-toggle{
	display:none;
	}		
.sidenav-toggle .icon-toggle,
body.sidenav-open .sidenav-toggle .icon-close{
	display:inline;
	}			
	
body.sidenav-open nav.side{
	right:0;
	}

#wrapper > *,
nav.side{
	box-sizing:border-box;
	transition:all 0.25s linear;
	}
	
body.sidenav-open #wrapper > *{
	transform:translateX(-400px);
	}

nav.side{
	position:fixed;
	top:0;
	bottom:0;
	right:-400px;
	width:400px;
	background:rgba(66,66,66,1);
	color:rgba(255,255,255,1);
	z-index:99;
	overflow:hidden;
	border-left:1px solid rgba(255,255,255,0.2);
	box-sizing:border-box;
	}
	nav.side a.sidenav-close{
		position:absolute;
		right:1em;
		top:1em;
		display:block;
		cursor:pointer;
		z-index:1;
		}
		nav.side a.sidenav-close:hover{
			color:rgba(255,255,255,1);
			}
	nav.side a.logo{
		display:block;
		width:160px;
		margin:3rem auto 2rem auto;
		z-index:1;
		}
		nav.side a.logo:hover{
			opacity:0.8; 
			}		
	nav.side > ul{
		margin-bottom:3em;
		}
		nav.side ul li{
			position:relative;
			border-bottom:1px solid rgba(255,255,255,0.2);
			}
			nav.side ul li:last-child{
				border-bottom:none;
				}
			nav.side ul li ul{
				border-top:1px solid rgba(255,255,255,0.2);
				}
			nav.side ul li ul li{
				background:rgba(0,0,0,0.1);
				}
		nav.side ul li.haschildren{
			}
			nav.side ul li.haschildren > a:after{
				display:block;
				position:absolute;
				right:1em;
				top:0.5em;
				font-family:'Font Awesome 5 Pro';
				content:'\f0ab';
				font-weight:900;
				}
			nav.side ul li a{
				display:block;
				padding:0.5em 1em;
				color:rgba(255,255,255,0.8);
				text-decoration:none;
				font-size:1em;
				}
			nav.side ul li ul li a{
				color:rgba(255,255,255,0.8);
				margin-left:0.5em;
				}
			nav.side ul li a:hover{
				color:rgba(255,255,255,1);
				}
	nav.side ul li ul{
		display:none;
		}
	nav.side ul li.expanded ul{
		display:block;
		}
		nav.side ul li.portal{
			padding-top:1em;
			padding-bottom:1em;
			text-align:center;
			}
		nav.side ul li.portal a{
			line-height:2rem;
			height:2rem;
			padding-top:0;
			padding-bottom:0;
			padding-right:1rem;
			padding-left:1rem;
			box-sizing:border-box;
			}
			nav.side ul li.portal a:hover{
				}		
	nav.side p.contact{
		text-align:center;
		margin-bottom:1em;
		line-height:1.5em;
		}
		nav.side p.contact a{
			text-decoration:none;
			color:inherit;
			}
			
			
/* Responsive layout for <= Tablet */
@media screen and (max-width: 767px) {	
	
	body.sidenav-open #wrapper > *{
		transform:translateX(-100vw);
		}
		
	nav.side{
		right:-100%;
		width:100%;
		}
	
	body.sidenav-open #wrapper{
		display:none;
		}
	
	}