@charset "utf-8";
/* CSS Document */

/*Layout Declarations*/
html {
	height:100%;
}
body {
	background: none repeat scroll 0 0;
	font-family: nort, sans-serif;
	font-weight: 400;
	font-size: 18px;
	color: #3f484c;
	line-height:1.5;
	margin: 0;
}
body.no-scroll {
        overflow:hidden;
}
img {
    max-width: 100%;
    height:auto;
}
p {
	margin-top:0px;
	margin-bottom:24px;
}
p:last-child {
	margin-bottom:0;
}
a {
	outline:none;
	position:relative;
	color:#2279af;
	font-weight:700;
    text-decoration:underline;
}
a:hover	{
	color:#;
    text-decoration:underline;
}
.contentWrapper {
	width:1250px;
	margin:0px auto;
	max-width:90%;
	position:relative;
}
.main-content {
	text-align:center;
	padding-top:50px;
	padding-bottom:50px;
}
.main-content.template2 {
	display:flex;
	justify-content:space-between;
}
.main-content.template2 > div {
	width:45%;
}
.main-content.template2 .bodymid {
	text-align:left;
}
.main-content.template2 .bodymid h1:after, 
.main-content.template2 .bodymid .underscore:after {
	margin-left:0;
}
.subheading, .breadcrumbs {
	font-weight: 400;
	font-size: 20px;
	color: #026ca6;
	text-transform: uppercase;
	letter-spacing: 0.2px;
	text-align: left;
}
.breadcrumbs  {
	font-size:16px;
	position:relative;
}
.breadcrumbs a {
	text-decoration:none;
	font-weight:inherit;
}
.template2 .breadcrumbs {
	position:absolute;
	top:-35px;
}
.breadcrumbs a:hover {
	text-decoration:underline;
}
h1, h2, h3, h4, h5 {
	line-height: 1.2;
	margin:0;
	padding-bottom:10px;
	font-weight: 700;
	color: #091c58;
	text-align: inherit;
}
h1 {
	font-size: 40px;
}
h1:not(:empty):after, .underscore:not(:empty):after {
	content:"";
	display:block;
	width:100px;
    margin-left: calc((100% - 100px) / 2);
	margin-top:10px;
	margin-bottom:25px;
	border-bottom:4px solid #d91f40;
}
.p_index .top-wrapper h1:after {
	margin-left:0;
}
h2 {
	font-size: 36px;
}
h3 {
	font-size: 32px;
}
h4 {
	font-size: 24px;
}
h5 {
 	font-size: 20px;
	text-transform:uppercase;
}
.highlight {
	color:#38b549;
}
.button {
	font-weight: 700;
	font-size: 24px;
	line-height:1.2;
	color: #ffffff;
	text-transform: uppercase;
	background-color: #d91f40;
	border: 2px  solid #d91f40;
	text-align: center;
	letter-spacing: 0.2px;
	border-radius:0px;
	cursor:pointer;
	display:inline-block;
	margin-bottom:15px;
}
a.button, a.button:visited {
	color:#fff;
	text-decoration:none;
}
a.button, .button a {
	display:inline-block;
	vertical-align:middle;
	color:#fff;
	text-decoration:none;
	padding:10px 20px 8px 20px;
}
input[type=text], input[type=email], input[type=password],
select, textarea {
	border:1px solid #ccc;
	border-radius:0;
	padding:15px 5px;
	line-height:1.2;
	font-family:inherit;
	width:calc(100% - 10px);
	background:#fff;
	color:#3f484c;
	margin-bottom:10px;
}
select {
	-webkit-appearance:none;
	width:100%;
	
}
input.button {
	padding:5px 20px;
	-webkit-appearance:none;
}
.blue.button {
	border-color:#4193ba;
	background-color:#4193ba;
}
.outline.button {
	background:#fff;
	color:#d91f40;
}
.blue.outline.button {
	color:#4193ba;
}

