.relative {
	position: relative;
}

.absolute {
	position: absolute;
}

.mobile {
	display: none;
}

.flex {
	display: -webkit-box;      /* OLD - iOS 6-, Safari 3.1-6 */
	display: -moz-box;         /* OLD - Firefox 19- (buggy but mostly works) */
	display: -ms-flexbox;      /* TWEENER - IE 10 */
	display: -webkit-flex;     /* NEW - Chrome */
	display: flex;
	-webkit-flex-direction: column;
	-moz-flex-direction: column;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-box-orient: vertical;
	-moz-box-orient: vertical;
	-ms-box-orient: vertical;
	box-orient: vertical;
	width: 100%;
}

body {
	font-family: 'Montserrat', sans-serif;
	background-color: #949494;
}

.row {
	background-color: #fff;
}

.contentpadding {
	padding: 0px 50px;
}

.logoandtestimonial {
	-webkit-flex-direction: row;
	-moz-flex-direction: row;
	-ms-flex-direction: row;
	flex-direction: row;
}

.logoandtestimonial .logo {
	width: 35%;
	align-self: flex-end;
}

.logoandtestimonial .testimonial {
	width: 65%;
	align-self: flex-start;
	text-align: right;
	margin-top: 10px;
	margin-bottom: 50px;
	padding-left: 50px;
}

.logoandtestimonial .testimonial p {
	color: #3c4f78;
	font-size: .9em;
	font-family: 'Playfair Display', serif;

}

img.sitelogo {
	max-width: 500px;
	width: 100%;
	margin-top: 10px;
	margin-left: 20px;
}


h1.sitename {
	display: none;
}

nav {
	background-color: #3c4f78;
	height: 50px;
}

nav ul.flex {
	-webkit-flex-direction: row;
	-moz-flex-direction: row;
	-ms-flex-direction: row;
	flex-direction: row;
	-webkit-justify-content: flex-end;
	justify-content: flex-end;
	padding-right: 20px;
}

nav ul,
nav ul li {
	display: inline;
	list-style: none;
	margin: 0px;
	padding: 0px;
}

nav ul li {
	line-height: 50px;
	margin: 0px 20px;
}

nav li a {
	font-size: 1.25em;
	color: #fff;
	font-family: 'Montserrat', sans-serif;
	text-transform: lowercase;
	font-weight: 300;
}

nav li a:hover {
	color: #fff;
	border-bottom: 1px solid;
}

.headlinebackground {
	height: 300px;
	width: 100%;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center center;
}

.homebg {
	height: 500px;
	width: 100%;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center center;
}

.pagetitle {
	height: 75px;
	color: #fff;
	line-height: 75px;

}

.pagetitle.principal {
	background-color: #74948d;
}

.pagetitle.services {
	background-color: #aa5d17;
}

.pagetitle.approach {
	background-color: #62645c;
}

.pagetitle.contact {
	background-color: #5b556c;
}

.pagetitle.testimony {
	background-color: #5b556c;
}

.pagetitle h2 {
	margin: 0px;
	padding: 0px;
	line-height: 75px;
	font-family: 'Montserrat', sans-serif;
	text-transform: lowercase;
	font-weight: 200;
}

p {
	margin: 20px 50px;
}

.logoandtestimonial p {
	margin: 0px;
}

p span.lede {
	color: #aa5d17;
	text-transform: uppercase;
}

.servicescontent em {
	color: #aa5d17;
}

.servicestable {
	-webkit-flex-direction: row;
	flex-direction: row;
	text-transform: uppercase;
	margin: 0px 50px;

}

.servicestable ul,
.servicestable ul li {
	list-style: none;
	margin: 0px;
	padding: 0px;
}

.servicestable div {
	margin-right: 100px;
}

.contactcontent a {
	color: #2c2546;
}

.homecaption {
	background-color: #788a8a;
}

.homecaption p {
	padding: 5px 20px;
	color:  #fff;
	text-transform: uppercase;
	font-family: "Montserrat", sans-serif;
	margin: 0px;
	font-size: 24px;
	line-height: 30px;
}

footer {
	padding-top: 0px;
	margin-bottom: 20px;
	font-weight: 300;
}

footer > div {
	padding-top: 100px;
	padding-bottom: 20px;
}

body.home footer {
	text-align: right;
	padding-top: 0px;
	margin-top: 0px;
}

body.home footer > div {
	padding-top: 10px;
}

div.footertext {
	margin-left: 50px;
}



/*** RESPONSIVE ***/

#menutrigger,
#mobilemenu {
	z-index: 1000;
}

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

	footer {
		padding: 0px 0px;
	}
}

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

	div.footertext {
		margin: 0px;
	}

	footer > div.row > div.columns > div.footertext,
	footer > div.row > div.columns > img {
		margin: 0px 30px;
	}

	footer > div.row > div.columns > img {
		width: 50%;
	}

}

