.header-image {
	height:400px;
	overflow:hidden;
	position:relative;
}

.header-image .media {
	width:100%;
	height:100%;
	background-size:cover;
	background-position:center center;
	opacity:0.5;
}

.header-image .title {
	position:absolute;
	bottom:0;
	width:100%;
	padding:0 0 2em 0.5em;
}

.header-image .title h1 {
	font-size:2.5em;
	font-style:italic;
	position:relative;
	letter-spacing: -.03em;
}

.header-image .title h1 a {
	color:#fff;
}

section.main {
	background-image:url('../images/background.jpg');
	background-size:250px 250px;
}

#main {
	background-image:url('../images/background.jpg');
	background-size:250px 250px;
	padding:1em 0 3em;
	position:relative;
}

aside.nav {
	position:relative;
	width:30%;
	float:left;
	background-color:#fff;
	border-radius:5px;
	box-shadow:
		0 -5px 0 #cf9930,
		0 5px 0 rgba(0,0,0,0.1);
	margin:-2em 0 4em;
}

aside.nav::before {
	position:absolute;
	display:block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 12px 10px 12px;
	border-color: transparent transparent #ffffff transparent;
	content:' ';
	top:-10px;
	left:30px;
}

aside.nav nav {
	padding:1.5em 7%;
}

aside.nav nav > ul {
	overflow:hidden;
}

aside.nav nav ul li a {
	display:block;
	color:#555;
	font-size:0.875em;
	padding:0.375em 0 0.375em 0.75em;
	position:relative;
	line-height:1.375em;
}

aside.nav nav ul li a:hover, aside.nav nav ul li.nav-path-selected > a {
	color:#cf9930;
}

aside.nav nav ul li a::before {
	content:'\203A';
	position:absolute;
	color:#cf9930;
	left:0;
	font-style: normal;
}

aside.nav nav ul li ul {
	margin:0;
	position:relative;
}

aside.nav nav ul li ul::before {
	display:block;
	position:absolute;
	content:'+';
	right:0;
	top:-1.5em;
	cursor:pointer;
	color:#cf9930;
	border:solid 1px #cf9930;
	border-radius:10px;
	width:18px;
	height: 18px;
	font-size:18px;
	line-height:.9em;
	vertical-align:baseline;
	text-align:center;
	transition:transform 300ms;
	-webkit-transition:-webkit-transform 300ms;
}

aside.nav nav ul li ul.on::before {
	content:'\2013';
	transform: rotate(-360deg);
	-webkit-transform: rotate(-360deg);
}

aside.nav nav ul li ul li {
	height:0;
	overflow:hidden;
	opacity:0;
	position:relative;
	left:-100%;
	transition:opacity 300ms, left 300ms;
}

aside.nav nav ul li ul.on li, aside.nav nav ul li.nav-path-selected ul li {
	height:auto;
	left:0;
	margin-left: 1em;
	opacity:1;
}

aside.nav nav ul li ul li a {
	text-transform: uppercase;
	font-style:italic;
	letter-spacing:0.0525em;
	font-size:0.75em;
	line
}

aside.nav nav p {
	font-family:'Montserrat';
	font-size:0.675em;
	text-transform: uppercase;
	margin:1.25em 0;
	letter-spacing: 0.05em;
}

aside.nav nav p a {
	color:#cf9930;
}

aside.nav section.footer {
	font-family:'Crimson Text' !important;
	padding:0 7% 1.5em;
	color:#555;
	font-size: 0.725em;
	line-height: 1.375em;
}

aside.nav section.footer hr {
	margin-top: -.5em;
	margin-bottom: 1.5em;
}

aside.nav section.footer h2 {
	color:#cf9930;
	font-size: 1.25em;
	margin-bottom: .5em;
}

aside.nav section.footer h3 {
	font-family: 'Montserrat';
	font-size: .8em;
	letter-spacing: .08em;
	font-weight: 400;
	text-transform: uppercase;
	margin-bottom: .5em;
}

aside.nav section.footer p {
	margin-bottom: 1em;
}

aside.nav section.footer a {
	color:#4c6894;
}

aside.nav section.footer .button a {
	padding: 1.5em !important;
	display: block;
	text-align: center;
}

aside.nav section.footer ul {
	list-style: none;
	margin-bottom: 1em;
}

aside.nav section.footer li {
	position: relative;
	padding: 0.375em 0 0.375em 0.75em;
}