.template3 .fromcms {
	padding-right:0;
}
header {
	border-top:10px solid #f2f2f2;
}
header .top-wrapper {
	display:flex;
	justify-content:space-between;
	align-items:center;
}
header .logo {
	padding:30px 0;
}
header .logo svg {
	width:250px;
	max-width:100%;
}
header .headerRight {
	width:calc(100% - 270px);
}
header .headerRight .content p {
	margin-bottom:5px;
}
header .headerRight .content, header .bottom-section {
	font-weight: 700;
	font-size: 17px;
	color: #004179;
	text-align: right;
}
header .bottom-section {
	text-align:center;
	color:#fff;
	margin-top:40px;
}
header .headerRight .content .button,
header .bottom-section .button,
.call.button {
	position:relative;
	padding-left:55px;
}
header .headerRight .content .button::before,
header .bottom-section .button::before,
.call.button::before {
	content:"";
	display:inline-block;
	position:absolute;
	left:0;
	top:0;
	background-color:#990012;
	width:46px;
	height:100%;
}
header .headerRight .content .button::after,
header .bottom-section .button::after,
.call.button::after {
	content:"";
	display:inline-block;
	position:absolute;
	left:10px;
	width:26px;
	height:100%;
	background-image:url('/images/icon-phone-2x.png');
	background-size:contain;
	background-repeat:no-repeat;
}
header .headerRight .content {
	text-align:right;
}
input.blur,textarea.blur {
	color:#999;
}
.p_index .editIconImage {
	margin-left:0 !important;
}
.p_index .bodymid .top-wrapper {
	padding-bottom:50px;
}
.p_index .bodymid .top-wrapper .fromcms {
	width:45%;
}
.p_index .top-wrapper .photo {
	width:50%;
	background-size:100% auto;
	background-repeat:no-repeat;
}
.top-wrapper .photo .fancypage {
	position:absolute;
	right:0;
}
.highlightBox {
	position:relative;
	background-color: #f2f2f2;
	width: 100%;
}
.highlightBox::before {
	content:"";
	display:block;
	height:12px;
	width:100%;
	position:absolute;
	left:0;
	box-shadow: inset 0px 12px 12px -12px rgba(1, 1, 54, 0.5);
}
.highlightBox .contentWrapper {
	padding-top:45px;
	padding-bottom:40px;
}
.highlightBox .top-section .content:empty {
	padding-bottom:20px;
}
.footerTop {
	background:#0b6099;
	padding:25px 0px;
}
.footerTop .button {
	box-shadow: 0px 0px 8px 0px rgba(9, 28, 88, 0.4);
}
.footerTop .content {
	font-weight: 700;
	font-size: 42px;
	color: #ffffff;
	text-align: left;
	text-shadow: 0px 0px 10px rgba(9, 28, 88, 0.60);	
}
.footerTop ul {
	list-style:none;
	margin:0;
	padding-left:0px;
}
.footerTop li {
	text-transform:uppercase;
	display:inline-block;
}
.footerTop li > div:after {
	content:"/";
	display:inline-block;
	padding:0px 5px 0px 10px;
}
.footerTop li:last-child > div:after {
	display:none;
}
.footerTop a, .footerTop a:visited {
	color:inherit;
	text-decoration:none;
}
.footerBottom {
	padding:20px 0px;
	background:#091c58;
}
.footerBottom .content *, .footerBottom .bottom-links {
	font-weight: 400;
	font-size: 13px;
	color: #ffffff;
}
.footerBottom .bottom-links {
	margin-top:20px;
}
.footerBottom a, .footerBottom a:visited {
	font-weight:inherit;
}
.footerShare {
	float:left;
	vertical-align:top;
	padding-left:6%;
}
#content_footer {
/*	width:65%;
	float:left;
*/
}
.footerlink {
	padding:0px 1px;
}
.footerlink a {
	text-decoration:none;
	color:inherit;
}
footer .addthis_toolbox a {
	padding-right:7px;
}
.footerLinksRight {
	float:right;
}
form label {
	display:inline-block;
	width:110px;
	text-align:right;
	padding-right:5px;
}
form label.wider {
	width:auto;
}
.bodymid .top-wrapper {
	display:flex;
	justify-content:space-between;
}
.fromcms ul {
	margin:0;
	padding:0;
}
.fromcms li {
	list-style-position:inside;
}
.bodymid > ul {
	display:table;
	margin:0px auto;
	text-align:left;
}
.contactform input.button {
	width:auto;
}
.twocol {
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
}
.twocol > div {
	width:49%;
}
.contactform textarea {
	height:80px;
}
.alert {
	color:#990000;
	font-weight:bold;
}
table td {
	vertical-align:top;
}
body .fancybox-outer {
}
body .fancybox-skin {
	padding:20px !important;
}
.fancybox-image {
	height:auto !important;
}
.search li {
	margin-bottom:10px;
}
.btcheck {
	display:none;
}
/* ---------------------------------------------------------------- */
/* HOVER MENU */
/* ---------------------------------------------------------------- */
nav ul, nav ul li {
        list-style:none;
        margin:0;
        padding:0;
}
nav {
	background-color: #091c58;
	width: 100%;
}
nav .main-nav__menu {
        display:flex;
        justify-content:space-between;
}
nav .main-nav__menu ul {
    display:none;
    position:absolute;
    background-color:#2279af;
	border-top:4px solid #d91f40;
    top:100%;
    text-align:center;
    width:230px;
	z-index:100;
}
nav .main-nav__menu > li:last-child > ul {
        right:0;
}
nav .main-nav__menu ul ul {
        left:100%;
        top:0;
	margin-top:-3px;
}
nav .main-nav__menu li:hover > ul,
nav .main-nav__menu li.hover > ul,
nav .main-nav__menu li.open > ul {
        display:block;
}
nav .main-nav__menu li.closed > ul {
        display:none !important;
}
nav li {
	color: #ffffff;
	font-weight: 700;
	font-size: 1.5vw;
	text-transform: uppercase;
	text-align:center;
}
nav li a {
    padding:12px 10px;
    position:relative;
    display:block;
	text-decoration:none;
	color:inherit;
}
nav .main-nav__menu ul li {
	text-transform:none;
	font-weight:normal;
	font-size:15px;
}
nav .has-sub li a {
        padding:6px 20px;
}
nav li a:hover {
    color:rgba(255,255,255,.9);
	text-decoration:none;
}
nav .main-nav__menu ul li a:hover {
        color:#fff;
        background:#072f59;
        opacity:1;
}
nav .main-nav__menu ul li a.call.button {
	font-size: 22px;
	position: relative;
}
nav .main-nav__menu ul li:last-child a.call.button {
	top: 15px;
}
/* ---------------------------------------------------------------- */
/* ---------------------------------------------------------------- */
/* ---------------------------------------------------------------- */