@media screen and (max-width: 600px) {
	nav ul.flex {
		padding: 0px;
		-webkit-justify-content : center;
		justify-content : center;
	}

	nav ul.flex li {
		margin-left: 0px;
	}
}

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

	.servicestable {
		-webkit-flex-direction: column;
		-moz-flex-direction: column;
		-ms-flex-direction: column;
		flex-direction: column;
	}

	.subpagehead {
		background-size: cover;
		background-repeat: no-repeat;
	}

	.approach .subpagehead { background-image: url('/assets/img/principal_background.jpg'); }
	.contact .subpagehead { background-image: url('/assets/img/principal_background.jpg'); }
	.principal .subpagehead { background-image: url('/assets/img/principal_background.jpg'); }
	.services .subpagehead { background-image: url('/assets/img/principal_background.jpg'); }
	.testimony .subpagehead {background-image: url('/assets/img/principal_background.jpg'); }

	.pagetitle h2 {
		font-weight: normal;
	}

	.desktop {
		display: none;
	}

	.mobile {
		display: block;
	}

	.row {
		background: none;
		background-color: #fff;
	}

	body.home .row {
		background: none;
	}

	div.row > div.columns {
		 padding: 0px;
	}

	body.home {
		background: none;
		background-color: transparent;
		background-image: url('/assets/img/principal_background.jpg');
		background-position: center center;
		background-repeat: no-repeat;
		background-size: cover;
	}

	body.home .homebg {
		background: none;
		background-color: transparent;
		background-image: none !important;
	}

	footer {
		background-color: #fff;
	}

	body.home footer {
		margin-bottom: 0px;
	}

	body.home footer > div,
	footer > div {
		margin-top: 0px;
		background-color: #fff;
	}

	.navigation.mobile.absolute ul.flex {
		-webkit-flex-direction: column;
		flex-direction: column;
	}

	.navigation.mobile.absolute ul.flex,
	.navigation.mobile.absolute ul.flex li {
		list-style: none;
		margin: 0px;
		padding: 0px;
	}

	.navigation.mobile.absolute ul.flex li {
		/*display: none;*/
	}

	.navigation.mobile.absolute ul.flex li:first-child {
		/*display: block;*/
	}

	img.sitelogo {
		margin: 0px;
		padding: 20px;
		padding-left: 0px;
	}

	.logoandtestimonial .logo {
		width: 100%;
		margin: 0px;
		padding: 0px 20px;
		align-self: flex-start;
		background-image: url('../img/transparent.png');
	}

	.home .logoandtestimonial .logo {
		background-image: none;
	}

	#menutrigger {
		position: absolute;
		top: 240px;
		background-color: #aa5d17;
		background-image: url('../img/navarrow.png');
		background-repeat: no-repeat;

		background-size: 40px 40px;
		padding-top: 80px;
		padding-bottom: 50px;

		width: 50px;
		height: 180px;

	}

	#menutrigger div {

		position: relative;
		top: 5px;
		left: -3px;
		font-size: 28px;
		font-weight: bold;
		text-transform: uppercase;

		color: #3d5079;

		-webkit-transform: rotate(-90deg);
		-moz-transform: rotate(-90deg);
		-ms-transform: rotate(-90deg);
		-o-transform: rotate(-90deg);
		filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);

		padding-right: 20px;
	}

	#mobilemenu {
		position: absolute;
		top: 240px;
		left: 50px;
		background-color: #aa5d17;
		width: 100px;
		height: 180px;
	}

	#mobilemenu ul {
		padding: 10px;
	}

	#mobilemenu a {
		color: #fff;
		line-height: 30px;
		text-transform: lowercase;
	}

	.mobilehomecaption {
		/*position: absolute;
		bottom: 0px;*/
	}

}

@media screen and (max-width: 414px) {
	.homebg {
		height: 370px;
	}
}

@media screen and (max-width: 412px) {
	footer {
		background-color: #fff;
	}

	footer > div {
		padding-top: 10px;
		margin-top: 10px;
	}

	.homebg {
		height: 290px;
	}

}

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

	.homebg {
		height: 290px;
	}

	footer {
		background-color: #fff;
	}

	body.home footer {
		margin-bottom: 0px;
	}

	body.home footer > div,
	footer > div {
		margin-top: 0px;
		background-color: #fff;
	}

	.mobilehomecaption {
		/*position: absolute;
		bottom: 0px;*/
	}

	.homecaption p {
		font-size: .9em;
	}

	#menutrigger {
		top: 200px;
	}

}

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

	.mobilehomecaption {
		/*position: absolute;
		bottom: 0px;*/
	}

	.homecaption p {
		font-size: .8em;
	}

}