aside.nav section.footer li:before {
		content:'\203A';
	position:absolute;
	color:#cf9930;
	left:0;
	font-style: normal;
}

aside.contact {
	background:#fff;
	border-radius:5px;
	box-shadow: 
		0 5px 0 rgba(0,0,0,0.1)
	;
	font-size: .8em;
	line-height: 2em;
}

aside.contact div {
	padding: 1em;
}

aside.contact a.contact-photo {
	display: block;
	float: right;
	width: 40%;
	border-radius: 5px;
	overflow: hidden;
	margin-bottom: 1em;
}

aside.contact a.contact-photo img {
	float: left;
}

#main nav.subnav {
	float:right;
	width:65%;
}

#main nav.subnav ul {
	padding:0.75em 0;
	font-family: 'Montserrat';
	text-transform: uppercase;
	letter-spacing: .03em;
	font-size: .9em;
}

#main nav.subnav ul li {
	display:inline-block;
}

#main nav.subnav ul li a {
	color:#cf9930;
	font-size:0.8em;
	display:block;
	margin:0.75em 2em 0.75em 0;
}

#main nav.subnav ul li.nav-path-selected a {
	color:#555;
}

#main .content {
	float:right;
	width:55%;
	margin:2em 0 0;
	padding-right: 10%;
}

.full #main .content {
	float:none;
	margin:2em auto;
	width:70%;
	padding:0;
}

.wide #main .content {
	float:none;
	margin:2em auto;
	width:auto;
	padding:0;
}

.image-block {
	line-height:0;
	margin-bottom: 1.5em;
}

.image-block span {
	display:block;
	font-size:0.85em;
	font-style:italic;
	line-height:1.5em;
	padding:0.75em 0.5em 0.5em;
	text-align:right;
}

.image-center {
	text-align:center;
}

.image-left {
	width:40%;
	float:left;
	margin:1em 1em 0.5em 0;
}

.image-right, aside.contact {
	width:65%;
	float:right;
	margin:1em -30% 0.5em 1em;
	position:relative;
	z-index:100;
}

.ccm-page-list {

}

.ccm-page-list p {
	font-style: italic;
}

.ccm-page-list h3 {
	margin-top: 1em;
}

@media only screen and (max-width: 1800px) {

	.image-right, aside.contact {
		margin:1em -20% 0.5em 1em;
	}
	
}

@media only screen and (max-width: 1600px) {

	.image-right, aside.contact {
		width:50%;
		float:right;
		margin:1em -10% 0.5em 1em;
	}
	
}

@media only screen and (max-width: 1400px) {

	.image-right, aside.contact {
		width:50%;
		float:right;
		margin:1em 0 0.5em 1em;
	}
	
}

@media only screen and (max-width: 1000px) {
	
	.header-image {
		height:200px;
	}
	
	.header-image .title {
		padding:0 0 1.5em 0.5em;
	}
	
	.header-image .title h1::before {
		display:block;
		position:absolute;
		right:5%;
		top:6px;
		color:#fff;
		content:'+';
		font-style:normal;
		border:solid 1px #fff;
		border-radius:24px;
		width:26px;
		font-size:26px;
		line-height:24px;
		padding-bottom:2px;
		text-align:center;
		cursor:pointer;
		transition: all 300ms ease-in-out;
	}
	
	.full .header-image .title h1::before, .wide .header-image .title h1::before {
		display:none;
	}
	
	.header-image .title h1.on::before {
		background-color:#fff;
		color:#000;
		content:'\2013';
		transform: rotate(-360deg);
		-webkit-transform: rotate(-360deg);
	}
	
	aside.nav {
		float:none;
		position:absolute;
		opacity:0;
		height:0;
		width:92%;
		top:0;
		overflow:hidden;
		transition:top 600ms, opacity 600ms;
	}
	
	aside.on {
		overflow:visible;
		height:auto;
		opacity:0.95;
		top:-1.5em;
	}

	aside.nav nav {
		padding:1.5em 4%;
	}
	
	#main nav.subnav {
		float:none;
		width:auto;
	}
	
	#main .content, .full #main .content {
		width:auto;
		float:none;
		font-size:0.9em;
		padding:0;
	}
	
@media only screen and (max-width: 760px) {
	
	.image-block span {
		text-align:center;
	}
	
	.image-left, .image-right {
		float:none;
		width:auto;
		margin:1em 0;
	}
	
}