/* ---------------------------------------------------------------- */
/* Slideshow */
/* ---------------------------------------------------------------- */
.slideshow {
        position:relative;
		height:560px;
}
.interior .slideshow {
	height:340px;
}
.slideshow .slide_viewer, .slideshow .slide_group,  .slideshow .slide {
	height:100%;
}
/*.slideshow .slide .ratio {
        width:100%;
        padding-top:42%;
}*/
.slideshow .slide {
        width:100%;
        background-size: cover;
    background-position: top;
    background-repeat: no-repeat;
}
.interior .slideshow .slide {
        background-position:center;
}
.slideshow .slide:not(:first-child) {
        display:none;
}
.slideshow .slide > a {
        position:absolute;
        top:0;bottom:0;left:0;right:0;
        width:100%;
        height:100%;
        cursor:pointer;
        z-index:20;
}
.slideshow .rslides_nav {
	position:absolute;
	top:45%;
	z-index:100;
}
.slideshow .rslides_nav.prev {
	left:30px;
}
.slideshow .rslides_nav.next {
	right:30px;
}
.carousel-caption {
}
.carousel-caption .wrapper {
	position:absolute;
	top:100px;
	width:50%;
}
.carousel-caption .heading {
	font-weight: 700;
	font-size: 52px;
	color: #ffffff;
	line-height: 1.19;
	text-align: left;
	text-shadow: 0px 0px 10px rgba(9, 28, 88, 0.60);
	margin-bottom:30px;
}
.main-header-image {
        position:relative;
}
.sidePhotos img {
	display:block;
	width:100%;
	margin-bottom:15px;
}
.navPhotos {
	display:flex;
	justify-content:center;
	flex-wrap:wrap;
}
.projects.navPhotos {
	margin-top:40px;
}
.navPhotos .photo {
	background-size:cover;
	background-position:center center;
	background-repeat:no-repeat;
}
.navPhotos .photo::after {
	content:"";
	display:block;
	width:100%;
	padding-top:67%;
}
.navPhotos .item {
	position:relative;
	width:30%;
	margin:0 1.5% 40px 1.5%;
	display:flex;
	flex-direction:column;
}
.navPhotos .item.status-hidden {
	opacity:.4;
}
.navPhotos .item:nth-child(3n+1) {
	background-color:#2279af;
}
.navPhotos .item:nth-child(3n+2) {
	background-color:#0b6099;
}
.navPhotos .item:nth-child(3n+3) {
	background-color:#004179;
}
.navPhotos h4  {
	font-weight: 700;
	font-size: 26px;
	color: #ffffff;
	line-height: 1.1;
	text-transform: uppercase;
	text-align: center;
}
.navPhotos h4:after {
	content:"";
	display:block;
	width:100px;
    margin-left: calc((100% - 100px) / 2);
	margin-top:25px;
	margin-bottom:25px;
	border-bottom:4px solid #ffffff;
}
.navPhotos .line2 {
	font-weight: 400;
	font-size: 20px;
	color: #ffffff;
	text-align: center;
	text-transform: uppercase;
}
.p_index .navPhotos .line2, .navPhotos .line2.lower {
	text-transform:none;
}
.navPhotos .textContainer {
	text-align:center;
	padding:15px;
}
.navPhotos .item > a {
	color:inherit;
	text-decoration:none;
}
.p_index .navPhotos .textContainer {
	padding:25px;
}
/* ---------------------------------------------------------------- */
/* ---------------------------------------------------------------- */
/* ---------------------------------------------------------------- */

/* ---------------------------------------------------------------- */
/* Initial Responsive styles */
/* Call first on page to help loading (e.g hide elements until they've moved )*/
/* ---------------------------------------------------------------- */
body {
    max-width:100%;
}
iframe {
    max-width: 100%;
}
.video iframe {
    max-width: 90%;
}
.innerWrapper, #innerContent {
    max-width:100%;
    position:relative;
}
.menu-button {
    display:none;
}
.mobileonly {
    display:none;
}
.fromcms table {
	table-layout:fixed;
	width:100%;
}
.fancybox-wrap{
    max-width:90%;
}
.mobileshare {
	display:none;
}
.table {
	display:table;
	table-layout:fixed;
}
table td {
	vertical-align:top;
}
table td[valign=middle] {
	vertical-align:middle;
}
.button {
	-webkit-appearance:none;
}
body .ui-widget.ui-widget-content {
	z-index:10000 !important;
}
body .mce-container {
	max-width:100%;
}
/* Full Desktop */
@media (min-width : 1250px) {  
	nav li {
		font-size:20px;
	}
}
@media (min-width : 768px) and (max-width: 1249px) {
	.navPhotos h4 {
		font-size:2.5vw;
	}
}
/* Small Tablet + Mobile */
@media (max-width : 767px) {  
	.mobileonly {
		display:block !important;
	}
	span.mobileonly {
		display:inline-block !important;
	}
    .nomobile {
        display:none !important;
    }
	header .logo {
		width:65%;
		padding-bottom:10px;
	}
	.p_index .fromcms {
		width:auto;
		padding-top:0;
	}
	.p_index .main-content{
		text-align:left;
	}
	.carousel-caption .wrapper {
		width:70%;
	}
	.slideshow .button {
		margin-left:0;
		width:auto;
		display:inline-block;
	}
	.fromcms, .bodymid {
		padding-right:0;
	}
	.sharefloat {
		display:none;
	}
	body {
		font-size:16px;
		line-height:1.75;
	}
	.main-content.template2 {
		flex-wrap:wrap;
	}
	.main-content.template2 > div {
		width:100%;
	}
	.main-content.template2 .bodyright {
		margin-top:40px;
	}
    header .nav-wrapper nav {
            display:none;
    }
    header .nav-wrapper.open nav {
		display:block;
		position:fixed;
		width:100%;
		left:0;
		top:140px;
		height:calc(100vh - 140px);
		margin:0px auto;
		overflow: auto;
		-webkit-overflow-scrolling: touch;
		background-color:#091c58;
		z-index:3000;
    }
	header .nav-wrapper .main-nav > .contentWrapper {
		padding-bottom:20vh;
		max-width:100%;
	}
    header nav .container > ul {
            height:auto;
    }
    header nav .container {
            display: flex;
        flex-direction: column;
    }
    header .nav-wrapper.open .main-nav__menu {
            padding-top:40px;
            display:block;
        flex-grow: 1;
    }
	.has-sub > span {
		display:flex;
		position:relative;
	}
	.has-sub.open > span {
		background:#243d96;
	}
	nav li, nav .main-nav__menu ul li {
		font-size:24px;
		text-align:left;
	}
    nav .main-nav__menu ul {
            position:static;
    }
    nav .main-nav__menu > li > a {
            top:auto;
            transform:none;
    }
    nav .main-nav__menu > .has-sub {
            margin-right:0;
    }
    nav .main-nav__menu ul {
            width:100%;
            border:none;
            box-shadow:none;
            padding-left:20px;
            padding-top:0;
        background: none;
        color: inherit;
    }
    nav .main-nav__menu li.has-sub > ul {
            display:none !important;
    }
	nav .main-nav__menu li.has-sub.open > ul {
            display:block !important;
			text-align:left;
			padding-left:0;
    }
	nav .main-nav__menu li.has-sub.open > ul > li {
		padding-left:20px;
	}
    header .logo-nav {
            display:block;
            position:static;
    }
    header .logo-nav .nav-wrapper {
            text-align:left;
        position: relative;
        top: 0;
    }
    nav li > a, nav li > div, nav .has-sub ul li a, .has-sub > span > a {
            display:block;
            padding:12px 20px 12px 30px;
    }
    .has-sub {
		position:relative;
    }
	nav .has-sub > span a {
		flex-grow:1;
	}
    .open.menu-button .line:nth-child(1) {
		transform: rotate(45deg);
    }
    .open.menu-button .line:nth-child(2){
            display:none;
    }
    .open.menu-button .line:nth-child(3) {
		transform: rotate(135deg);
	    transform-origin: top;
	    position: relative;
	    top: -6px;
    }
	.toggleSub {
		padding:10px 20px;
	}
	.toggleSub::after {
		display:block;
		content:"+";
	}
	.open > .toggleSub::after {
		content:"-";
	}
    .main-header-image {
            padding-top:0;
    }
    header .logo-nav .logo {
        width: calc(100% - 60px);
        max-width:240px;
        padding:20px 15px;
        position: relative;
        z-index: 300;
    }
    .contentWrapper table:not(.noCollapse) {
	      display:block;
	      max-width:100% !important;
	      width:100% !important;
	      height:auto !important;
	}
	.contentWrapper table:not(.noCollapse) td, .contentWrapper table:not(.noCollapse) tr, .contentWrapper table:not(.noCollapse) tbody {
		display:block;
		width:auto !important;
		height:auto !important;
		padding:0 !important;
	}
    .contentWrapper table:not(.noCollapse) td:not(:last-child) {
	      margin-bottom:20px;
	}
	.subheading {
		font-size: 16px;
	}
	h1 {
		font-size:28px;
	}
	h2 {
		font-size:20px;
	}
	h3 {
		font-size:18px;
	}
	h4 {
		font-size:16px;
	}
	h5 {
		font-size:15px;
	}
    .menu-button {
		cursor:pointer;
		position:relative;
		z-index:6000;
    }
    .menu-button .line {
        width:55px;
        border-bottom:6px solid #243d96;
        margin-bottom:6px;
    }
	.navPhotos {
		flex-wrap:wrap;
	}
	.navPhotos .item {
		width:100%;
		margin-left:0;
		margin-right:0;
		margin-bottom:35px;
	}
	header {
		border-top-width:6px;
	}
	header .top-wrapper {
		flex-wrap:wrap;
	}
	header .headerRight {
		width:100%;
		order:3;
	}
	header .headerRight .content {
		text-align:center;
	}
	.footerTop li > div:after {
		display:none;
	}
	footer {
		margin:0px auto;
	}
	.footerBottom {
		text-align:center;
	}
	.bodymid .top-wrapper  {
		flex-direction:column;
	}
	.p_index .bodymid .top-wrapper .fromcms, 
	.bodymid .top-wrapper .photo {
		width:100%;
	}
	.bodymid .top-wrapper .photo {
		margin-top:40px;
	}
	.bodymid .top-wrapper .photo::after {
		content:"";
		display:block;
		width:100%;
		padding-top:88%;
	}
	.slideshow {
		height:220px;
	}
	.interior .slideshow {
		height:170px;
	}
	.button, a.button {
		display:block;
		width:calc(80% - 40px);
		margin-left: auto;
		margin-right: auto;
		position:relative;
	}
	.fromcms li {
		list-style-position: outside;
		margin-left: 20px;
	}
	.carousel-caption .heading  {
		font-size: 22px;
		margin-bottom:15px;
	}
	.carousel-caption .button {
		font-size:14px;
	}
	.carousel-caption .wrapper {
		top:30px;
	}
	.slideshow .rslides_nav {
		display:none;
	}
	.footerTop .content {
		font-size:34px;
		line-height:1.23;
		text-align:center;
	}
	.footerTop .button {
		font-size:20px;
	}
	.footerBottom .content * {
		text-align:center !important;
	}
	.footerBottom .content span {
		display:block;
	}
	.breadcrumbs {
		position:relative;
		top:-20px;
	}
	.template2 .breadcrumbs {
		position:relative;
		top:-20px;
	}
	.twocol > div {
		width:100%;
	}
    /* reduce layout shift during font load */
    html:not(.wf-active) h1 {
            letter-spacing:0px;
			font-size:27.9px;
    }

}
